Python基础之内置函数
一、内置函数
内置函数是python里自带可直接使用的函数,到python3.6共提供里68个内置函数
内置函数分6大板块:
基础数据类型:38
作用域相关:2
迭代器生成器:3
其他:12
反射:2
面向对象:9
# 作用域 基础字典形式获取变量和全局变量 globals() # 获取全局变量的字典 locals() # 执行笨方法命名空间内的局部变量的字典
# 将字符串类型代码执行并返回结果 print(eval("1-3-4-5+43+432")) # 将字符串代码执行 exec("print('aaa')") # input输入内容 x = input("Please enter:") print(x) # 打印进度条 import time for i in range(0, 101, 2): time.sleep(0.1) x = i // 5 # 打印*的个数 # \r 是把光标移动到行首但不换行 a = "\r%s%% : %s\n" % (i, "*" * x) if i == 100 else "\r%s%%:%s" % (i, "*" * x) print(a, end=" ", flush=True)
# id() #返回一个变量的内存地址 # hash() #返回一个可hash变量的可哈希值,不可hash的变量会报错 x = (1,2,3) y = [1,2,3] print(hash(x)) print(hash(y)) #列表是不可被hahs的
文件操作open打开一个文件,返回一个文件操作符
# 倒入一个模块 import time os = __import__("os") print(os.path.abspath("."))
# help用于查看函数或模块使用帮助 help(print)
# callable()判断一个函数名是否能被调用,返回True为可调用,反之 def x(): pass y = 111 print(callable(x)) print(callable(y))
# dir()查看全局空间内属性,也可接收一个参数,查看这个参数的方法或变量 print(dir(list)) print(dir(str))
# bool 将给定的数据转换成bool值,否则返回False # int将给定的数据转换成int值,否则返回0 # float将给定的数据转换成float值 就是小数 # complex创建一个复数,第一个参数为实部,第二个为虚部.或第一个参数直接用字符串描述复数 print(abs(-4123)) #返回绝对值 print(divmod(203,43)) #返回商和余数 print(round(234.3423,2)) #保留两位小数,四舍五入 print(pow(5,2)) #求第一个数的次幂 print(sum([23,234])) #求和,里面参数可迭代对象 print(min(234,234,4)) #求最小值 print(max(23,23,2435)) #求最大值
# list是将一个可迭代对象转换成列表 # tuple将一个可迭代对象转还成元组 # reversed()将一个序列反转,返回序列迭代器 x = reversed("1234567") #内存地址 print(x) # str将数据转换成字符串 # format()用于计算各种小数,精算 print(format("asd",">10")) #右对齐 print(format("asd","<10")) #左对齐 print(format("asd","^10")) #居中对齐 print(format(3,"b")) #二进制 print(format(97,"c")) #转换成unicodezif print(format(11,"d")) #十进制 print(format(56)) # print(format(11,"o")) #八进制 print(format(11,"x")) #十六进制 小写字母 print(format(11,"X")) #十六进制 大写字母 print(format(1234567890,"e")) #科学计算,默认使用6位 print(format(1234567890,"0.2e")) #科学计算,保留小数两位(小写) print(format(1234567890,"0.2E")) #科学极端,保留小数两位(大写) print(format(1.234567890,"f")) #小数点计数,保留6位小数 print(format(1.234567890,"0.2f"))#小数点计数,保留2位数 print(format(1.234567890,"0.10f")) #小数点计数,保留2位数 print(format(1.234567890e+100,"F")) #小数点计数
# repr()返回一个对象的原形式 print("matt") print(repr("matt"))
# reversed() 反向排序 ls = (123,2345,12345,1234,43546) print(ls) # 反向排序 返回一个列表 print(list(reversed(ls)))
# slice 实现切片对象,在切片操作函数里参数传递 返回一个切片对象 ls = (1,2,435,64578,456574,132354) x = slice(1,5,2) print(ls[x])
# filter()接收一个函数 和一个list,函数是对每个元素进行判断,返回True或False # 根据判断结果自动过滤掉不符合条件的元素,返回符合条件的元素组成新list ls = [1, 2, 3, 4, 5, 6, 7] def double(x): return x % 2 == 0 y = filter(double, ls) print(list(y)) # 过滤出1-100平方根是整数的 import math def x(y): return math.sqrt(y) % 1 == 0 print(list(filter(x, range(1, 101))))
# map()函数应用于每一个可迭代的项,返回一个结果list # 如有其他可迭代参数传入,则会把每一个参数以相应函数进行迭代处理 # 其接收两个参数,一个函数,一个序列 ls = [1, 2, 3, 4, 56] def x(y): return y * y print(list(map(x, ls)))
# sorted()排序函数 # iterable:可迭代的类型 # key:传入一个函数名,函数参数是可迭代类型中的每一项,根据函数返回值大小排序 # reverse:排序规则,True降序 False生序 ls = [1,32,4,5,-23,-3] lss = sorted(ls,key=abs) #按元素绝对值排序 print(ls) print(lss) # 按照每个元素的len(长度)来排序 l = [[12,23,234,4],[12],"adsf",(13,2,34,35,)] print(sorted(l,key=len))
二、匿名函数
匿名函数是为了解决功能简单的需求而设计的函数
def x(a): return a ** a print(x(3)) # 换成匿名函数 x = lambda y: y ** y print(x(3)) # 函数名 = lambda 参数 : 返回值 def add(x, y): return x + y print(add(1, 2)) x = lambda y, z: y + z print(x(1,2)) ls = [1,2,345,4567,67879,546787] print(min(ls)) dic = {"k1":10,"k2":20,"k3":30} print(max(dic)) # 显示其key值,非value值 print(dic[max(dic,key=lambda k:dic[k])])