写代码的方式:面向过程--》函数式编程--》面向对象编程
.isdigit()
可以使用字符串str的isdigit方法判断字符串是否是一个仅有数字组成,也就是整数
isinstance(name,list)
返回是否是什么类型,True,False
a.split(","3) 只能劈开字符串
s2 = s.copy() #浅copy,只copy第一层
import copy
s3 = copy.deepcopy(s) #深copy有,
*args 可以接受任意个数的位置参数,并将参数转换成元组,只能用位置传参
**kwargs 可以接受任意个数的关键字参数 ,并将参数转换成字典
实参带*() 括号内整体传进去
子作用域中只能找到父级中的值,默认无法重新为父级的变量进行赋值(global/nonlocal可以强制做)
nonlocal 找到上一级的进行修改
全局变量大写
lambda(匿名函数)只能做一些简单的
def func(a1+a2):
return a1+a2
func = lambda a1,a2:a1+a2 后面是一个return的值
func(1,2) 和调用平常函数一样
func = lambda : 100 直接return一个100
func = lambda *args,**kwargs: len(args) + len(**keargs)
func = lambda n1,n2:n1 if n1 >n2 else n2 (匿名函数+三元运算)
bool是Boolean的缩写,只有真(True)和假(False)两种取值
eval() 函数用来执行一个字符串表达式,并返回表达式的值 eval("1+2")
输入输出
print()
input()
强制转换
dict() list() tuple() int() str() set() bool()
数学相关
abs() 取绝对值 float() 转成浮点型(小数) max() 找到最大值 min()找到最小值
sum() 求和 divmod() 两数相除,取商和余数 float()浮点数
pow() v = pow(2,3)求次方
round() v = round(1.127,2) 保留小数点后几位
进制转换
bin 转换成二进制
oct 转换成八进制
int 转换成十进制
hex 转换成十六进制
都是从十进制开始转
一个字节等于八位 10100110
其他
len()
range()
id()
type()
open()
编码相关
chr() 将十进制数字转换成Unicode编码中的对应字符串
ord() 根据字符在Unicode编码中找到其对应的十进制
高级函数
map
第一个参数:必须是一个函数
第二个参数:必须是可迭代类型(可被for循环)
func = map(lambda x:x**2,[1,3,4,6,])
print(list(func)) #或者for 循环打印出来
map() 循环每个元素(第二个参数),然后让每个元素执行函数(第一个函数),
并将每个函数执行的结果保存到新的列表中,并返回
filter过滤
v1 = [1,2,3,'asdf','sfd'] 只取整数
result = fiter(lambda x: True if type(x)==int else False,v1)
print(list(result))
result = filter(lambda x: type(x)==int,v1)
print (list(result))
reduce加起来
import functools
result=functools.reduce(lambda x,y:x+y,v1)
print(result)
有无返回值
str
strip返回字符串
split返回列表
replace返回字符串
join返回字符串
list
append 无
insert 无
pop 返回要删除的数据
remove 无
find/index 返回索引的位置
dict
get keys values items
chr() ascll码
函数可以做变量
def func()
pass
v1 = func
v1()
v2 = [func,func,func]
v2[1]()
函数可以做参数
def func(arg)
arg()
def show()
return show
v1 = func(show)
函数也可以返回
def func():
def inner():
pass
return inner
v = func() #v就是inner的内存地址,v()就可以执行inner函数
函数内部执行相互之间不会混乱
执行完毕+内部元素不被其他人使用 =》销毁
闭包:为函数创建一块区域并为其维护自己的数据,以后执行时方便调用
应用场所:装饰器、SQLAlchemy源码
def func(name):
def inner():
print(name)
return inner
v1 = func('zcy')
v1()
高阶函数
把函数当作参数传递
把函数当作返回值
函数也可以返回
递归函数:
自己调用自己 (效率低)
def func():
print(1)
func()
func()