一. Python的基础语法

#!/usr/bin/python3
 
print("Hello, World!")

关于脚本第一行的 #!/usr/bin/python 的解释,相信很多不熟悉 Linux 系统的同学需要普及这个知识,脚本语言的第一行,只对 Linux/Unix 用户适用,用来指定本脚本用什么解释器来执行。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
print( "你好,世界" )

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入# -*- coding: UTF-8 -*-或者# coding=utf-8就行了
如果大家在学习过程中,代码中包含中文,就需要在头部指定编码。
注意:

  1. # coding=utf-8 的 = 号两边不要空格。
  2. Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
  3. 如果你使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8,否则会出现类似以下错误信息:

Python 标识符:

  1. 标识符由字母、数字、下划线组成。
  2. 可以包括英文、数字以及下划线(_),但不能以数字开头。
  3. 区分大小写
  4. 以下划线开头的标识符是有特殊意义的。
  • 以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能from xxx import * 而导入。
  • 以双下划线开头的__foo 代表类的私有成员,以双下划线开头和结尾的 __foo__代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

行和缩进:
Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用

多行语句:
Python语句中一般以新行作为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

total = item_one + \
        item_two + \
        item_three

语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Python注释:
单行注释采用 # 开头
多行注释使用三个单引号(’’’)或三个双引号(""")

输入:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

raw_input("按下 enter 键退出,其他任意键显示...\n")

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,但不建议。
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号

print x,
print y,

二. Python的简单使用

变量类型:

Python 中的变量赋值不需要类型声明。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
允许同时为多个变量赋值,如:a = b = c = 1a, b, c = 1, 2, "john"

标准数据类型:

Numbers(数字)
 String(字符串)
 List(列表)
 Tuple(元组)
 Dictionary(字典)

1. 数字

不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
当你指定一个值时,Number对象就会被创建:

var1 = 1
var2 = 10

也可以使用del语句删除一些对象的引用。

del var
del var_a, var_b

数字类型:

int(有符号整型)
 long(长整型[也可以代表八进制和十六进制])
 float(浮点型)
 complex(复数)

2. 字符串

由数字、字母、下划线组成的一串字符。

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

可以使用[头下标:尾下标]来截取相应的字符串,其中下标是从 0 开始算起。获取的子字符串包含头下标的字符,但不包含尾下标的字符。

加号(+)是字符串连接运算符,星号(*)是重复操作。

print str * 2       # 输出字符串两次
print str + "TEST"  # 输出连接的字符串

3. 列表

支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表用[ ] 标识

列表中值的切割也可以用到变量[头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
list = [ 'eunice', 2, 'jess', 69 ]
print list[1:3]      # 输出第二个至第三个元素

4. 元祖

元组是另一个数据类型,类似于 List(列表)。

元组用()标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

元组是不允许更新的。而列表是允许更新

5. 字典

列表是有序的对象集合,字典是无序的对象集合。

字典当中的元素是通过来存取的,而不是通过偏移存取。

字典{ }标识。字典由索引(key)和它对应的值value组成。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print dict['one']          # 输出键为'one' 的值
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值

6. 数据类型转换

只需要将数据类型作为函数名即可

例如:

float(x)   #将x转换到一个浮点数
str(x)     #将对象 x 转换为字符串
tuple(s)   #将序列 s 转换为一个元组
list(s)    #将序列 s 转换为一个列表

三. 运算符

1. 算术运算符

加减乘除,取余
** :返回x的y次幂 a**b为 a 的 b 次方
// : 返回商的整数部分(向下取整) 9//2为4 ;-9//2为-5

2. 位运算符

&:按位与运算符,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

|:按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

^:按位异或运算符:当两对应的二进位相异时,结果为1

~:按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1

<<:左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。

>>:右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数

3. 逻辑运算符

and:x and y
如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

or:x or y
如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

not:not x
如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

4. 成员运算符

in: 如果在指定的序列中找到值返回 True,否则返回 False。

not in:如果在指定的序列中没有找到值返回 True,否则返回 False。

5. 身份运算符

is:is 是判断两个标识符是不是引用自一个对象。x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。

is not:is not 是判断两个标识符是不是引用自不同对象。x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。