Python 3.6
Python的基础语法
1.1 程序结构
缩进分级
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,还要保证相同的缩进方式。
注意:最好使用空格。每一层向右缩进4个空格。
换行问题
1.程序代码超过一行
在每一行的末尾添加反斜杠\,继续下一行
注意:每个行末的反斜杠之后不添加注释文字。
如果是以()、[ ]、{ }包含起来的语句,不必使用反斜杠就可以直接分成数行。
2.将数行表达式写成一行
在每一行结尾添加分号;
x=2;y=3;z=4
代码注释
#单行注释
"""
多行注释
"""
'''
多行注释
'''
1.2 Python 的输入和输出
接收键盘输入
input("输入提示语:")
输入的数据以字符串形式返回,如需输入数值,必须进行类型转换
输出结果处理
print(value,sep='',end'\n')
print("输出信息",sep='*',end='>')
参数含义:
value用户输出信息
sep多个输出信息之间的分隔符,默认一个空格符
end所有输出信息之后添加的符号,默认换行
end"" 实现不换行
输出内容既包含字符串又包含变量值,需要将变量值格式化处理。
print(" x=%d"%x)
1.3 变量
可以直接声明变量名称,不必声明变量类型,python会自动判别
Python中的变量不必声明。
在使用前必须赋值,变量赋值后才会被创建。
在Python中,变量就是变量,没有类型。
a=b=c=100
a=1;b=2;c=3
a,b=100,"略略略"
1.4 标志符与保留字
- 第一个字符必须是字母表中字母或下划线 _ 。
- 标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感。
- 在 Python 3中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。
1.5 简单的数据类型
数字类型
python中数字有四种类型:整数、布尔型、浮点数和复数。
int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
bool (布尔), 如 True。
float (浮点数), 如 1.23、3E-2
complex (复数), 如 1 + 2j、 1.1 + 2.2j
注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加,。
>>> True==1
True
>>> False==0
True
>>> True+1
2
>>> False+1
1
字符串类型
- Python 中单引号 ’ 和双引号 " 使用完全相同。
- 使用三引号(‘’’ 或 “”")可以指定一个多行字符串。
- 转义符 \。
- 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n 会显示,并不是换行。
- 按字面意义级联字符串,如 "this " "is " “string” 会被自动转换为 this is string。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
- Python 中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
word = '字符串 '
sentence = "句子 "
paragraph = """ 可以多行的段落 """
#字符串的截取语法格式:变量【头下标:尾下标:步长】
str = '123456789'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print('---------------------')
print('hello\nworld') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nworld') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
这里的 r 指 raw,即 raw string,会自动将反斜杠转义
数据类型的相互转换
1.转换成整数
int(3.6)
2.转换成小数
float(1)
3.转换成字符串
str(23)
1.6 Python 结构数据类型
集合(Sets)
无序不重复元素的集 :构成集合的事物或对象称作元素或是成员。
大括号 { } 或者 set() 函数创建集合
主要功能:自动清除重复的元素、进行成员关系测试
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
print(sites) # 输出集合,重复的元素被自动去掉
创建一个空集合必须用 set()
a=set()
列表(List)
完成集合类的数据结构
方括号 [] 之间、用逗号分隔开
元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:变量[头下标:尾下标]
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
元组(Tuple)
有序对象的集合
小括号 () 里,元素之间用逗号隔开
元组的元素不能修改。
可以使用数字索引
元组对象不可以新增、修改和删除
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
字典(Dictionary)
内置数据类型
使用大括号将元素列出
字典是一种映射类型
元素由无序的 键(key) : 值(value)组成。
键值必须是字符串、数值或元组,必须使用不可变类型。
数值可以是任何数据类型。
列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
在同一个字典中,键(key)必须是唯一的。
语法格式:
字典变量={关键字1:值1,关键字2:值2,…}
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
1.7 运算符和优先级
(1)算术运算符
(2)比较运算符
(3)赋值运算符
(4)逻辑运算符
(5)位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13二进制格式如下:
a = 0011 1100
b = 0000 1101
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
(6)成员运算符
(7)身份运算符
(8)运算符的优先级
运算符 | 描述 | 优先级 |
---|---|---|
** | 指数 (最高优先级) | 最高 |
~、+ 、- | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@,通俗理解为正、负) | |
*、/、%、// | 乘,除,求余数和取整除 | |
+ 、- | 加号 、减号(至少2个数或者变量的) | |
>> 、<< | 右、左移运算符(位运算) | |
& | 位 ‘AND’(两个都为1,才为1) | |
^、I | 位运算符 | |
< 、 <= 、> 、>= | 比较运算符 | |
== 、!= | 等于运算符 | |
= 、%=、/=、 //=、 -=、 += 、*= 、**= | 赋值运算符 | |
is 、is not | 身份运算符 | |
in 、 not in | 成员运算符 | |
not 、and、 or | 逻辑运算符 | 最低 |