Python(1990)基础知识
※写在前面
IDLE常用快捷键:
浏览历史命令(上一条)Alt + P
浏览历史命令(下一条)Alt + N
重启shellCtrl + F6
打开python帮助文档F1
添加缩进Ctrl + [
删除缩进Ctrl + ]
添加注释Alt + 3
删除注释Alt + 4
- 常用库以及模块:
random库(标准库)
turtle库(标准库)
time库(标准库)
itertools模块(标准库)
calendar库(标准库)
math模块(标准库)
fractions模块(标准库)
collections模块(标准库)
JSON模块(标准库)
unittest模块(标准库)
string库(标准库)
jieba库(第三方库)
pyinstaller库(第三方库)
wordcloud库(第三方库)
NumPy库(第三方库)
编译和解释
编译:将源代码一次性转换成目标代码的过程。
解释:将源代码逐条转换成目标代码同时逐条运行的过程。
对比
静态语言与脚本语言
- 静态语言:使用编译执行的编程语言(一次性生成目标代码,优化充分,运行快)
C/C++、java - 脚本语言:使用解释执行的编程语言(需要源代码,维护更灵活)
Python、javascript、PHP
Unicode
默认使用utf-8编码
Python文件读写机制会对utf-8编码的文件进行自动编码和解码,若原本正常的文件出现乱码,则可能使用的是其他编码。
保留字
数制
整数(无取值范围限制)
- 十进制:1010,99,-217
- 二进制:0b010,-0B101
- 八进制:0o123,0O456
- 十六进制:0x9a,-0X89
输出格式’#'的作用:
>>> "{:b}".format(42)
'101010'
>>> "{:#b}".format(42)
'0b101010'
>>> "{:g}".format(42)
'42'
>>> "{:#g}".format(42)
'42.0000'
浮点数(取值范围数量级)
浮点数间运算存在不确定尾数
>>> 0.1 + 0.2 == 0.3
False
>>> round(0.1+0.2,1) == 0.3
True
round(x,d) 对x进行四舍五入,d是小数截取位数
科学计数法:
< a > e < b > 表示 a*10b
4.3 e -3 表示0.0043
9.6 e 5 表示960000.0
** 除法运算中 // 与 / 的区别
/ 除法
// 整除 —— 针对浮点数计算时,存在不确定尾数,结果向下取整**
>>> 1 / 10
0.1
>>> 10 / 3
3.3333333333333335
>>> 1 // 10
0
>>> 10 // 3
3
>>> 10 // 3.0
3.0
>>> 1 // 0.1
9.0
>>> 1 // -0.1
-10.0
>>> from decimal import Decimal
>>> print(Decimal(0.1))
0.1000000000000000055511151231257827021181583404541015625
>>> print(Decimal(0.3))
0.299999999999999988897769753748434595763683319091796875
复数
类型间混合运算,生成结果为“最宽”的类型
(窄)整数<浮点<复数(宽)
-
获得共轭复数
>>> a = 1 - 2j >>> a.conjugate() (1+2j)
数值运算函数
-
abs()
>>> abs(-10.1) 10.1
-
divmod()
>>> divmod(10,3) (3, 1)
-
pow() —— pow(a,b,c)👉(a**b)%c
>>> pow(2,10) 1024 ------------------ >>> pow(2,10,1025) 1024 >>> pow(2,10,1023) 1
-
round()
“四舍五入”:大于5才进位>>> round(4.55,1) 4.5 >>> round(4.56,1) 4.6
-
max()
>>> max(1,9,5,3,4) 9 >>> max(1,2.3,4+1j) Traceback (most recent call last): File "<pyshell#11>", line 1, in <module> max(1,2.3,4+1j) TypeError: '>' not supported between instances of 'complex' and 'float'
-
min()
类似上 -
sum()
>>> sum([1,2]) 3 >>> sum([1,2,4.5,6.3]) 13.8 >>> sum([1,2,4.5,6.3,1 + 1j]) (14.8+1j)
-
int(x[,base=10])
>>> int(123.123) 123 ---------------- >>> int("123") 123
int()可以将整数字符串转化为整数。将浮点数转化为整数
但不能将浮点数字符串转化为整数!>>> int('3') 3 >>> int(3.2) 3 >>> int('3.2') Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> int('3.2') ValueError: invalid literal for int() with base 10: '3.2'
-
float()
>>> float(123) 123.0 ---------------- >>> float("123.123") 123.123
-
complex()
>>> complex(4) (4+0j)
数值类型的判定
```python
>>> a = 1.1
>>> type(a) == float
True
>>> type(a) == int
False
>>> type(1 + 1j) == complex
True
```