13.python 内置函数

一.内置函数

1.基础数据类型相关(38个)

   内置函数,就是python提供的,可以拿来直接用的函数,比如print input  python提供给我们的目前有68个内置函数,

一,数字相关14个

数字相关 数据类型4个

1.bool()将给定的数据转换为bool值,如果不给值,返回False  比如空的集合

2.int() 给定的数据类型转换为int值,如果不给值,返回()

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

apple = 3.5
print (type(apple))  浮点型数据有误差

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

进制转换3个

5.bin()将给定的数据转换成二进制

6.otc()  将给定的参数转换为八进制

7.hex ()将给定的参数转换为16进制

a = 5
print (bin(a))  0b

a = 8
print (oct(a))0o

a = 16
print (hex(a))  0x

数学运算7个

8.abs()  返回绝对值

9.divmode() 返回商和余数

10.round()  四舍五入  有问题 不是很精确 浮点数底层存储是有问题的

11.pow(x,y)  求 x的y次方

12.sum() 求和

13.max()  求最大值

14.min()   求最小值

rint (abs(-1))   绝对值函数
print(divmod(10,7))   #返回元组 前边商,后边余数
print(round(4.3))  新版本round 有问题  浮点数最底层存储是有问题的
print(pow(2,3))  求2的3次方
如果pow有三个参数,默认认为求完平方后进行取余

print (sum(1,2))
print (sum([1,2,3,3],6))  #sum求和,前一个可以是可迭代对象
lst = [1,12,3,4,]
lst2 = [2,3,4,5]
print (sum(lst,sum(lst2)))

max 求最大值
print(max(1,2,3,44,9))   max 里面不要放字符串
print(min(1,-2,-5,-5,-6))

二.数据结构相关24个

序列相关13个

列表和元祖2个

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

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

相关内置函数2个

17.rversed()  将一个序列翻转,返回翻转序列的迭代器

18.slice() 列表的切片

lst = [1,3,5,7,9]
it = reversed(lst)生成器
for i in it:
    print (i)

s = slice(1,3)
print (lst[s])  切片的函数

 

字符串9个

19.str()将数据转化为字符串

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

print(format('test','>20'))
print(format('test','<20'))
print(format('test','^20')) 格式化字符串的三种形式

数值
s = format(7,'b')
# print (s)  数值
s = format(65,'c')   #unicode
print (s)
s = format(20094,'c')   #unicode
print (s)
s = format(31,'x')   #unicode
print (s)
s = format(31,'X')   #unicode
print (s)
s = format(65,'c')   #unicode
print (s)
print (format(65))#默认d

print (format(123458989898967,'e'))#科学计数法 默认保留小数点后6位
print (format(123458989898967,'.2e')) 2位
print (format(123458989898967,'.8e'))  8位

print (format(123458989898967,'E'))   大写

print (format(1.23458989898967,'f'))   浮点数也是默认保留小数点后6 位
print (format(1.23458989898967,'.2f'))  .x  都是保留x 位

print(format(1.37878374749e+100000,'F'))  INF无穷大

21.bytes() 把字符串转化为bytes类型

22.bytearray() 返回一个新字节数组,这个数组里的元素是可变的,并且每个元素的范围都是0-256

bytes
s = '周润发'
bs = s.encode('utf-8')
print (bs)
bs = bytes(s,encoding = 'utf-8')
print (bs)
s = 'jdkjfjkj哈哈'
bs = s.encode('utf-8')
print(bs)   utf-8要兼容ASCII


ret =  bytearray('alex',encoding = 'utf-8')
print (ret[0])
print (ret)
汉字没有用,拿出一个汉字分成三份 拿出一份
ret =  bytearray('周杰伦',encoding = 'utf-8')
print (ret[0])   打印出299 周 \x\x\x
print (ret)

ret =  bytearray('刘伟',encoding = 'utf-8')
print (ret[0],ret[1],ret[2],ret[3],ret[4],ret[5])
print (ret)   可以作为加密来使用

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

24.ord()输入字符找带字符编码的位置

25.chr()输入位置数字找出对应的字符

26.ascii  是ASCII就返回该值,不是就返回\u...

merroyview  中心思想 没什么用
s = memoryview('马化腾'.encode('utf-8'))
print ('__iter__'in dir(s))

print(ord('a'))
print(ord('中'))   在编码中的位置
print(chr(67))
for i in range(65536):
    print (chr(i),end = ' ')


print (ascii('a'))
print (ascii('好'))  返回\u不是ASCII码的

27.reper()返回一个对象的string形式,在python底层的字符串形式

# s = '周杰\\哈哈\伦'
# print (s)  #一个\表示转义 \n\t\r
# print (repr(s))  把字符串的官方解释给还原回来

数据集合3个

28.dict()创建一个字典

29.set()创建一个集合

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

s = {'张翠山','张三丰','张无忌'}
ss = frozenset(s)
dic = {ss:'6爆了'}
print(dic)  #集合不可哈希

