@[枭]
Python第二课
今天讲解了Python的
内置函数
模块导入
序列----列表
切片操作
内置函数
①
divmod(x,y)
用法:x,y=divmod(a,b)
其中x返回值a//b,y返回值a%b
②
map(func,*iterablies)
用法:map(int,x)
#输入x=‘1,2,3’,输出为挨个输出1,2,3
①和②有个例子:
用①的方法可以这样写:
x=int(input("请输入一个三位数:"))
a,b=divmod(x,100)
b,c=divmod(b,10)
print(a,b,c)
用②的方法可以这样写:
a,b,c=map(int,x)
print(a,b,c)
③
len(obj)
用法:返回列表、元组、字符串、对象的长度
e.g. 若字符串s=‘a\nb\tc’,则len(s)的值为() 5
这里\n是换行符,\t是制表符,都是字符
④
id()
用法:查某值的内存地址
特别注意:Python只会对[-5,256]的整数进行缓存,这其中的变量共用同一个值的内存空间
⑤
ord()和chr()
用法:ord()返回单个字符的Unicode码
chr()返回Unicode码对应的字符
e.g. ord(‘A’) #65
chr(65) #‘A’
⑥
max()、min()
用法:max()返回元素中的最大值,min()返回最小值
e.g.
x=['21','1234','9']
max(x)
print(x)
返回的值是9,因为字符位数不同是位数依次比较
用key参数可以指定比较规则
e.g.
max(['aa',b],key=len)
返回’aa’
⑦
range()
用法:循环调用
完整的语法应为
range(start,stop,step)
区间为左闭右开,start默认为0,step默认为1
e.g.
list(range(9,0,-2))
返回[9,7,5,3,1],步长为负时start要大于stop
模块导入
①
import 模块名
常用
e.g.
import math
math.sin(0.5)
这里是求sin0.5的值
②
from 模块名 import 对象名
不常用
from math import sin
sin(3)
这里是求3的正弦值
③
__name__属性
如果脚本作为模块被导入
则其“name”属性的值被自动设置为模块名;
如果脚本独立运行
则其“name”属性值被自动设置为“main”。
序列
列表
有序且可变,元素类型可不相同
转化列表函数
list()
列表的增加和删除
增加
‘+’、append()、extend()、insert()
用’+'会新增一个列表
用’append()'是在原来的列表中增加,地址会变
用’extend()'是采用拼接的方式,地址不变
用’insert(要插入的位置,要插入的元素)'是把元素插入指定位置,地址不变
删除
del
切片操作
[ 开始:结束:步长]
默认从0开始步长为1一直到最后
e.g.
alist=[3,4,5,6,7,9,11,13,15,17]
alist[: : -1]
输出[17,15,13,11,9,7,6,5,4,3]
alist=[3,4,5,6,7,9,11,13,15,17]
alist[0:100:1]
输出[3,4,5,6,7,9,11,13,15,17],这里自动截断
但如果是alist[100:],会报错,因为开始不可能是第100个数
索引
类似数组,从0开始依次计数