官方文档
https://docs.python.org/zh-cn/
环境安装
python3.9
-
命令
python3 -V
- python3 test.py
rpel
注释
- 变量定义
- a=1
- b=2
- a,b =1,2
- 变量值交换
- a,b = b,a
- 获取对象内存地址
- id()
- pass 不起作用,只是代码占位,通常用于todo
- input(tips) 获取用户输入
- quit() /exit()
- print
- print() # 空行
- print(‘ ‘ , end=” “) # 结尾符号是空格
range
-
字符串str
‘a’
- “a”
- 多行字符串 ‘’’ 这里是多行字符串,会保留换行等格式 ‘’’ ,直接使用就是注释,被变量接收则是多行字符串
- 如果字符串中有 \n \t 等符号,直接使用引号print时会解释符号,如果需要字面格式可使用r修饰,如下
- r”这里就不会有换行了\n,试试看吧”
- 字符串拼接时如果有变量可以用{} 直接引用并用f 修饰(format),类似’this is {var} string’.format(var)
-
数字类型
int
- 521
- -111
- 0x10 #十六进制
- float
- 3.14
complex
True
-
列表类型list
l = [ element1 , element2 , e3 ]
- l[2]
-
元祖tuple
不可变的list
- vart = (e1, e2 , e3)
- vart = e1,e2,e3 # 不同于多个变量定义的前面会有多个变量接收,如果只有一个变量接收多个值就是tuple
- vart[2]
区别list
-
集合set
无序且不重复
- vars = { 1, 2, 3, 5, }
- vars = set(‘1235’)
- 定义空集合只能使用set(), {}会优先被处理成dict
- 1 in vars # True
常用于运算交集、并集、差集、对称集合
s1 = {1, 2, 3, 'a', 'b'}
s2 = {1, 22, 'a', 'bb'}
print(s1 & s2) # 交集 {1, 'a'}
print(s1 | s2) # 并集 {1, 2, 3, 'a', 'bb', 22, 'b'}
print(s1 - s2) # 差集 {2, 3, 'b'}
print(s1 ^ s2) # 对称集合,并集后去除交集的元素 {2, 3, 'b', 22, 'bb'}
特殊类型
字节bytes
bs=b’00010001’
-
区域range
ra= range(0,10)
-
数据类型转换
自动转换
123 + True # 124
- 两个不同类型的值运算时,结果会向更高精度的类型进行转换
-
强制转换
str()
- int()
- float()
- bool()
- list()
- tuple()
- dict()
- 列表可以转换为字典,要求列表是个二维列表,且每个元素是只有两个元素的列表
- n = [[‘a’,1] , [‘b’,2] , [‘c’,3] ]
- 元祖可以转换为字典,要求元祖是个二维元祖,且每个元素是只有两个元素的元祖
- n = ((‘a’,1) , (‘b’,2 ) , (‘c’,3) )
-
运算符
算术运算符
+
- -
- *
- /
- %
- ** 幂运算
-
字符串运算符
字符串 + 字符串 是字符串的拼接
- 字符串 + 数字 报错
-
赋值运算符
=
- +=
- -=
- *=
- /=
- %=
- **=
-
比较运算符
==
- !=
- >
- <
=
- <=
-
逻辑运算符
and
- or
-
位运算符
进制转换
- 十进制数字转为二进制 bin()
- 任意进制转为十进制 int()
- &
- |
- ~ 按位取反
- ^ 按位异或
- << 按位左移
其他运算符
成员运算符
- in
- not in
- 身份运算符
vars = ‘123456789’ for i in vars: print(i)
for i in range(1,10): print(i)
break
continue
pass
```