Python学习之内置函数

1.abs()取绝对值
print(abs(-1))            1
print(abs(1))             1
2.布尔运算,all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

元素除了是 0、空、FALSE 外都算 TRUE。

print(all([1,2,'1']))            True
print(all([1,2,'1','']))         False
print(all(''))                     True #如果可迭代对象为空,返回True
3.any()有一个为真即为真
print(any([0,'']))                False
print(any([0,'',1]))              True
4.bool()判断布尔值:空,None,0的布尔值为False,其余都为True
print(bool(''))                     False           
print(bool(None))                   False
print(bool(0))                      False
5.bytes()返回一个新的bytes对象
name='你好'
print(bytes(name,encoding='utf-8'))           ==》b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(bytes(name,encoding='utf-8').decode('utf-8'))          ==》你好 #用什么编码就用什么解码(utf-8)

print(bytes(name,encoding='gbk'))               ==》b'\xc4\xe3\xba\xc3'
print(bytes(name,encoding='gbk').decode('gbk'))             你好#用什么编码就用什么解码(gbk)
print(bytes(name,encoding='ascii'))#ascii不能编码中文
6.chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
print(chr(46))               ==》.
7.dir()打印某个对象下面都有哪些方法
print(dir(dict))
8.divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
print(divmod(10,3))      ==》(3, 1)        #10除以3取商和余数
9.hash() 用于获取一个对象(字符串或者数值等)的哈希值。可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型
print(hash('12sdfdsaf3123123sdfasdfasdfasdfasdfasdfasdfasdfasfasfdasdf'))            -3770611814330439003
print(hash('12sdfdsaf31231asdfasdfsadfsadfasdfasdf23'))                                          7627853189009815345

name='alex'
print(hash(name))                     -3756719071540909345
print(hash(name))                     -3756719071540909345

print('--->before',hash(name))         --->before -3756719071540909345
name='sb'
print('=-=>after',hash(name))          =-=>after 5833407911109000262

