- 基础语法
- 基本数据类型
- 运算符
基础语法
编码
默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码
标识符
1.第一个字符必须是字母表中字母或下划线 _ 。
2.标识符的其他的部分由字母、数字和下划线组成。
3.标识符对大小写敏感。
在 Python 3 中,非 ASCII 标识符也是允许的了。
保留字
标准库提供了一个keyword模块可以输出当前版本的所有关键字:
import keyword
keyword.kwlist
注释
Python中单行注释以#开头
多行注释可以用"""和’’'围住
缩进
Python利用缩进来表示代码块而无需大括号{}
注意:缩进的空格数可变,但同一个代码块的语句必须包含相同的缩进空格数
if True:
print()
else:
print()
python通过反斜杠来实现多行语句
str = s+\
t+\
r
注意:[],{},()中的多行语句无需反斜杠
Number和String类型
python中的数字有四种类型:
整数int,布尔型bool,浮点数float和复数complex
String类型须知:
1.python中字符串由单引号或双引号括起;
2.字符串中可以添加转义字符也可以在字符串前使用r取消反斜杠的转义如:
r'我是第一行\n'会显示\n而不换行
3.String字符串按照字面意义级联字符串:
'我''是''谁'会被自动转换为'我是谁'
4.字符串可以用+运算符连接,也可以用*运算符重复
5.字符串有两种索引方式,从左往右以0开始或者从右往左以-1开始
用户输入
input()方法用于用户输入,返回值为文本字符串
基本数据类型
python中的变量无需声明,不过每个变量在使用前必须赋值
注意:变量赋值之后才会被创建
变量就是变量,没有类型,所说的类型是变量所指的内存中对象的类型
等号(=)用来给变量赋值
多个变量赋值
a=b=c=1 创建一个整型对象,值为1,从后向前赋值
a,b,c=1,2,'string' 分别对a,b,c赋值1,2,'string'
标准数据类型
python3中有6个标准的数据类型
- Number数字
- String字符串
- List列表
- Tuple元组
- Set集合
- Dictionary字典
其中
不可变数据:Number,String,Tuple
可变数据:List,Set,Dictionary
序列(sequence):List,Tuple,String
标准序列操作:索引[index],切片[start,end,step],乘法*,成员资格检查 in,长度len(),最小值和最大值
查询变量所指对象类型
内置的type()函数和isinstance()函数可以查询变量所指的对象类型
a= 52
type(a) //结果<class 'int'> 一个参数
isinstance(a,int)//结果True 两个参数:比较a和int是否类型一致
区别:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
A和子类B
isinstance(B(),A) //返回True
type(B())==A //返回False
python3中True和False是关键字 本身的值是1和0,可以和数字相加
del语句可以删除一些对象引用
del var1[,var2[,var3]]
数值运算:
加法+,减法-,乘法*
除法/得到一个浮点数,除法//得到一个整数
取余%,乘方**:2**3=8
注意:混合计算时,整型会转换成浮点数
序列的截取:
变量[头下标:尾下标:步长]
str[0:-1] 截取第一个到倒数第二个的所有序列元素即不包括索引-1的元素
str[0:] 截取第一个到最后所有的元素
列表list:[]
元组tuple:()
元组只有一个元素需要在元素后添加逗号tup=(10,)
集合set:set() {...} 注意空集合必须是set()
无序
允许使用成员测试in
集合中重复的元素会被自动去掉
集合可以进行集合运算:
a-b a和b的差集
a|b a和b的并集
a&b a和b的交集
a^b a异或b
字典dictionary:{}
无序的键(key):值(value)的集合,key必须使用不可变类型且同一个字典key唯一
python数据类型转换
int(x[,base]) 将x转换为一个整数
str(x)
chr(x) 将一个整数转为一个字符
ord(x) 将一个字符转为它的整数值
repr(x) 将对象x转为表达式字符串
float(x)
eval(str) 计算在字符串中有效的表达式并返回一个对象
complex(real[,imag]) 创建一个复数
list(s) 将序列s转换为一个列表
tuple(s)
set(s)
dict(d) 创建一个字典,d必须是一个序列(key,value)元组
运算符
python支持以下类型的运算符:
- 算术运算符
+ - * / % ** //
- 比较(关系)运算符
== 等于 比较对象是否相等 != 不等于 对象是否不等 >,< 大于,小于 注意:所有比较运算符返回1表示真,返回0表示假这与True和False等价 >=,<= 大于等于,小于等于
- 赋值运算符
= += -= *= /= %= **= //=
- 逻辑运算符
and 布尔与 or 布尔或 not 布尔非
- 位运算符
& 按位与运算符 | 按位或运算符 ^ 按位异或运算符 ~ 按位取反运算符 << 左移动运算符 >> 右移动运算符
- 成员运算符
in 在指定序列中找到值返回True否则False not in
- 身份运算符
is 判断两个标识符是不是引用自一个对象 x is y ,类似id(x)==id(y),如果引用的是同一个对象则返回True,否则返回False 注意:id()函数用于获取对象内存地址 is not
is与==的区别:
is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等