初级操作(可补充)
- 下载安装python3(官网)
- 打开IDLE
- 初始:
>>> print("I love you.")
I love you.
control+n
显示下一条/第一条语句
control+p
显示上一条语句
- python的内置函数BIF(build-in functions)
查看bir(__builtins__)
中小写的
help(某BIF) #可以查看改BIF的功能和用法
- 变量
- 变量使用之前要先赋值
- 变量名可以包括字母、数字、下划线,no数字开头
- py区分大小写
- 等号(=)是赋值的意思,左名字右值
- 字符串
- 引号(单引号双引号皆可,但必须要成对)内的一切
- 字符串中出现引号——用转义字符()
>>>print('Let\'s go!')
Let's go!
- 原始字符串r
>>> str = r'C:\now'
>>> str
'C:\\now'
自动添加转义字符
- 长字符串
三引号
- 条件分支
- 语法:
if 条件:
条件为true执行的操作
else:
条件为false执行的操作
- and 逻辑操作符
可以连接任意表达式并得到一个布尔类型的值
同真则为真 - 比较运算符
- random 模块
- 先导入,再使用
- random.randint(a,b)表示随机生成一个在[a,b]范围内的整数
>>> import random
>>> random.randint(1,200) #获取一个1~200之间的整数
126
- py的数字类型
- 整型——可计算范围大
- 浮点型——不精确
可以使用decimal模块实现浮点数的精确计算
>>> import decimal
>>> a = decimal.Decimal('0.1') #实例化一个对象
>>> b = decimal.Decimal('0.2')
>>> print(a + b)
0.3
科学计数法
>>> 0.0000005 5e-07
- 复数
>>> x = 1 + 2j #实部+虚部
>>> x
(1+2j)
>>> x.real #得到实部
1.0
>>> x.imag #得到虚部
2.0
- py支持的数字运算
x//y:地板除即取比目标结果小的最大整数
>>> 7 //3
2
>>> -7 // 3
-3
abs(x):
实数:取绝对值
复数:取模(a+bj -> 根号下a方+b方)
int(x) : 转为整数[截肢]
float(x) : 转为浮点数
complex(re,im) : 转为复数
pow(x,y) : x的y次方
pow(x,y,z) : x ** y % z
x ** y:x的y次方
-
布尔值
-
True / False
-
结果为零的所有可能
1⃣️ 定义为False的对象:
None,False
2⃣️ 值为0的数字类型:
0,0.1,0j,Decimal(0),Fraction(0)[分子为0,分母为1的分数]
3⃣️ 空的序列或集合:
‘’,(),[],{},set(),range(0) -
逻辑运算符
- and
- or
- not
短路逻辑:
只给出影响结果的关键词
优先级:not > and > or
- 列表
- 创建列表:
1⃣️ 普通:
>>> number = [1,2,3,4,5]
2⃣️ 混合:
>>> mix = [1,2,3,'nihao',2.3,[66,666,6666]]
3⃣️ 空:
>>> empty = []
- 添加元素
列表名.append(x) #只能添加一个元素
列表名.extend([x,y]) #可以添加多个元素,但要以列表的形式添加
列表名.insert(a,x) #把x插入到第a个位置上
- 从列表中获取元素
列表名[索引值]
- 从列表删除元素
列表名.remove(x) #从列表中删除元素x
del 列表名[a] #从列表中删除索引值为a的元素
#不加索引表示删除整个列表
列表名.pop(a) #从列表中弹出索引值为a的元素
#pop()表示弹出最后一个元素
- 列表分片
列表名[a:b] #从原列表中拷贝出第 a~b-1 的元素
列表名[:b] #从原列表中拷贝出第 0~b-1 的元素
列表名[a:] #从原列表中拷贝出第 a~最后 的元素
列表名[:] #原列表的拷贝
区别分片复制和等号直接复制:
分片(即用上述第四行的方法)是复制到新地址,内容不随原列表的改变而改变
等号直接复制只是再给原列表了一个名字,内容会随着原列表的改变而改变
- 列表的常用操作符
1)比较操作符
若是字符串,则从前往后依次比较
2)逻辑操作符
3)连接操作符
+ 要求左右两边的类型相同
4)重复操作符
*
5)成员关系操作符
in/ont in
- 列表的常用方法
列表名.reverse() #翻转列表
列表名.sort() #从小到大排序
#.(reverse = True) -> 从大到小排序
列表名.count(x) #计算列表中x元素出现的次数
列表名.index(x) #计算x元素在列表中的索引值(第一次出现的位置)
列表名.index(x,a,b) #计算x元素在[a,b]范围中的索引值(第一次出现的位置)
- 元组turple
关键在逗号
内容不可改变
- 创建和访问一个元组
>>> 8 *(8) #无逗号,仅表示数字
64
>>> 8 *(8,) #有逗号,表示元组【一个元素的时候一定要加括号和逗号】
(8, 8, 8, 8, 8, 8, 8, 8)
分片与列表相同
-
更新和删除一个元组
利用切片间接地更新 -
字符串的方法及注释
转自小甲鱼 -
字符串的格式化
- 序列
- 列表、元组和字符串的共同点
1)可以通过索引得到每一个元素
2)默认索引值从0开始
3)可以通过分片得到一个范围内的元素的集合
4)有很多共同的操作符(拼接操作符、重复操作符、成员关系操作符) - 方法
max() #求最大最小值
min() #要求配型一致
sum() #求和
#sum(iterable,a) 从索引值为a开始求和
sorted() #排序(默认从小到大)
reversed() #返回迭代器的编码
#可用list(reversed(interable))实现翻转
enumerate() #可用list(enumberate(interable))实现返回一个由(下标,元素)组成的元组
zip(a,b) #用list转
#[(a[0],b[0]),(a[1],b[1]),...]