相关内置函数8个

31.len()返回一个对象中的元素个数

32.sorted() 对可迭代对象进行排序操作

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

lst = ['最后一个棒棒','看不见的房客','傻瓜','那个男人来自地球']
for i in lst:
    print (i)  没有索引
enumerate

for i in range(len(lst)):
    print (i,lst[i])  通过索引拿元素

for xxx in enumerate(lst):#(0,'最后一个棒棒')  拿到元素和索引 是一个元组
    print(xxx)
for index,i in enumerate(lst,100):  枚举
    print (index,i)

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

35.any()可迭代对象中有一个是True结果就是True

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

37.filter()筛选函数,filter(function,iterable)

38.map()会根据提供的函数对指定序列做映射(lamda)

# print(any([False,False,True]))  相当于逻辑运算符的or
# print(all([False,False,True]))  相当于and

# # zip
# lst1 =['中国','美国','俄罗斯','日本']
# lst2 =['北京','华盛顿','莫斯科','东京']
# lst3 =['烤鸭','西餐','黄油+面包','寿司']
#
# a = zip(lst1,lst2,lst3)
# print ('__iter__'in dir(a))  #判断是否为可迭代对象
#

作用域相关2个

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

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

反射相关4个

41.

 

 

42

 

 

43

 

44

 

面向对象相关9个

45

 

46

 

47

 

48

 

49

 

50

 

51

 

52

 

53

 

 

迭代器生成器相关3个

54.range()  生成数据

55.next()  迭代器向下执行了一次,内部实际上是使用了__next__()来返回迭代器的下一个项目

56.iter()  获取迭代器,内部实际上是使用__iter__()来获取迭代器

 

其他12个

字符串类型代码的执行3个

57.eval()  执行字符串类型的代码,返回最终结果,有返回值

58.exec()execute执行,没有返回值

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

# eval
# s = '1+2+3'
# s = "{'name':'alex','age':'18'}"   eval 可以帮我们还原一些字符串类型的代码 josn lst
# res = eval(s)
# print (res)#  帮你执行语句

# content =input( '请输入你要执行的代码:')
# res = eval(content)
# print (res)#只能帮我们执行一行代码


# exec()   #execute 执行,没有返回值
# exec('for i in range(10): print (i)')#可以帮我们执行一段代码

# exec('a =10')
# print (a)  这块a会出现个错误,但是可以执行
#
# exec 和 eval的区别
# exec  不会提供返回值exec(里面可以把值赋给个变量)

# compile(编译   python提供的函数,可以帮我们编译执行一段代码)

# code1 ='for i in range(10): print (i)'
# exec(code1)  直接执行这个函数
# code1 ='''for i in range(10): print (i)
# def func():
#     print ('我是函数')
# func()
#
# '''   #字符串中可以写多行,甚至可以写函数
# c = compile(code1,'','exec')
# exec(c)

# code2 = '1+2+3+4'
# c = compile(code2,'','eval')
# res = eval(c)
# print (res)
# code3 = "name =input('请输入你的名字:')"
# c = compile(code3,'',mode = 'single')
# res = exec(c)
# print (res)

compile()

里面有三个参数

1.resource要执行的代码,动态代码片段

2.文件名,代码存放的文件名,当传入第一个参数,这个参数给空就可以了

3.模式,取值有三个

  1.exec  一般放一些流程语句

   2. eval resource只存放一个求值表达式

  3.single:resource存放的代码交互的时候,mode应该为single

输入输出两个

60.input()  获取用户输入的内容

61.print ()  打印输出

内存相关2个

62.哈希 hash()   获取对象的哈希值(int str bool tuple)

63.  ID()  获取到对象的内存地址

文件操作和模块相关

64.open()用于打开一个文件

65.__import__()用于动态加载类和函数

帮助

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

print(help(str))

 

调用相关

67.

callable() 用于检查一个对象是否是可调用的 

如果返回True,object有可能调用失败,如果返回False则一定调用失败

def func():
#     pass
# print (callable(func))#  判断是否可以被调用
# a= 123
# print (callable(a)) 

 

 

查看内置属性

68.dir() 查看对象的内置方法  访问的对象是__dir__()

 

 

print (abs(-1))   绝对值函数
print(divmod(10,7))   #返回元组 前边商,后边余数
print(round(4.3))  新版本round 有问题  浮点数最底层存储是有问题的
print(pow(2,3))  求2的3次方
如果pow有三个参数,默认认为求完平方后进行取余

print (sum(1,2))
print (sum([1,2,3,3],6))  #sum求和,前一个可以是可迭代对象
lst = [1,12,3,4,]
lst2 = [2,3,4,5]
print (sum(lst,sum(lst2)))

max 求最大值
print(max(1,2,3,44,9))   max 里面不要放字符串
print(min(1,-2,-5,-5,-6))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

posted on 2018-10-08 22:31  小王子QAQ  阅读(54)  评论(0)    收藏  举报