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])])

 

posted @ 2019-03-26 17:01  A裴小汪  阅读(192)  评论(0编辑  收藏  举报