zoukankan      html  css  js  c++  java
  • python常用内置函数

    Python所以内置函数如下:

    下面列举一些常用的内置函数:

    chr()和ord()

    1 chr()将数字转换为对应的ascii码表字母
    2 >>> r=chr(65)
    3 >>> print(r)
    4 A
    1 ord()将字母转换为对应的ascii码表数字
    2 >>> n=ord('a')
    3 >>> print(n)
    4 97

    需要注意的是,中文汉字也可以。

    1 >>> ord("") 
    2 23384
    3 >>> chr(23384)
    4 ''
    5 >>> 

    join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

    下面给出一个join函数使用的示例:#join无法将字符型和整型相加

     1 import random
     2 li=[]
     3 for i in range(6):
     4     r=random.randrange(0,6)
     5     if r==2 or r==4:
     6         num=random.randrange(0,10)
     7         li.append(str(num)) #使用str将num转换为字符型,因为在后面使用join时,join无法将字符型和整型相加
     8     else:
     9         tem=random.randrange(65,91)
    10         c=chr(tem)
    11         li.append(c)
    12 result=''.join(li)
    13 print(result)

    compile()#将字符串编译成python代码

    exec() #exec执行编译后的代码,没有返回值

    eval() #eval只能处理python的表达式,有返回值

    1 >>> s='print (123)'
    2 >>> r=compile(s,"<string>","exec") #不写入<string>,则应当写文件#名称,第三处可有三种写法,分别是:single单行代码  eval 表达式 exev等#同于python代码
    3 >>> exec(r) exec执行编译后的代码,没有返回值
    4 123
    5 >>> exec("print('hello world')")
    6 hello world
    1 >>> s='3+2'
    2 >>> eval(s)
    3 5

    dir():查看对象的方法
    help():查看对象的方法和使用#可查看源码

     1 >>> dir(str)
     2 ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', .............略
     3 
     4 >>> help(str)
     5 Help on class str in module builtins:
     6 
     7 class str(object)
     8  |  str(object='') -> str
     9  |  str(bytes_or_buffer[, encoding[, errors]]) -> str
    10  |  
    11  |  Create a new string object from the given object. If encoding or
    12  |  errors is specified, then the object must expose a data buffer
    13  |  that will be decoded using the given encoding and error handler.
    14  |  Otherwise, returns the result of object.__str__() (if defined)
    15  |  or repr(object).
    16  |  encoding defaults to sys.getdefaultencoding().
    17  |  errors defaults to 'strict'.
    18  |  
    19  |  Methods defined here:
    20  |  
    21  |  __add__(self, value, /)
    22  |      Return self+value.
    23 ........省略

    divmod()#得到两个数字的商和余数

    1 >>> divmod(45,10)
    2 (4, 5)

    isinstance()  #判断对象是哪个类的实例

    1 >>> s=[11,22,33]
    2 >>> r=isinstance(s,list)
    3 >>> print(r)
    4 True

     filter(函数,可迭代对象) #对序列做过滤处理

    #循环第二个参数,执行第一个参数函数,将第二个参数作为函数的参数,如果返回结果为True,则接受

     1 def f2(arg):
     2     if arg>22:
     3         return True
     4 li=[11,22,33,44,55]
     5 ret=filter(f2,li)
     6 print(list(ret))
     7 
     8 
     9 ##################################################################
    10 def f1(arg):
    11     result=[]
    12     for item in arg:
    13         if item > 22:
    14             result.append(item)
    15     return result
    16 li=[11,22,33,44,55]
    17 ret=f1(li)
    18 print(ret)
    19 
    20 ###################################################
    21 li=[11,22,33,44,55]
    22 result=filter(lambda a:a>33,li) #lambda表达式默认返回函数体的值,和普通函数more返回值为None不相同
    23 print(list(result))

    map(函数,可迭代对象)  #将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回

     1 li=[11,22,33,44,55]
     2 def f1(arg):
     3     result=[]
     4     for i in arg:
     5         result.append(100+i)
     6     return result
     7 r=f1(li)
     8 print(list(r))
     9 
    10 #############################################
    11 li=[11,22,33,44,55]
    12 def f2(a):
    13     return a+100
    14 result=map(f2,li)
    15 print(list(result))
    16 ######################################################
    17 result=map(lambda  a:a+100,li)
    18 print(list(result))

    len()#计算对象的长度

    注:python2使用字节计算,python3使用字符来计算,若果想按字节计算,可以先使用bytes转换成字节

    1 >>> s='李杰'
    2 >>> print(len(s))
    3 2
    4 >>> b=bytes(s,encoding='utf-8')
    5 >>> print(len(b))
    6 6
    7 #不明白的可以使用for循环李杰,在2.7和3.5看结果有什么不一样

    max()返回给定参数的最大值,参数可以为序列
    min()返回给定参数的最小值,参数可以为序列

    1 >>> max(151,48,45)
    2 151
    3 >>> min(151,48,45)
    4 45

    pow()#求幂

    >>> pow(2,3)
    8
    >>> pow(2,10)
    1024

    round()#四舍五入

    1 >>> round(1.8)
    2 2
    3 >>> round(2.4)
    4 2

    zip()#接受任意多个序列作为参数,返回一个tuple列表

     1 python3.5 返回一个迭代器对象
     2 >>> a=(1,2,3)
     3 >>> b=('a','b','c')
     4 >>> c= zip(a,b)
     5 >>> print(c)
     6 <zip object at 0x02A5CCD8>
     7 
     8 
     9 python2.7 返回一个元组
    10 >>> a=(1,2,3)
    11 >>> b=('a','b','c')
    12 >>> c= zip(a,b)
    13 >>> print(c)
    14 [(1, 'a'), (2, 'b'), (3, 'c')]

    any()#给定的对象中只要有一个对象bool值为true时返回true。

    all()#给定的对象中只有全部对象bool值为true时返回true。

    1 >>> any([11,'a',[]])
    2 True
    3 >>> all([11,'a',[]])
    4 False

     reduce()#将一个数据集合(列表,元组等)中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果

     1     def myadd(x,y):  
     2         return x+y  
     3     sum=reduce(myadd,(1,2,3,4,5,6,7))  
     4     print sum  
     5 
     6 #结果就是输出1+2+3+4+5+6+7的结果即28
     7 也可以用lambda的方法,更为简单:
     8     sum=reduce(lambda x,y:x+y,(1,2,3,4,5,6,7))  
     9     print sum 
     在python 3.0.0.0以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce.
  • 相关阅读:
    使用Microsoft URL Rewrite Module for IIS 7.0修改WEB.CONFIG即可实现*.HTML伪静态 无需修改应用程序映射
    我的第二个智能手机 HKC G801 严重质量问题 USB接口坏后解决办法
    JQuery的跨域方法 可跨新浪、腾讯等任意网站
    IIS7下使用MSDNURLRewriting.msi开源组件的设置
    面向对象编程,真离不开设计模式?
    jQuery 的filter(),not(),split()用法
    2008年总结
    程序中 同步和异步的经典解释 (一听就懂)
    2009年元旦前祝福 开心一下
    到底什么是SOA?
  • 原文地址:https://www.cnblogs.com/panwenbin-logs/p/5542572.html
Copyright © 2011-2022 走看看