姓名:刘浩然。 2020年大目标Python

day16 Python 内置函数 大体演示想看就看,会用就行

 1、abs() 获取绝对值

a = -10
print(a.__abs__())

结果:
10

 2、all()  接收一个迭代器,如果跌电气的所有元素都为真,那么返回True,否则返回False

tmp_1 = ['python',123]
print(all(tmp_1))
tmp_2 = []
print(all(tmp_2))
tmp_3 = [0]
print(all(tmp_3))
tmp_4 = ''
print(all(tmp_4))


结果:
True
True
False
True

3. any()  接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False

4. ascii()  调用对象的__repr__()方法,获得该方法的返回值.

5. bin(), 6. oct(),  7. hex()    三个函数功能为:将十进制数分别转换为2/8/16进制。

8. bool()  测试一个对象是True还是False,空,None,0布尔值都是False,其余是True

9、bytes() 将字符串

s = 'python'
x = bytes(s, encoding='utf-8')
print(x)
a = '王'
s = bytes(a, encoding='utf-8')
print(s)

如果:
b'python'
b'\xe7\x8e\x8b'

10、str() 将字符类型、数值类型转换成字符串类型

print(str(b'\xe7\x8e\x8b',encoding='utf-8'))
print(str(1))
print(type(str(1)))

如果:
王
1
<class 'str'>

11. challable()  判断对象是否可以被调用,能被调用的对象就是一个callables对象,比如函数和带有__call__()的实例

12、chr()  打印ASCII表

print(chr(65))

结果:
A

 12、dir()   打印某一个对象有哪些方法

print(dir(all))

结果:
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']

 13、divmod()  分别取商和余数,比如网页搜索分页,一页中有多少条记录,余下的单放一页

print(divmod(20,8))

结果:
(2, 4)

 14、enumerate()  返回一个可以枚举的对象,该对象的next()方法将返回一个元组

test = ['a','b','c']
for k,v in enumerate(test):
    print(k+1,v)

结果:
1 a
2 b
3 c

15、eval()  将字符串中得数据结构提取出来

例子1
dic = {'name':'pluto'}
print(dic.get('name'))
print(type(dic))

dic_str = str(dic)
print(type(dic_str))

dic_dic = eval(dic_str)
print(type(dic_dic))
print(dic_dic.get('name'))


结果:
pluto
<class 'dict'>
<class 'str'>
<class 'dict'>
pluto



例子2
s = "1+2*3"
print(type(s))
print(eval(s))

结果:
7

16、 hash()  哈希值,可哈希的数据类型即不可变数据类型,不可哈希的数据类型即可变数据类型

1 hash(object)
2 如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,在字典查找中,哈希值用于快递比价字典的键。
3 两个数值如果相等,则哈希值也相等。

 17、help() 帮助文档

print(help(all))

查看帮助
Help on built-in function all in module builtins:

all(iterable, /)
    Return True if bool(x) is True for all values x in the iterable.
    
    If the iterable is empty, return True.

None

18、bin(),oct(),hex()    三个函数功能为:将十进制数分别转换为2/8/16进制。 

print(bin(10))
print(oct(10))
print(hex(10))

结果:
0b1010
0o12
0xa

19、id()  返回对象的内存地址

20、isinstance()  检查对象是否是类的对象,返回True或False

print(isinstance(1,str))
print(isinstance(1,int))
print(isinstance({1,2,'s'},set))

结果:
False
True
True

21、 len()  返回对象长度,参数可以是序列类型(字符串,元组或列表)或映射类型(如字典)

22、 globals()  返回一个描述当前全局变量的字典

name = '对象'
print(globals())

结果:
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f06f2534c88>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/opt/zifuchuangeshihua.py', '__cached__': None, 'name': '对象'}

23、 locals()  打印当前可用的局部变量的字典

24、 max()  返回给定元素里最大值

25、 min()  返回给定元素里最小值 

max,min

1、max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较,注意,不同类型之间的不能比较

2、每个元素间进行比较,是从每个元素的第一个位置依次比较,如果这一个位置分出来大小,后面的就不需要比较了,直接取出这两个元素的大小

age_dic = {'a1':10,'g3':20,'e2':30}
#字典默认比较的是key for item in zip(age_dic.values(),age_dic.keys()): print(item) print(list(max(zip(age_dic.values(),age_dic.keys())))) # print(list(min(zip(age_dic.values(),age_dic.keys())))) l_t = [ (5,'e'), (1,'a'), (6,''), (3,'b'), (4,'d'), ] print(list(max(l_t))) 结果: (10, 'a1') (20, 'g3') (30, 'e2') [30, 'e2'] [6, '']
l = [1,2,3,100,-1,2]
print(max(l))
print(min(l))

结果:
100
-1

 终极晚玩法

people = [
    {'name':'charon','age':10},
    {'name':'pluto','age':1100},
    {'name':'peter','age':12},
    {'name':'alex','age':13}
]
print(max(people,key=lambda dic:dic['age']))

#ret=[]
#for item in people:
#    ret.append(item['age'])
#print(ret)
#print(max(ret))

结果:
{'name': 'pluto', 'age': 1100}
[10, 1100, 12, 13]
1100

 min类似

