Python_base20181112_function

内置函数

'''
abs接收一个数字,返回它的绝对值
'''
n = -5.1
print(abs(n))
# 输出:5.1

'''
all接收一个可迭代对象,对可迭代对象中的每个元素做and布尔运算
返回and运算的值。
如果传入的可迭代对象是一个str,则直接返回True
如果传入的可迭代对象为空,也返回True
'''
l = [1,2,3,4,5]
print(all(l))
l.append(0)
print(all(l))
print(all(''))
# 输出: True False True

'''
any接收一个可迭代对象,对可迭代对象中的每个元素做or运算。
返回or运算的值。
如果传入的是一个非空str,则直接返回True
如果传入的可迭代对象为空,则返回False
'''
l = ['',None]
print(any(l))
l.append(1)
print(any(l))
print(any(''))
# 输出: False True False

'''
bin 将十进制转化为二进制
'''
print(type(bin(3)),bin(3))
# 输出:<class 'str'> 0b11

'''
bool  将obj转化为布尔值
'''
print(bool('dsa'))
# 输出 : True

'''
ascii码值 = bytes(除了字符串之外的内置类型)
指定码值 = bytes(str,encoding='指定编码')
'''
print(bytes((1,)))
print(bytes([1,3,4,5]))
print(bytes('vth',encoding='ascii'))
# 输出:b'\x01'
# b'\x01\x03\x04\x05'
# b'vth'

'''
chr和ord是一对儿。
chr用0到255的整数作为参数,以ascii的编码方式返回字符
ord接收的是ascii的编码方式的字符,返回对应的整数
'''
print(chr(65))
print(ord('A'))
# 输出:A
# 65

'''
dir() # 返回当前模块的属性列表
dir(obj) # 返回对象的方法
'''
print(dir())
print(dir('s'))
# 输出:['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'l', 'n']
# ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

'''
divmod(a,b) # 返回一个元组,(a//b,a%b)
'''
shang,yu = divmod(5,3)
print(shang,yu)
# 输出:1 2

'''
eval(str) # 去掉str的标志'' 计算出去掉后的表达式的值
'''
print(eval('1+2+3'))
# 输出:6

'''
hash(不可变类型)  # 计算不可变序列的哈希值
'''
print(hash((1,2)))
# 输出:3713081631934410656

'''
help() # 掠过。。
'''

# bin(数字)  转成2进制
# hex(数字)  转成16进制
# oct(数字)  转成8进制

'''
isinstance(obj,class)
接收一个obj,看看它是不是class类型或者class的子类实例化出来的
如果是,返回True
'''
print(isinstance('ss',str))
# 输出:True

'''
issubclass(class1,class2)
接收一个class,看看它是不是class2类型或者是class2类型的子类
'''
class d(str):
    pass
print(issubclass(d,str))
# 输出: True

'''
locals() # 返回一个包含局部变量的字典,键值对为变量名:值
globals() # 返回一个包含全局变量的字典,键值对为变量名:值
'''

'''
max 和 min 和 sort 和 sorted 只能处理相同的数据类型
如果iterable中混杂了数字和字符串,肯定没法比较的
字典与字典之间是不能够比较的。
'''
l = [1,2,3,4,5]
print(max(l))

d = {'vth':1,'sdut':2,'bjfu':3}
print(sorted(d,key=lambda x:d[x]))
# 输出:5
# ['vth', 'sdut', 'bjfu']


'''
pow() 接收两个或3个函数
'''
print(pow(2,3)) # 2**3
print(pow(2,3,5)) # 2**3%5
# 输出:8
# 3

'''
reversed 函数返回一个反转的迭代器。
对于非字符串来讲,可以强制类型转换
对于字符串来讲,只能通过next访问了。
'''
st = 'faker'
s = reversed(st)
while True:
    try:
        print(s.__next__(),end='')
    except:
        print()
        break
l = [1,2,3]
print(list(reversed(l)))
# 输出:rekaf
# [3, 2, 1]

'''
round(数字,精度=0) # 四舍五入 默认不保留小数
'''
print(round(3.22,1))
# 输出:3.2

'''
s = slice(start,end,step=1)
# 将切片存到s中
'''

l = [1,2,3,4,5]
s = slice(2,4,1)
print(l[s])
# 输出:[3, 4]


'''
type(obj) 判断某对象是不是某类型的
注意,这个不能识别父类。
'''
class A(str):
    pass

if type(A) is str:
    print(True,end='1')
a = A()
if type(a) is str:
    print(True,end='2')
if type(a) is A:
    print(True)
# 输出: True


'''
import test 等价于  __import__('test')
在内部,import test要调用sys  sys来调用__import__('test')
'''

猜你喜欢

转载自blog.csdn.net/weixin_41687289/article/details/83996187