• python 内置函数


    内置函数

    内置函数

    python启动,就已经可以使用的方法

    1. abs(x)取绝对值
    2. all(iterable)如果可迭代对象里的元素都为真(0或False为假),则返回True,否则返回False
    3. any(iterable)若果可迭代对象里的元素有一个为真,则返回True,否则返回False,可迭代对象为空也为False
    4. ascii(object)将对象变成字符串形式,type类型为str a=ascii([1,2,"一二三四五六七"]) print(type(a),[a])#输出<class 'str'> ["[1, 2, 'u4e00u4e8cu4e09u56dbu4e94u516du4e03']"]
    5. bin(x)将10进制数字转成二进制
    6. bool([x])判断真假
    7. bytearray([source[, encoding[, errors]]])字符串不可以修改,二进制的字符是可以修改的 a=bytes('abcde',encoding='utf-8') b=bytearray('abcde',encoding='utf-8') print(b[1]) b[1]=200 print(b)#输出98 bytearray(b'axc8cde')
    8. bytes([source[,encoding[,errors]]])把字符串转换成字节 b=bytes('12345',encoding='utf-8') b #输出b'12345' b[0] #输出49 b[0]=97#报错,不可以修改里面的值
    9. callable(object)判断一个对象是否可以被调用,函数,类。其余,列表,字典等数据类型全为False
    10. chr(i) 通过ascii的值,找到对应的ascii的值 chr(49)#输出'1'
    11. ord(c) 根据字符找到对应的ascii值
    12. classmethod(function)类方法,后面会讲,现在没学类
    13. compile(source,filename,mode,flags=0,dontinherit=False,optimize=-1)用于编译一段字符串代码, code=""" print("I'am the king of the world") """ pyo=compile(code,'','eval') eval(py_o)#输出I'am the king of the world
    14. complex([real[,imag]]) 返回一个复数

      complex(1, 2) (1 + 2j)#数字 complex(1) (1 + 0j)#当做字符串处理 complex("1") (1 + 0j)#注意:这个地方在“+”号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错 complex("1+2j")#输出(1 + 2j)

    15. delattr(object,name)学习类时使用
    16. dict(kwargs),dict(mappint,kwarg),dict(iterable,**kwarg)返回一个字典 dict() #第一个字典 输出{} dict(1=2)#报错keyword can't be an expression 关键字不能是表达式 dict dict(a=1)#输出{'a':1} dict([('a',1)])#输出{'a':1} dict([(1,1)])#这样也可以 dict([['a',1]])#输出{'a':1}
    17. dir([object]) 看一个对象有哪些方法 name=[] dir(name)#输出 ['add','class','contains','delattr', 'delitem','dir','doc','eq', 'format','ge','getattribute', 'getitem','gt','hash','iadd', 'imul','init','initsubclass', 'iter','le','len','lt', 'mul','ne','new','reduce', 'reduceex','repr','reversed', 'rmul','setattr','setitem', 'sizeof','str','subclasshook', 'append','clear','copy','count','extend', 'index','insert','pop','remove','reverse', 'sort']
    18. divmode(a,b) 结果得到一个元组,第一个是商,第二个是余数 divmod(10,3)#输出(3,1)
    19. enumerate(iterable,start=0),获取一个列表,列表中的每一个元素都是元组,元组的第一个数是iterable的索引,第二个数是iterable的元素,enumerate方法里第一个参数为可迭代对象iterable,第二个参数为新生成的列表里的第一个元组的索引,往后一次加一 a=('j','w','l','t') list(enumerate(a)) #输出[(0, 'j'), (1, 'w'), (2, 'l'), (3, 't')] list(enumerate(a,2)) #输出[(2, 'j'), (3, 'w'), (4, 'l'), (5, 't')]
    20. eval(expression, globals=None, locals=None),
      1. 计算字符串中有效的表达式,并返回结果 eval('pow(2,2)')#输出4 eval("2+4")#输出6
      2. 将字符串转成相应的对象(如list,tuple,dict和string之间的转换) a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" b = eval(a) b#输出[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]] a = "{1:'xx',2:'yy'}" c = eval(a) c#输出{1: 'xx', 2: 'yy'} a = "(1,2,3,4)" d = eval(a) d#输出(1, 2, 3, 4)
      3. eval这个函数有风险 eval("import('os').system('e:12.txt')")#输出文件信息 open('信息.txt').read()#输出文件内容,如果是删除命令,则进行删除很危险的函数 使用eval怎么避免安全问题:
      4. 自行写检查函数
      5. 使用ast.literal_eval eval函数在Python中做数据类型的转换还是很有用的。它的作用就是把数据还原成它本身或者是能够转化成的数据类型。

    那么eval和ast.literal_val()的区别是什么呢?

    eval在做计算前并不知道需要转化的内容是不是合法的(安全的)python数据类型。只是在调用函数的时候去计算。如果被计算的内容不是合法的python类型就会抛出异常。

    ast.literal则会判断需要计算的内容计算后是不是合法的python类型,如果是则进行运算,否则就不进行运算。

    1. exec(object[,globals[,locals]])将字符串转换成表达式 s="wj say hello world!" exec(s)#输出wj say hello world!
    2. filter(function,iterable)通过函数function过滤条件,去获取可迭代对象iterable中你想要的数据。 def afun(n): print("输出",n) a=filter(afun,range(10)) for i in a: print(i)#输出输出 0 输出 1 输出 2 输出 3 输出 4 输出 5 输出 6 输出 7 输出 8 输出 9
    3. map(function,iterable)对可迭代函数'iterable'中的每一个元素应用‘function’方法,将结果作为list返回。
    4. reduce(function,iterable)必须引入才能使用from functools import reduce把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作 from functools import reduce res=reduce(lambda x,y:x+y,range(10))#将x+y赋值给x,将range(10)赋值给y res#输出45
    5. float([x])把一个浮点类型的字符串转换为浮点类型的数据。 float(' 232.54525 ')#输出232.54525
    6. format是格式化字符串的函数 “映射”示例 1.通过位置 '{0},{1}'.format('wj',100)#输出'wj,100' '{},{}'.format('wj',1)#输出'wj,1' '{1},{0},{1}'.format('wj',1)#输出'1,wj,1'字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次 通过关键字参数 '{name},{no}'.format(name='wj',no=1)#输出'wj,1'主要是根据参数来寻找位置,跟参数的先后顺序没有关系 通过下标 p=['wj',1] '{0[0]},{0[1]}'.format(p)#输出'wj,1'
    7. frozenset([iterable])把集合变成一个不可变的集合,frozenset与set的却别在于没有add,update,remove等修改集合的方法 frozenset('wjwjwjwjwjjwjwjwjw')#输出frozenset({'j','w'}) frozen冰冻的,冻结的意思
    8. getattr(object,name[,default])讲类的时候再讲
    9. globals()在当前作用域下,查看全局变量
    10. hash(object)反射出一个对象的对应的hash值 hash('wj')#输出2887912120156523068
    11. help([object])显示对象的帮助信息
    12. hex(x)讲一个数转成16进制 hex(10)#输出'0xa' hex(256)#输出'0x100'
    13. id(object)返回对象的内存地址 a=100 id(a)#输出1397212720
    14. input([prompt])输入字符串 s=input('你想输入什么')#输出你想输入什么
    15. int(x)将其他数据类型强制转成int int(0x100)#输出256 int('a')#报错 int('1')#输出1
    16. isinstance(object,classinfo)判断一个对象是否是Iterable可迭代对象,首先需导入Iterable,from collections import Iterable 才能使用,列表,元组,字典,字符串都是True,整型数字是False a=[1,2,3,4,5,6] isinstance(a,Iterable)#输出True
    17. issubclass(class,classinfo)判断是否是一个子类,
    18. iter(object[,sentinel])把普通序列转成迭代器 a=[1,2,3,4,5,6] b=iter(a) type(b)#输出listiterable a=(1,2,3,4,5) b=iter(a) type(b)#输出tupleiterator a='abc' b=iter(a) type(b)#输出str_iterator
    19. len(s)计算机序列或者字符串的长度 len('wj')#输出长度2 len([1,2,3,4,5])#输出长度5
    20. list([ierable])把可迭代对象变成列表 a=list('abc') type(a)#输出list a#输出['a','b','c']
    21. locals()打印局部变量与locals()差不多 def test(): a=1 b=2 print(locals())#打印局部变量 test()#输出{'a':1,'b':2}
    22. max(iterable,*[,key,default])返回最大值,必须是个可迭代对象 max((1,2,3,4,5,11))#输出11 max('abc')#输出c max([1,3,4,5,2,3,11])#输出11
    23. min(iterable,*[,key,default])返回最小值,可迭代对象
    24. memoryview(obj)暂时不用
    25. next(iteraor[,default])返回迭代器的下一个值,与next()相同,如果迭代最后一个数据之后没有值了,则会抛出一个StopIteration异常 In [34]: a=iter([1,2,3,4]) In [35]: next(a) Out[35]: 1 In [36]: next(a) Out[36]: 2 In [37]: next(a) Out[37]: 3 In [38]: next(a) Out[38]: 4 In [39]: next(a) StopIteration Traceback (most recent call last) <ipython-input-39-3f6e2eea332d> in () ----> 1 next(a)
    26. object对象
    27. oct(x)把数转成八进制
    28. open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)文件操作
    29. pow(x,y[,z])计算幂 pow(2,3)#2的3次幂,输出8
    30. print(*objects,sep='',end=' ',file=sys.stdout,flush=False)打印
    31. property(fget=None,fset=None,fdel=None,doc=None)到类再说
    32. range(stop),range(start,stop[,step])生成一个迭代器 range(5)#输出range(0,5)
    33. repr(object)把代码转成字符串对象
    34. reversed(seq)反转一个序列,跟表中的reversed方法一样
    35. round(number[,ndigits])保留float数据类型几位 round(1.234567,3)#不好使会输出1.235 round(1.5421,3)#1.542 round(1.234567,2)#输出1.23
    36. set([iterable])集合
    37. setattr(object,name,value)类时用
    38. slice(stop),slice(start,stop[,step])序列的切片 a=[1,2,3,4,5] a[slice(1,3)]#输出[2,3]
    39. sorted(iterable[,key],[,reverse])对一个序列进行排序 sorted([5,5,23,4,52,2])#输出[2, 4, 5, 5, 23, 52]
    40. str(object)把其他数据类型转换为字符串 str(1)#输出'1'
    41. sum(iterable[,start])求一个列表的和 sum([1,2,3,4,5,6])#输出21
    42. super([type[,object-or-type]])类
    43. tuple([iterable])#把可迭代对象转成元组
    44. type(object),type(name,bases,dict)查看对象数据类型
    45. vars([object])返回对象的所有属性
    46. zip(*iterables)zip中文意思是拉链的意思,把两个序列一一对应起来。如果a的元素比b的多,则按照元素最少的那个来 In [57]: a=['a','b','c','d','e'] In [58]: b=[1,2,3,4,5,6] In [59]: zip(a,b) Out[59]: <zip at 0x49b0688> In [60]: for i in zip(a,b): ...: print(i) ...: ('a', 1) ('b', 2) ('c', 3) ('d', 4) ('e', 5)
    47. import(name,globals=None,locals=None,fromlist=(),level=0)导入的模块是一个字符串时,用import() import os import('os')
  • 相关阅读:
    浅读《构建之法》随笔
    个人学期总结
    201571030305/201571030306《小学生四则运算需求分析结对报告》
    小学生四则运算结对项目
    小学生四则运算
    读《构建之法》提出的问题
    个人学期总结
    实验四 小学生四则运算需求分析结对报告
    四则运算结对项目
    四则运算 201571030317
  • 原文地址:https://www.cnblogs.com/dcotorbool/p/6984630.html
Copyright © 2020-2023  润新知