条件表达式
三元操作符
small = x if x
断言(assert)
assert称为断言,当关键字后面的条件为假时候,出现自动崩溃并抛出AssertionError的异常
如
```assert 3>4 # 会抛出AssertionError的异常,当我们要确保程序中某个条件一定为真才能让程序正常工作时可以使用
for循环
favor = "cicarius"
for i in favor:
print(i,end=" ")
break 终止并退出
continue 中止本轮循环并开始下一次循环
range()
range(start,stop,step=1)
start,step可选,step默认为1
list(range(5)) # [0,1,2,3,4] 不包含5
for i in range(2,9)
print(i)
# 2,3,4,5,6,7,8 包含2不包含9
创建列表
member = ['Make','Jake','Joe','Sam']
number = [1,2,3,4,5]
mix = [1,2,3.21,'Kaste','Max',2.34] #混合列表
empty = [] # 空列表
len(member) #长度
列表的append()
member.append('Charle') # 添加新一个数组,append方法属于member的方法
列表的extend()
member.extend(['Xiaomi','Kou']) # 以列表形式使用extend追加多个元素
列表的insert()
member.insert(1,'牡丹') #排在第二位
获取元素
member[0] #获取元素
列表的remove()
member.remove('删除')
del
del member
列表的pop()
name = member.pop() # 有返回值
member.pop(1)
列表分片Slice(获取多个元素)
member[1:3] # 从第2个开始到第3个元素
member[:3] # 从开头到第3个元素
member[1:]
two = member[:] # 元素拷贝
列表元素的比较
list1=[123]
list2=[234]
list1>list2 # False
list3=[123,456]
list3>list2 # False,只比较第一个元素
list4=list1+list2 # 类型一致
list3*3 # 复制3编
# [123, 456, 123, 456, 123, 456]
in包含
123 in list3 # True
'KK' not in list3 # False
list5 = [123,['Jake','Max'],898]
'Jake' in list5 # False
'Jake' in list5[1] # True 遍历二维数组中的元素
list5[1][1] # 访问二维数组中的元素
dir(list) list中的函数
['add', 'class', 'contains', 'delattr', 'delitem', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'gt', 'hash', 'iadd', 'imul', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'reversed', 'rmul', 'setattr', 'setitem', 'sizeof', 'str', 'subclasshook', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
列表中的count
list3.count(123) # 123在列表中出现次数
列表中的index
list3.index(123) # 123第一次出现的序列
list3.index(123,3,7) # 123在指定位置出现的序列
列表中的reverse
list3.reverse() # 列表的反转
列表中的sort
list6 = [4,2,5,1,9,23,32,0]
list6.sort() # 从小到大排序
list6.sort(reverse=True) # 从大到小排序
list7=list6[:] # 拷贝,list6修改llist7不变
list8=list6 # 墙头草,多一个指向 list6变换list8也跟着变
元组
元组不可改变,使用括号
tuple1=(1,2,3,4,5,6,7,8,9)
tupe1[1]
tupe1[2:]
tupe1[:5]
tuple2 = tupe1[:]
元组的标志是逗号
temp=(1,)
temp=()
temp=1,2,3
8 * (8) # 64 整型
8 * (8,) # (8, 8, 8, 8, 8, 8, 8, 8) 元组
元组的更新
temp = (1,2,3,4,5)
temp = temp[:2]+('Jake',)+temp[2:]
del temp 删除
字符串
str1='I love IT'
str1[:6] # 分片'I love'
str1[5] # 字符串截取
插入字符
str1 = str1[:3]+"插入字符串"+str1[3:]
字符串的capitalize()
str2 = 'xiaoxie'
str2.capitalize() # 首字母大写 Xiaoxie
字符串的casefold()
str2 = 'XIAOXIE'
str2.casefold() # 把整个字符串的所有字符改为小写
center(width) 将字符串居中,并使用空格填充至长度width的新字符串
str2 = '居中'
str2.center(50)
字符串的count(sub,start,end) 返回sub在字符串里出现的次数,start,end表示范围
str2 = 'hellojake'
str2.count('e') # e出现2次
字符串的encode(encoding='utf-8',errors='strict')
字符串的endswith(sub,start,end) 检查字符串是否以sub字符串姐视,如果是返回True,否则返回False,start和end参数可选,表示范围
字符串的find(sub,start,end) 检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1
字符串的index(sub,start,end) 与find方法一样,不过如果sub不在string中会产生一个异常(ValueError: substring not found)
字符串的isnumeric() 如果字符串中只包含数字字符,返回True,否则返回False
字符串的isspace() 如果字符串中只包含空格,则返回True,否则返回False
字符串的isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
字符串的isalpha() 如果字符串至少有一个字符并且所有字符都是字母数字则返回True,否则返回False
字符串的join(sub) 以字符串作为分隔符,插入到sub中的额所有字母之间
str='hello'
str.join('123') # '1Hello2Hello3'
字符串的ljust(width) 返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串
字符串的lower() 转换字符串中所有大写字符为小写
字符串的lstrip() 去掉字符串在左边所有空格
字符串的partition(sub) 找到字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回('原字符串','','')
str='I love IT'
str.partition(' ')
# ('I', ' ', 'love IT')
字符串的replace(old,new,count) 把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次
str='I love IT'
str.replace('IT','Girl')
字符串的split(sep=None,maxsplit=-1) 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的字符串拼接的列表
str="I love IT"
str.split()
# [ 'I', 'love', 'IT']
字符串的strip(chars) 删除字符串前边和后边所有的空格,chars参数可以定制删除字符
字符串的translate(table)
str="sssasss"
str.translate(str.maketrans('s','b')) # 转换后 bbbabbb
格式化
"{0} love {1}.{2}".format("I","IT","com")
"{a} love {b}.{c}".format(a="I",b="IT",c="com") # 关键字写法
"{0} love {a}.{b}".format("I","a=IT",b="com") # 序号在前,关键字在后
# 错误写法"{a} love {1}.{2}".format(a="I","IT","com") # 关键字必须在序号之后(positional argument follows keyword argument)
如果打印出{0}
"{{0}}".format("不打印") # 结果为{0}
四舍五入
"{0:.1f}{1}".format(26.678,"GB") # 27.7GB
字符串格式化符号含义
符 号 说 明
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化定点数,可指定小数点后的精度
%e 用科学计数法格式化定点数
%E 作用同%e
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值大小决定使用%f或%e
'%c' % 97 # 'a'
'%c %c %c' % (97.98,99) # 'a' 'b' 'c'
'%s' % 'I love IT' # 'I love IT'
'%d + %d = %d' % (4,5,4+5) # '4 + 5 = 9'
'%e' % 27.658 # 2.765800e+01
'%E' % 27.658 # 2.765800E+01
格式化操作符辅助指令
符号 说明
m.n m是显示的最小总宽度,n是小数点后的位数
- 用于左对齐
在正数前面显示加号(+)
在八进制前面显示('0o'),在十六进制前面显示'0x'或'0X'
0 显示的数字前面填充'0'取代空格
'%5.1f' % 27.658 # '27.7'
'%.2e' % 27.658 # '2.77e+01'
'%#o' % 10 # 0o12
'%#X' % 108 # 0X6C
'%05d' % 5 # '00005'
'%+05d' % 5 # '+0005'
'%-+05d' % 5 $ '+5 ' 左对齐,显示正号,占据五个宽度
字符串转义字符含义
符号 说明
' 单引号
" 双引号
\a 发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符
\v 纵向制表符
\r 回车键
\f 换页符
\o 八进制数代表的字符
\x 十六进制数代表的字符
\0 表示一个空字符
\ 反斜杠
序列的常用函数
list() 把一个可迭代对象转换为列表
str()
len()
max() 返回序列或者参数集合中的最大值,类型一致
min() 返回序列或者参数集合的最小值, 类型一致
sum(iterable,start=0) 返回序列iterable和可选参数start的总和
sorted()
reversed() 返回值是迭代器对象
enumerate()
number=(123,455,22,456,63)
list(enumerate(number))
# [(0,123),(1,455),(2,22),(3,456),(4,63)]
zip()
a=[1,2,3,4,5,6,7,8]
b=[4,5,6,23,44]
list(zip(a,b))
# [(1,4),(2,5),(3,6),(4,23),(5,44)]
函数
函数文档
def MyFuncion(name):
'函数定义过程中的name是叫形参' # 函数文档
# 因为只是一个形式,表示占据一个参数的位置
print('传递进来的'+name+'叫做实参,因为是具体的参数值')
#### 文档输出方法1 ####
MyFuncion.__doc__
# 打印效果:'函数定义过程中的name是叫形参'
#### 文档输出方法2 ####
help(MyFuncion)
关键字参数
def SaySome(name,words):
print(name+'->'+words)
SaySome(words="I love U",name="KK")
收集参数
def test(*params,esp):
print('参数的长度是:',len(params))
print('第二个参数是:',params[1])
print('esp为:',esp)
test("jake","max",esp=8)
函数可以有多个返回值,默认统一为一个元组形式
def back():
return 1,'jack','max';
局部变量与全局变量
函数内部形成一个与外部相同的参数old_price,并且离开函数后就失去效果,为局部变量
def change(old_price):
old_price=50 # 局部变量
print("函数内部:old_price = ",old_price)
return old_price*0.8
old_price=100 # 全局变量
change(old_price)
print("函数外部:old_price = ",old_price)