10.help() 函数用于查看函数或模块用途的详细说明。
print(help(all))
11.进制转换
print(bin(10)) #10进制->2进制   0b1010
print(hex(12)) #10进制->16进制   0xc
print(oct(12)) #10进制->8进制    0o14
12.isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
print(isinstance(1,int))                     True
print(isinstance('abc',str))                 True
print(isinstance([],list))                   True
print(isinstance({},dict))                   True
print(isinstance({1,2},set))                 True
13.globals() 函数会以字典类型返回当前位置的全部全局变量。
name='哈哈哈哈'
print(globals())       {'__name__': '__main__', '__doc__': None, '...}
print(__file__)        #打印文件名C:/Users/jy/Desktop/python全栈s3  day16课上所有/内置函数.py
14.locals() 函数会以字典类型返回当前位置的全部局部变量
def test():
    age='1111111'
    print(locals())
test()               {'age': '1111111'}
15.max,min返回最大最小值
l=[1,3,100,-1,2]
print(max(l))       100
print(min(l))       -1

补充max,min高级用法:

 

#比较多种元素类型时:
dic={'age1':18,'age2':10}
print(max(dic))                    #比较的是key  ==》age2
print(max(dic.values()))       #比较的是value  ==》18
print(max(zip(dic.values(),dic.keys())))  ==>(18, 'age1')#结合zip使用

 

 

 

 

16.eval() 函数用来执行一个字符串表达式,并返回表达式的值。

17.zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。

我们可以使用 list() 转换来输出列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

 

print(list(zip(('a', 'b', 'c'), (1, 2, 3))))          ==》  [('a', 1), ('b', 2), ('c', 3)]
# print(list(zip(('a', 'b', 'c','d'), (1, 2, 3))))  ==》  [('a', 1), ('b', 2), ('c', 3)]

p={'name':'alex','age':18,'gender':'none'}
print(list(zip(p.keys(),p.values())))     ==》    [('name', 'alex'), ('age', 18), ('gender', 'none')]
print(list(zip(p.keys())))       ==》      [('name',), ('age',), ('gender',)]
print(list(zip(p.values())))    ==》      [('alex',), (18,), ('none',)]


18.ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

print(chr(97)) -->a
print(ord('a')) -->97

19.pow() 方法返回 xy(x的y次方) 的值。

print(pow(3,3))           #两个参数相当于3**3          --》       27
print(pow(3,3,2))        #三个参数相当于3**3%2     --》        1

20.reversed()返回一个反转的迭代器
l=[1,2,3,4]
print(list(reversed(l))) ==>[4, 3, 2, 1]
21.round() 方法返回浮点数x的四舍五入值
print(round(3.5)) ==>4
22.set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
print(set('hello')) ==>{'h', 'o', 'l', 'e'}

23.slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

l='hello'
s1=slice(3,5)
s2=slice(1,4,2)
print(l[s1])        ==》lo
print(l[s2])        ==》el

print(s2.start)           1 #起始位置
print(s2.stop)            4 #结束位置
print(s2.step)            2 #间距

24.sorted() 函数对所有可迭代的对象进行排序操作
l=[3,2,1,5,7]
l1=[3,2,'a',1,5,7]
print(sorted(l)) ==》[1, 2, 3, 5, 7]
print(sorted(l1)) #报错,排序的本质就是在比较大小,不同类型之间不可以比较

name_dic={
    'abyuanhao': 11900,
    'alex':1200,
    'wupei':300,
}
print(sorted(name_dic))

print(sorted(name_dic,key=lambda key:name_dic[key]))

print(sorted(zip(name_dic.values(),name_dic.keys())))

输出结果:
['abyuanhao', 'alex', 'wupei']
['wupei', 'alex', 'abyuanhao']
[(300, 'wupei'), (1200, 'alex'), (11900, 'abyuanhao')]

25.str() 函数将对象转化为适于人阅读的形式

print(str('1'))
print(str({'a':1}))
dic_str=str({'a':1})
print(eval(dic_str))


输出结果:
1
{'a': 1}
{'a': 1}

26.sum() 方法对系列进行求和计算。

l=[1,2,3,4]
print(sum(l))                  10
print(sum(range(5)))       10

27.type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。

# 一个参数实例
>>> type(1)
<type 'int'>
>>> type('runoob')
<type 'str'>
>>> type([2])
<type 'list'>
>>> type({0:'zero'})
<type 'dict'>
>>> x = 1          
>>> type( x ) == int    # 判断类型是否相等
True
 
# 三个参数
>>> class X(object):
...     a = 1
...
>>> X = type('X', (object,), dict(a=1))  # 产生一个新的类型 X
>>> X
<class '__main__.X'>
***********************************************
msg='123'
if type(msg) is str:
    msg=int(msg)
    res=msg+1
    print(res)
def test():
    msg='哈哈'
    print(locals())
    print(vars())
test()
print(vars(int))
输出结果:
124
{'msg': '哈哈'}
{'msg': '哈哈'}
{'__repr__': <slot wrapper '__repr__' of 'int' objects>, '__hash__':。。。}

28.

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

如果一个模块经常变化就可以使用 __import__() 来动态载入。

a.py 文件代码:
import os  
 
print ('在 a.py 文件中 %s' % id(os))


test.py 文件代码:
import sys  
__import__('a')        # 导入 a.py 模块


执行 test.py 文件,输出结果为:
在 a.py 文件中 4394716136

29.isinstance(obj,cls)issubclass(sub,super)

 1 #isinstance(obj,cls)检查是否obj是否是类 cls 的对象
 2 class Foo(object):
 3 
 4      pass
 5 obj = Foo()
 6 print(isinstance(obj, Foo))  -->True
 7 
 8 #issubclass(sub, super)检查sub类是否是 super 类的派生类
 9 class Foo(object):
10     pass
11 class Bar(Foo):
12     pass
13 print(issubclass(Bar, Foo))  -->True
14 print(issubclass(Foo,Bar ))  -->Flase
示例

 

  

  

  

 

 

                     

 

posted @ 2018-07-15 12:19  一只小妖  阅读(114)  评论(0)    收藏  举报