• python中的内置函数(一)


    内置函数:内置函数就是python提供的,可以拿来直接用的函数

    作用域相关

    locals():返回当前作用域中的名字
    globals():返回全局作用域中的内容

     1 def  func():
     2     print('我早晨吃了一个苹果')
     3     def func1():
     4         print('我下午吃了一个桃')
     5         def func2():
     6             print('都挺好吃')
     7         func2()
     8     print(globals())#'func': <function func at 0x000001BA3E9F2EA0>
     9     print(locals())#func1 at 0x000001BA3EBC08C8>
    10     func1()
    11 func()

    迭代器相关

    range():生成数据
    1 print(list(range(5)))
    2 [0, 1, 2, 3, 4]
    next():迭代器向下执行一次,内部实际使用了__next__()方法
    iter():获取迭代器,内部其实是使用了__iter__()方法来获取迭代器
    1 lis=[1,2,3,4,5]
    2 it=iter(lis)#获取迭代器
    3 print(next(it))#迭代器向下执行一次
    4 print(next(it))
    5 print(next(it))

    字符串相关

    eval():执行字符串类型的代码,并返回结果,是求值
    1 a="{'你':'是','我':'的','大':'猪','蹄':'子儿'}"
    2 print(eval(a)[''])
    exec():执行字符串类型的代码,如果是多行,注意缩进,是执行,没有返回结果
    1 exec('''for i in range(5):
    2     print(i)
    3 ''')
    4 
    5 eval('''for i in range(5):
    6     print(i)
    7 ''')  #invalid syntax(语法错误)
    compile(),将字符串中代码编译,代码能够通过exec()执行,或者通过eval()进行求值
    (有返回值形式的字符串用eval(),没有返回值类型的字符串用exec())
    语法:compile(source, filename, mode[, flags[, dont_inherit]])
    source -- 字符串或者AST(Abstract Syntax Trees)对象。。
    filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
    mode -- 指定编译代码的种类。可以指定为 exec, eval, single
     1 code='''for i in range(6):
     2     print(i)
     3 '''
     4 c1=compile(code,'',mode='exec')  #如果是编译字符串,第二个文件的位置要''
     5 exec(c1)
     6 0
     7 1
     8 2
     9 3
    10 4
    11 5
    12 
    13 code='1+2+3'
    14 c=compile(code,'',mode='eval')
    15 print(eval(c))#6
    16 
    17 有用户交户的mode用single
    18 code='content=input("请输入想吃的?")'
    19 a=compile(code,'',mode='single')  #有用户交户的用single
    20 exec(a)
    21 print(content)   #pycharm里的报错信息,不一定是对的
    22 请输入想吃的?太撑了,不想吃
    23 太撑了,不想吃

    输入输出相关

    input():获取用户输入的内容
    print():打印输出
    1 content=input('今天喝了多少水?')
    2 print(content)
    3 "C:Program FilesPython36python.exe"
    4 今天喝了多少水?三杯
    5 三杯

    内存相关

    hash():获取到对象的hash值
    1 lis=(1,2,3,4,5)
    2 print(hash(lis)) #8315274433719620810
    哈希计算之后是一串数字,可能很大,也可能很小还有可能是复数,哈希的目的是为了存储,
    但有一个缺点就是耗内存,是在以空间换取时间,哈希值尽量不要重复(在某些特定的环境下可能会重复)
    id():获取到对象的内存地址
    1 lis=[1,2,3,4,5,6]
    2 print(id(lis))#1964303088776

    文件操作相关

    1 open():用于打开一个文件,创建一个文件句柄
    2 f=open('daily.txt',mode='r',encoding='utf-8')

    模块相关

    __import__():用于动态加载类和函数.import里面封装的__import__()

    帮助

    help():用于查看函数或模块用途的详细说明
    dir():查看内置属性,方法,访问的是对象中的__dir__()方法
    dir()和help()的区别:
    help(list) #help除了方法属性外还有介绍
    print(dir(list)) #dir出来的是含有的方法属性

    调用相关

    callable()用于检查一个对象是否可用,如果返回true,object有可能调用失败,
    如果返回的是False,一定不会调用成功
    1 lis=[1,2,3,4,55,6]
    2 a=1
    3 def func():
    4     b=a+1
    5     print(a)
    6 func()
    7 print(callable(func))

    基础数据类型相关

    数字相关:
    bool():将给定的值转换bool型,如果不给值返回False
    int():将给定的值转换int型,如果不给值返回False
    float():将给定的值转换int型,也就是小数
     1 a='1'
     2 print(type(a))
     3 print(type(int(a)))
     4 print(type(bool(a)))
     5 print(type(float(a)))
     6 <class 'str'>
     7 <class 'int'>
     8 <class 'bool'>
     9 <class 'float'>
    10 print(float(1))  #1.0
    complex():创建一个复数,第一个参数为实部,第二个参数为虚部,或者第一个参数直接用字符串来描述复数(与数学中不同的是复数用a+bj而不是a+bi)
    1 print(complex(1,2))  #(1+2j)
    进制转换:
    bin():将给的参数转换成二进制
    otc():将给的参数转换成八进制
    hex():将给的参数转换成十六进制 # 0 1 2 3 4 5 6 7 8 9 a b c d e f
    1 a=10
    2 print(bin(a))
    3 print(oct(a))
    4 print(hex(a))
    5 0b1010
    6 0o12
    7 0xa
    数学运算:
    abs():返回绝对值
    1 a=-5
    2 print(abs(a))  #5
    divmod():返回商和余数
    1 print(divmod(6,3))#(2, 0)
    round():四舍五入(这台机器是五舍六入)
    1  print(round(4.5))
    pow(a,b):求a的b次幂,如果输入三个数,则求完次幂后对第三个数取余
    1 print(pow(2,3))  #8
    2 print(pow(2,3,2))  #0
    sum():求和sum中放的必须是可迭代对象
    1 print(sum(1,2))  #'int' object is not iterable
    2 print(sum([1,2,3,4,5,6]))   #21
    min():最小值
    max():最大值
    1 lis=[1,2,3,4,5,6]
    2 print(min(lis),max(lis))  #1 6

    数据结构相关

    列表和元组:
    list() 将一个可迭代对象转换成列表
    tuple() 将一个可迭代对象转换成元组
    1 a='asdfghj'
    2 print(list(a))  #['a', 's', 'd', 'f', 'g', 'h', 'j']
    3 print(tuple(a))   #('a', 's', 'd', 'f', 'g', 'h', 'j')
    reversed():将一个序列翻转,返回翻转序列的迭代器
    1 a='asdfghjkl'
    2 it=reversed(a)
    3 print(it.__next__())   #l
    slice():列表的切片
    1 a=[1,2,3,4,5,6]
    2 s=slice(0,4,2)
    3 print(a[s])  #[1, 3]  值得注意的是打印的时候要用print(a[s])这种写法

    字符串相关

    str():将数据转化成字符串
    1 a=12
    2 print(type(str(a)))  #<class 'str'>
    format():与具体数据相关,用于计算小数精算等,format还可以用来格式化
     1 字符串:
     2 print(format('test','<20'))   #test                扩展为20个字符,并将test左对齐
     3 print(format('test','>20'))   #                test扩展为20个字符,并将test右对齐
     4 print(format('test','^20'))   #        test        扩展为20个字符,并将test居中
     5 数值:
     6 print(format(3,'b'))   #将三转换成二进制  #11
     7 print(format(97,'c'))  #把97转换成97对应的Unicode字符   #a
     8 print(format(11,'d'))   #将11转换成十进制  #11
     9 print(format(111122348542,'o'))  #转换成八进制  #1473732074776
    10 print(format(465456461,'x'))   #转换成16进制,用小写字母表示  #1bbe4d4d
    11 print(format(465456461,'X'))   #转换成16进制,用大写字母表示   #1BBE4D4D
    12 print(format(11,'n'))       #十进制
    13 print(format(11))   #11
    14 浮点数
    15 print(format(123456789,'e'))   #1.234568e+08科学计数法,默认保留六位小数
    16 print(format(123456789,'0.2e'))  #1.23e+08  科学计数法,默认保留两位小数(e小写)
    17 print(format(123456789,'0.2E'))  #1.23E+08  #科学计数法,默认保留两位小数(e大写)
    18 print(format(123456789,'f'))    #123456789.000000   小数点计数法,默认保留六位小数
    19 print(format(123456789,'0.2f'))    #123456789.00   #小数点计数法,默认保留两位小数
    20 print(format(123456789,'0.10f'))   #123456789.0000000000  小数点计数法,默认保留10位小数
    21 print(format(1.23456789e+10000,'F'))  #INF 小数点计数法
    bytes();把字符串转换成某某类型,后面要加上编码类型
    1 s='你好!'
    2 print(bytes(s,encoding='utf-8'))
    bytearry()
    1 ret=bytearray('你好',encoding='utf-8')
    2 print(ret)  #bytearray(b'xe4xbdxa0xe5xa5xbd')
    memoryview():查看bytes在内存中的情况
    1 s=memoryview('李小龙'.encode('utf-8'))
    2 print(s)  #<memory at 0x0000014E41955F48>
    ord()输入字符,查找字符编码的位置
    chr()输入位置查找对应的字符
    ascii()是ascii码中的就有返回值,否则就返回u
    1 print(ord('a'))   #97
    2 print(ord(''))  #20013
    3 
    4 print(chr(97))   #a
    5 print(chr(20013))   #
    6 
    7 print(ascii('a'))   #'a'
    8 print(ascii(''))   'u4e2d'
    repr():返回正式的官方的字符串
     1 print(repr('大家好,我叫周杰伦'))
     2 print(repr('大家好/n,我叫周杰伦'))
     3 print(repr('大家好
    ,我叫周杰伦'))
     4 print(repr('大家好	,我叫周杰伦'))
     5 print(repr('大家好\,我叫周杰伦'))
     6 print(repr('大家好\\,我叫周杰伦'))
     7 print(repr('大家好\\,我叫周杰伦'))
     8 print(repr('周杰伦说"大家好,我叫周杰伦"'))
     9 print(repr("周杰伦说'大家好,我叫周杰伦'"))
    10 
    11 '大家好,我叫周杰伦'
    12 '大家好/n,我叫周杰伦'
    13 '大家好
    ,我叫周杰伦'
    14 '大家好	,我叫周杰伦'
    15 '大家好\,我叫周杰伦'
    16 '大家好\\,我叫周杰伦'
    17 '大家好\\,我叫周杰伦'
    18 '周杰伦说"大家好,我叫周杰伦"'
    19 "周杰伦说'大家好,我叫周杰伦'"
    dict{}创建一个字典
    1 dict={}
    2 print(dict)
    set():创建一个集合
    1 s=set()
    2 print(type(s))  #<class 'set'>
    frozenset():创建一个冻结的集合,冻结的集合不能进行增加和删除操作
    1 frozenset={}
    2 print(frozenset)
    len():返回一个对象中元素的个数
    enumerate():获取集合的枚举对象
    1 lis=[1,2,3,4]
    2 for i, j  in enumerate(lis):
    3     print(i,j)
    4 0 1
    5 1 2
    6 2 3
    7 3 4
    all()可迭代对象中 全部是true才是true:
    any()可迭代对象中有一个是true就是true
    1 print(all([1,2,3,4,5]))  #True
    2 print(all([1,2,3,4,5,0]))  #False
    3 print(any([1,2,3,4,5]))  #True
    4 print(any([1,2,3,4,5,0]))   #True
  • 相关阅读:
    git
    fragment
    Builder模式
    代码混淆
    android studio快捷键
    小知识点
    angular组件使用
    英语摘要2019-6-4
    英语笔记2019-4-3
    搭建Eureka注册中心时遇到的问题
  • 原文地址:https://www.cnblogs.com/shanghongyun/p/9481639.html
Copyright © 2020-2023  润新知