python notice10 内置函数1

内置函数

  内置函数就是python提供的,直接可以使用的函数,如print,input等。

一、作用域相关

  locals()    返回当前作用域中的名字

  globals()  返回全局作用域中的名字

二、迭代器相关

  range()  生成数据

  next(迭代器)    迭代器向下执行一次,内部实际调用__next__()方法

  iter(可迭代对象)      获取迭代器,内部实际调用__iter__()方法

三、其他

1.输入与输出相关

  input()  获取用户输入额内容

  print()  打印输出,print()参数中sep默认为空格,表示print中每个变量的连接,end默认为\n

2.内存相关

  hash()  获取到对象的哈希值(int,str,bool,tuple),哈希算法目的就是唯一性,哈希表是用空间换空间,故比较消耗内存

  id()  获取到对象的内存地址

3.文件操作相关

  open()  用于打开一个文件,创建一个文件句柄

4.模块相关

  __inport__()  用于动态加载类和函数

5.帮助

  help()  用于查看函数或模块用途的详细说明

6.查看内置属性

  dir()  查看对象的内置属性

7.调用相关

  callable()  用于检查一个对象是否可以被调用。如果返回True,object有可能调用失败,但是返回False,绝对不可以被调用

8.字符串类型代码的执行

  eval()  执行字符串类型的代码,并返回最终结果,故代码必须有返回值。只能执行简单的执行代码

  exec()  执行字符串类型的代码,可以执行复杂的执行代码,当写平台或者由用户编码时会用到exec()

  compile()  将字符串类型的代码编译,代码对象能够通过exec()语句执行或者eval()进行求值

#compile(参数1,参数2,参数3)
'''
    参数说明:
        1.resource,要执行的代码,动态代码片段
        2.文件名,代码存放的文件名,当传入了第一个参数的时候,这个参数可不给
        3.模式,取值方式有3种
                1.exec:一般放一句程序语句的时。
                2.eval:resource存放一个求值表达式。
                3.single:resource存放的代码有交互的时候。
'''
code1 = "for i in range(10):print(i)"
c1 = compile(code1,"",mode= "exec")
exec(c1)

code2 = "1+2+3"
c2 = compile(code2,"",mode= "eval")
a = eval(c2)
print(a)

code3 = "name = input("请输入你的名字 :")"
c3= compile(code3,"",mode="single")
exec(c3)
print(name)

  有返回值的字符串形式的代码用eval(),没有返回值的字符串形式的代码用exec(),一般很少用到compile(),compile用来对源代码封装,使用者不知道内部代码。

四、基础数据类型

1.数字相关

  bool()  将给定的数据转换成bool值,如果不给值,返回False

  int()  将给定的数据转换成int值,如果不给值,返回0

  float()  将给定的数据转换成float值,也就是小数

  complex()  创建一个复数,第一个参数为实部,第二个为虚部。或者第一个参数直接用字符串来描述复数

2.进制转换

  bin()  将给的参数转换成二进制

  otc()  将给的参数转换成八进制

  hex()  将给的参数转换成十六进制

3.数学运算

  abs()  返回绝对值

  divmode(被除数,除数)  以元组形式返回商和余数

  round()  四舍五入(五舍六入)

  pow(a,b)  求a的b次幂,如果有三个参数,则求完次幂后对第三个数取余

  sum()  求和

  min()  求最大值

  max()  求最小值

4.列表和元组相关

  list()  将一个可迭代对象转换成列表

  tuple()  将一个可迭代对象转换成元组

  reversed()  将一个序列反转,返回翻转序列的迭代器,(返回一个新的,原来的不会改变)

  slice()  列表的切片

st = "大家好,我是小黑人"
s = slice(1,5,2)
print(st[s])

5.字符串相关

  str()  将数据转换成字符串

  repr()  返回对象的string形式,即原样输出,引号和转义字符不起作用,如\n,\t,\r,但不管%。

  ord()  输入字符,找该字符在编码表中的位置

  chr()  输入位置数字,在编码表中找到对应的字符

  ascii()  判断是否在ascii表中,在就返回本身,不在就返回\u.

  bytes(str,encoding="编码")  把字符串转换成bytes类型

  bytearray()  返回一个新字节数组,字节元素是可变的,并且每个元素值的范围是(0,256)

  memoryview()  查看bytes在内存中的情况

  format()  与具体数据相关,用于计算各种小数,精算等

#字符串
s ="小黑人"
print(format(s,"^20"))    #居中
print(format(s,"<20"))    #左对齐
print(format(s,">20"))    #右对齐

#数值
print(format(3, 'b'))     #二进制
print(format(97, 'c'))    #转换成unicode字符
print(format(11, 'd'))    #十进制
print(format(11, 'o'))    #八进制
print(format(11, 'x'))    #十六进制(小写字母)
print(format(11, 'X'))    #十六进制(大写字母)
print(format(11, 'n'))    #和d一样
print(format(11))         #和d一样

#浮点数
print(format(123456789, 'e'))     #科学计数法,默认保留6位小数 
print(format(123456789, '0.2e'))     #科学计数法,默认保留2位小数(小写e)
print(format(123456789, '0.2E'))     #科学计数法,默认保留2位小数(大写E)
print(format(1.23456789, 'f'))     #小数点计数法,保留6位小数
print(format(1.23456789, '0.2f'))     #小数点计数法,保留2位小数
print(format(1.23456789, '0.10f'))     #小数点计数法,保留10位小数
print(format(1.23456789e+10000, 'F'))     #小数点计数法,很大时会输出INF无穷大

6.数据集合

  dict()  创建一个字典

  set()  创建一个集合

  frozenset()  创建一个冻结的集合,冻结的集合不能进行添加和删除操作

7.其他相关

  enumerate()  获取集合的枚举对象

lst = ["小黑人1","小黑人2","小黑人3"]
for index,el in enumerate(lst,1):  #索引和元素一起获取,索引默认从0开始,这里改成1.
    print(index)
    print(el)
结果:
1
小黑人1
2
小黑人2
3
小黑人3

  all()  可迭代对象中全部是True,结果才是True

  any()  可迭代对象中只要有一个是True,结果就是True

  zip()  函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的开列表。如果各个迭代器的元素个数不一致,则返回列表列表长度与最短的对象相同。

l1 = [1,2,3,]
l2 = ['a','b','c',5]
l3 = ('*','**',(1,2,3))
for i in zip(l1,l2,l3):
    print(i)
结果:
(1, 'a', '*')
(2, 'b', '**')
(3, 'c', (1, 2, 3))

猜你喜欢

转载自www.cnblogs.com/xiaolu-fan/p/11260511.html