• 内置函数


    '''内置函数'''
    
    # abs()取绝对值
    print(abs(-12))
    
    # all()判断可迭代对象是否包含布尔值为假的对象及可迭代对象是否为空(为空则判断True)
    print(all([1, 2, '3'])) # 全部为真则为真,有一个为假则为假
    print(all([1, 2, '']))
    print(all([1, 2, 0]))
    print(all([1, 2, None]))
    print(all([])) # 如果可迭代对象是空,那么返回True
    print(all('120')) # 一个字符串为整体,所以判断为真
    
    # any()判断可迭代对象是否包含布尔值为真的对象及可迭代对象是否为空(为空则判断False)
    print(any([0, [], '3'])) # 只要有一个为真,那么判断结果则为真
    print(any([])) # 如果可迭代对象是空,那么返回False
    
    # bin()把十进制转成二进制,0b代表是二进制表示
    print(bin(5))
    
    # hex()把十进制转成十六进制,0x代表十六进制表示
    print(hex(10))
    
    # oct()把十进制转成八进制,0o代表八进制表示
    print(oct(10))
    
    # bool()判断布尔值,以下情况为假,其他都为真
    print(bool(0))
    print(bool(None))
    print(bool(''))
    print(bool([]))
    print(bool(()))
    print(bool({}))
    
    # bytes()把字符串转换成字节
    print(bytes('你好', encoding='utf-8')) # utf-8保存中文是3个字节
    print(bytes('你好', encoding='utf-8').decode('utf-8')) # decode默认解码方式为utf-8,但最好还是要带上解码方式,用什么方式编码,就用什么方式解码
    print(bytes('你好', encoding='gbk')) # gbk保存中文是2个字节
    print(bytes('你好', encoding='gbk').decode('gbk')) # 用什么方式编码,就用什么方式解码
    # print(bytes('你好', encoding='ascii')) # 报错,'ascii' codec can't encode,阿斯克码不能对中文进行编码,所以判断中文和英文的方法可以利用字符串方法中的isascii()方法
    
    # chr()根据阿斯克码表进行转换,数字转换成对应的字符
    print(chr(48))
    
    # ord()根据字符转换成对应的阿斯克码(直接是数字0会报错,所以得是字符串类型)
    print(ord('0'))
    
    # dir()打印某一个对象下面有哪些方法
    print(dir(tuple))
    
    # divmod()算除法,取商得余数
    print(divmod(59, 10))
    
    # enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中
    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    print(list(enumerate(seasons, start=1)))
    
    for i, element in enumerate(seasons):
       print(i, element)
    
    # eval()把字符串中的数据结构提取出来;把字符串中的表达式进行运算
    d1 = {'name':'alex'}
    dic_str = str(d1)
    print(type(dic_str))
    d2 = eval(dic_str)
    print(type(d2), d2['name'])
    
    express = '1+2*(3/1-2)-6/2'
    print(eval(express))
    
    # hash()可哈希是不可变数据类型,不可哈希是可变数据类型;不管传入参数有多长,哈希值长度都是固定的;不能根据哈希值最后结果反推出字符串是什么;变量不变,哈希值也不变
    print(hash('123asd'))
    print(hash('123asd你好啊kkssla'))
    
    # help()打印方法的使用详细介绍
    print(help(all))
    
    # id()打印对象内存地址
    name = 'alex'
    print(id(name))
    
    # input()输入
    
    # int()将对象转变成整型数字类型
    
    # isinstance()判断对象是否属于什么类型
    print(isinstance(1, int))
    
    # globals()打印全局可使用的变量名和值,以键值对方式展示
    print(globals())
    
    # locals()打印当前级别的局部变量名和值,以键值对方式展示
    def test():
       n = 1
       print(locals())
    test()
    
    # zip()俗称拉链,传入两个序列类型,一一对应的关系将元素组成元组类型,生成迭代器,当两边元素不对等时,以最少的对象一一对应取值;
    m = list(zip([1, 2, 3], ('a', 'b', 'c', 'c')))
    print(m)
    print(type(m[0]))
    
    d1 = {'name':'alex', 'age':18, 'gender':'none'}
    print(list(zip(d1.keys(), d1.values())))
    
    # max()函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较,注意,不同类型之间不能进行比较;每个元素间进行比较,是从每个元素的第一个位置依次比较,如果这一个位置分出大小,后面的都不需要比较了,直接得出这两元素的大小
    d2 = {'alex':30, 'wupeiqi':28, 'yuanhao':33, 'lhf':40}
    print(max(d2.values()))
    print(max(d2))
    print(max(zip(d2.values(), d2.keys())))
    
    l1 = ['alex1', 'alex2', 'alex30', 'alex4']
    print(max(l1))
    
    l2 = [
       (12, 'alex'),
       (100, 'wupeiqi'),
       (71, 'yuanhao'),
       (38, 'lhf'),
    ]
    print(max(l2))
    
    l3 = [
       ([1, 2], 'alex'),
       ([2, 3], 'wupeiqi'),
       ([3, 4], 'yuanhao')
    ]
    print(max(l3))
    
    l3 = [
       ([1, 2], 'alex'),
       ([1, 2], 'wupeiqi'),
       ([1, 2], 'yuanhao')
    ]
    print(max(l3))
    
    people = [
       {'name':'alex', 'age':1000},
       {'name':'mike', 'age':2000},
       {'name':'jack', 'age':3000},
       {'name':'mary', 'age':18},
    ]
    # 通过for循环取出每个字典的value值进行比较
    res = []
    ret = []
    for i in people:
       res.append(i['age'])
       ret.append(i['name'])
    print(max(zip(res,ret)))
    # 通过使用关键字key取出每个字典指定的value值进行比较,且返回整个字典内容
    print(max(people, key=lambda x:x['age']))
    
    # min()与max()刚好相反,取最小,用法一样
    
    # pow()必传两个参数,第三个参数默认为None;前两个参数代表计算几次方,第三个参数代表计算几次方的结果除以该参数取余
    print(pow(2, 3)) # 2**3=8
    print(pow(2, 3, 3)) # 2**3%3=2
    
    # reversed()反转
    l = [1, 2, 3]
    print(list(reversed(l)))
    
    # round()四舍六入
    print(round(4.5))
    
    # slice()切片,还可定义步长
    s = 'hello'
    s1 = slice(2, 4)
    s2 = slice(0, 4, 2)
    print(s[2:4])
    print(s[s1])
    print(s[s2])
    
    # sorted()排序,默认是从小到大排序,加入reverse关键字可反转变成从大到小排序,key关键字和max()用法一样;排序本质就是在比较大小,不同类型之间不可以比较大小
    people = [
       {'name':'alex', 'age':1000},
       {'name':'mike', 'age':2000},
       {'name':'jack', 'age':3000},
       {'name':'mary', 'age':18},
    ]
    print(sorted(people, key=lambda x:x['age'], reverse=True))
    
    d1 = {
       'alex':300,
       'yuanhao':900,
       'lhf':490
    }
    print(sorted(zip(d1.values(), d1.keys()), reverse=True))
    
    # sum()求和
    print(sum(range(5)))
    
    # __import__()与import()函数一样,都是导入模块的功能,但是__import__()函数导入的是字符串,import()函数的工作机制其实是import--->sys--->__import()__
    
    

    while True: print('studying...')
  • 相关阅读:
    勉励自己
    python2+selenium爬取笔趣读小说
    ubuntu下配置host的方法
    如何解决执行Python文件时出现but no encoding declared
    如何解决Python打印汉字时报错UnicodeEncodeError: 'ascii' codec can't encode characters in position 9-12: ordinal not in range(128)
    ubuntu系统下selenium打开火狐浏览器提示'Unable to find a matching set of capabilities.和Message: connection refused
    ubuntu系统下selenium打开火狐浏览器提示'geckodriver' executable needs to be in PATH.解决方法
    Ubuntu系统开root如何解决su:认证失败?
    主机与虚拟机Oracle VM VirtualBox不能复制粘贴的解决办法
    如何解决ubuntu安装selenium时出现错误:Cannot fetch index base URL http://pypi.python.org/simple/
  • 原文地址:https://www.cnblogs.com/xuewei95/p/14435197.html
Copyright © 2020-2023  润新知