26、delattr()  删除对象的属性

27、dict()  创建数据字典

28、float()  讲一个字符串或整数转换为浮点数

29、format()  格式化输出字符串,format(value, format_spec)实质上是调用了value的

30、frozenset()  创建一个不可修改的集合

31、 getattr()  获取对象的属性

32、getattr()  获取对象的属性

33、int()  将一个字符串或数值转换为一个普通整数

34、issubclass()  检查一个类是否是另一个类的子类。返回True或False

35、open()  打开文件

36、range()  根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数

37、set()       集合

38、str()  字符串构造函数

39、sum()  求和

40、tuple()  元组构造函数

41、type()  显示对象所属的类型

42、zip()  将对象逐一配对

list_1 = [1,2,3]
list_2 = ['a','b','c']
s = zip(list_1,list_2)
print(list(s))
 
运行结果:
 
[(1, 'a'), (2, 'b'), (3, 'c')]
a = [(1,),(2,),(3,)]
r = zip(*a)
print(list(r))
运行结果:
[(1, 2, 3)]
print(list(r)[0])
运行结果:
(1, 2, 3)
print(list(zip(('a','b','c'),(1,2,3))))
print(list(zip(('a','b','c'),(1,2,3,4))))
print(list(zip(('a','b','c','d'),(1,2,3))))

p = {'name':'charon','age':18,'gender':'F'}
print(list(zip(p.keys(),p.values())))

print(list(zip('hello','12345')))


结果:
[('a', 1), ('b', 2), ('c', 3)]
[('a', 1), ('b', 2), ('c', 3)]
[('a', 1), ('b', 2), ('c', 3)]
[('name', 'charon'), ('age', 18), ('gender', 'F')]
[('h', '1'), ('e', '2'), ('l', '3'), ('l', '4'), ('o', '5')]

43、reversed  翻转

l = [1,2,3]
print(list(reversed(l)))
print(l)

结果:
[3, 2, 1]
[1, 2, 3]

44、round  四舍五入

num = 4.6
print(round(num))

结果:
5

45、slice  切片

srt_slice = 'charonpluto'
s1 = slice(3,5)
s2 = slice(1,9,2)
print(srt_slice[s1])
print(srt_slice[s2])
#硬切,可读性不是太强
print(srt_slice[3:5])


结果:
ro
hrnl
ro

46、sorted  排序,不同类型不能排序,本质就是比较

l = [1,3,5,2,4]
print(sorted(l))

people = [
    {'name':'charon','age':10},
    {'name':'pluto','age':1100},
    {'name':'peter','age':12},
    {'name':'alex','age':13}
]

print(sorted(people,key=lambda dic:dic['age']))


结果:
[1, 2, 3, 4, 5]
[{'name': 'charon', 'age': 10}, {'name': 'peter', 'age': 12}, {'name': 'alex', 'age': 13}, {'name': 'pluto', 'age': 1100}]

 47、open

文件处理读操作

# f=open('陈粒',encoding='utf-8')
# data=f.read()
# print(data)
# f.close()

# f=open('xxx')
# data=f.read()
# print(data)

#r w a
f=open('陈粒','r',encoding='utf-8')
# data=f.read()
# # print(data)
# print(f.readable())#是否是可读
# print('第1行',f.readline(),end='')
# print('第2行',f.readline())
# print('第3行',f.readline())
# # for i in range(1):
# #     pass
# print('第4行',f.readline())
# print('第5行',f.readline())
# print('第6行',f.readline())
# print('第7行',f.readline())

data=f.readlines()
print(data)
f.close()

 文件处理写操作#文件存在先清空掉,在操作,不存在就创建一个新的

f=open('陈粒1','w',encoding='utf8')
# f.read()
f.write('11111111\n')
f.write('222222222\n')
f.write('333\n4444\n555\n')
# f.writable()#是否是可写
f.writelines(['555\n','6666\n'])
f.writelines(['555\n','6666\n',1]) # 文件内容只能是字符串,只能写字符串
f.close()

 文件处理追加操作

f=open('陈粒1','a',encoding='utf-8')
f.write('写到文件最后')

 文件处理其他模式

# f=open('xxx','r+',encoding='gbk')
# # data=f.read()
# # print(data)
# # f.write('123sb')
#
#
#
# f.write('sb')


#文件修改
# src_f=open('xxx','r',encoding='gbk')
# data=src_f.readlines()
# src_f.close()
#
# # for i in data:
# #     print(i)
# print(data)
# dst_f=open('xxx','w',encoding='gbk')
# # dst_f.writelines(data)
# dst_f.write(data[0])
# dst_f.close()

# with open('a.txt','w') as f:
#     f.write('1111\n')


# src_f=open('xxx','r',encoding='gbk')
# dst_f=open('xxx','w',encoding='gbk')
# with open('xxx','r',encoding='gbk') as src_f,\
#         open('xxx_new','w',encoding='gbk') as dst_f:
#     data=src_f.read()
#     dst_f.write(data)

f=open('a.txt')
print(f.encoding) #查看文件编码

 

posted @ 2019-02-14 18:00  pluto2charon  阅读(200)  评论(0编辑  收藏  举报