内置函数
abs绝对值 print(abs(-1))===》1
all 所有的布尔值都是True为True,If the iterable is empty, return True.
print(all([1,2,-1,""]))===》False,print(all([0,""]))===》False
any 任一布尔值为True则为True
bytearray
bytes 字符串转换成字节
# 定义一个变量,字符串保存到内存上unicode,硬盘上自己选择编码,编码最终结果是二进制 #中文utf-8对应3个字节 #编码 name="你好" print(bytes(name,encoding="utf-8"))####b'xe4xbdxa0xe5xa5xbd' #解码,用什么编码就用什么解码,默认解码是utf-8 # ascii不能编中文 print(bytes(name,encoding="utf-8").decode("utf-8"))####你好
chr print(chr(97))####a
all 打印对象下有哪些方法,打印名字,print(dir(all))####
divmod
#商和余数,eg:分页,一页有3条记录,还剩1条在单独一页
print(divmod(10,3))####(3, 1)
eval
#eval()将字符串中数据结果提取出来
express="1+2*(3/3-1)-2"
print(eval(express))###-1.0
hash 可hash的数据类型即不可变数据类型,不可hash的数据类型即可变类型
hash是一种算法,得出哈希值,1.不管字符串长度多少,得出的哈希值长度是固定的;2.不能根据得到的哈希值反推;3.变量不变,hash值不变
判断软件被篡改过程。网上下载一款软件,连同软件哈希值提供给对方,下载到本地用hash算法对软件进行hash校验,若hash值是一样,则意味着未被修改,安全
print(hash("32444333333333333344444"))####-2091919439
help print(help(all))#打印具体方法
bin、hex、oct
print(bin(10))#10进制->2进制###0b1010
print(hex(10))#10进制->16进制###0xa
print(oct(10))#10进制->8进制###0o12
isinstance print(isinstance(1,int))##True,判断是不是这个类型
globals,打印全局变量
name="近段时间发货单" print(globals())####打印全局变量 #{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0074D250>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/pujialou/PycharmProjects/python_day10_1/day1-/16.py', '__cached__': None, 'name': '近段时间发货单'} name="近段时间发货单" def test(): name="颜值高" # print(globals()) print(locals()) test() #结果 #{'name': '颜值高'}
zip 拉链方法,传值为序列(列表、元组、字符串)
#位置从前往后,若没有对应值则不输出
print(list(zip(("a","b","c"),(1,2,3))))####[('a', 1), ('b', 2), ('c', 3)]
p={"name":"alex","age":18,"gender":"none"} print(list(zip(p.keys(),p.values()))) ####[('name', 'alex'), ('age', 18), ('gender', 'none')]
print(list(zip(["a","b"],"124546")))####[('a', '1'), ('b', '2')]
max和min
1.只要可以迭代就可以使用;2.每个元素从左往右进行比较;print(max("a11","b3","c2")),输出结果是c2;3.不同类型不可进行比较,eg:max("a11","b3",10)会报错
li={"age1":10,"age2":50,"age3":60,"age4":20} print(max(li.values()))####60 print(max(li))####age4
#取值最大年龄及年龄值 li={"age1":10,"age2":50,"age3":60,"age4":20} print(max(zip(li.values(),li.keys()))) #(60, 'age3')
li=[(5,"a"),(1,"b"),(3,"u"),(4,"d")] print(list(max(li)))####[5, 'a']
整理:
#1、简单使用 l=[1,2,-100,33] print(max(l))####33
#字典 dic={"age1":18,"age2":10} #比较keys print(max(dic))####age2 #,比较values,但是不知道是哪个keys print(max(dic.values()))####18 #有keys,values print(max(zip(dic.values(),dic.keys())))####(18, 'age1')
#max可以传处理方法,people进行for循环,取出每一个元素给lambda取处理,lambda给出返回值让max去比较
#max(people)表示比较每一个字典,会报错;目前要比较的是age对应的值,故把每个字典取出来,取age对应的values
#max(people,key=lambda p:people["age"])
print(max(people,key=lambda dic:dic["age"]))
#相当于
# ret=[]
# for item in people:
# ret.append(item["age"])
#结果
# {'name': 'alex', 'age': 100}
print(pow(2,3))#相当于2**3=8 print(2**3) print(pow(2,5,3))##相当于2**5%3=2 print(2**5%3)
l=[1,2,3,4] #反转 print(list(reversed(l)))#[4, 3, 2, 1] #四舍五入 print(round(3.5))#4 #字典 print(set("get1"))#{'t', 'e', '1', 'g'}
l="hello" s1=slice(3,5) s2=slice(1,4,2) print(s2.start) print(s2.step) print(s2.stop) ##1 # 2 # 4
# 排序,本质就是在比较大小,在同类型间比较;max是取最大值 l=[1,2,4,3,6] print(sorted(l))#[1, 2, 3, 4, 6] #根据年龄排序 people=[ {"name":"alex","age":18}, {"name": "alex1", "age": 60}, {"name": "alex4", "age": 43}, {"name": "alex2", "age": 50}, ] #for循环people,依次返回值放在sorted位置 print(sorted(people,key=lambda dic:dic["age"])) name={ "alex":200, "yangzi":300, "jinmi":100 } #默认按照keys排序 print(sorted(name)) #['alex', 'jinmi', 'yangzi'] print(sorted(name.values())) #[100, 200, 300] # for循环name, # print(sorted(name,key=lambda key:name[key])) print(sorted(zip(name.values(),name.keys()))) # [(100, 'jinmi'), (200, 'alex'), (300, 'yangzi')]
#转换成字符串 print(str("1"))#1 print(type(str({'a':1})))#<class 'str'> #转换成字典 dic_str=str({'a':1}) print(type(eval(dic_str)))#<class 'dict'>
l=[1,2,3,4] print(sum(l)) print(sum(range(5)))
type使用
# type的应用 msg='123' if type(msg) is str: msg=int(msg) res=msg+1 print(res) # 124
vars
# vars()没有参数与locals相同,有参数时,查看某一个对象下所有的方法都写成字典模式 def test(): msg="香蜜沉沉烬如霜" print(locals()) print(vars()) test() # {'msg': '香蜜沉沉烬如霜'} # {'msg': '香蜜沉沉烬如霜'} print(vars(int))
import的使用
#新建test.py文件,输入以下代码: def say_hi(): print("锦觅")
#新建testo.py文件,输入以下代码,调用test.py # import 导入一个模块,一个py文件就是一个模块 import test test.say_hi()
#锦觅
#__import__,针对文件名是字符串格式,使用import报错,import不能调用字符串;import在运行时去调用操作系统,操作系统协助去找到__import__ module_name="test" m=__import__(module_name) m.say_hi() # 锦觅