Python小白学习之路(十六)—【内置函数一】

将68个内置函数按照其功能分为了10类,分别是:
- 数学运算(7个)
- abs() divmod() max() min() pow() round() sum()
- 类型转换(24个)
- bool() int() float() complex() str() bytearray()
- bytes() memoryview() ord() chr() bin() oct() hex()
- tuple() list() dict() set() frozenset( ) enumerate()
- range() iter() slice() supper() object()
- 序列操作(8个)
- all() any() filter() map() next() reversed() sorted() zip()
- 对象操作(7个)
- help() dir() id() hash() type() len() ascii() format() vars()
- 反射操作(8个)
- _import__() isinstance() issubclass() hasattr() getattr() setattr() delattr() callable()
- 变量操作(2个)
- globals() locals()
- 交互操作(2个)
- print() input()
- 文件操作(1个)
- open()
- 编译执行(4个)
- compile() eval() exec() repr()
- 装饰器(3个)
- property() classmethod() staticmethod()
一、数学运算类(7个)
abs()
- Return the absolute value of the argument.取绝对值
print(abs(-1))
#执行结果
1
divmod()
- divmod(x, y) -> Return the tuple (x//y, x%y).返回商和余数
print(divmod(5, 2))
#执行结果
(2, 1)
max()
- 返回最大值
- 处理的对象为可迭代对象
- (相当于一个for循环取出每一个元素进行比较)
- 不同类型之间是不能进行比较的
- 每个元素进行比较时,是从每个元素的第一个位置开始依次比较
- (如果一个位置分出大小,后面的位置可以不用进行比较便可以得出比较结果)
#用法一:
num_1 = [1,38,2,0,4,7]
print(max(num_1)) #用法二:传入对象为字典,默认比较的是字典的key
age_dic={'age1':14, 'age2':3, 'age3':45, 'age1':18}
print(max(age_dic))
print(max(age_dic.values())) # 比较的是字典的values
#执行结果
age4
45
用法三:
任务:
将给定名单中年龄最大的找出来
people_list = [
{'name':'xhg','age':18},
{'name':'aaa','age':10},
{'name':'bbb','age':30},
{'name':'ccc','age':14},
]
print(max(people_list, key = lambda dic:dic['age']))
#执行结果
{'name': 'bbb', 'age': 30}
'''
#程序分析
#这段代码的理解 max(people_list, key = lambda dic:dic['age'],实际上进行了这样一个操作
ret = []
for item in people_list:
ret.append(item['age'])
print(max(ret))
'''
min()
- 返回可迭代对象的元素中的最小值或者所有参数的最小值
- 具体用法同max()函数
pow()
- Equivalent to x**y (with two arguments) or x**y % z (with three arguments)
- 两个参数,做幂运算
- 三个参数,先做幂运算,再取余
print(pow(2,3))
#执行结果
8
print(pow(2,3,3))
#执行结果
2
round()
- 对浮点数进行四舍五入求值
- 第二个参数为可选参数,如果不填默认取整,参数代表保留的位数
print(round(3.1415926))
print(round(3.1415926, 3))
#执行结果
3
3.142
sum()
- 对可迭代对象中的每个元素求和
- 可迭代对象中的元素类型是数值
print(sum([1, 2, 3, 4, 5]))
#执行结果
15
二、类型转换(24个)
bool()
- 根据传入的参数的逻辑值创建一个新的布尔值
- None '' () {} [] 0 ==>False
- 其余 ==>True
print(bool(None))
print(bool('xhg'))
#执行结果
False
True
int()
- 根据传入的参数创建一个整数
print(int('')) #将字符串转化为整形
print(int(123.9)) #取整
#执行结果
123
123
float()
根据传入的参数创建一个新的浮点数
print(float('123.78')) #将字符串转化为浮点型
print(float(123)) #将整形转换成浮点型
#执行结果
123.78
123.0
complex()
- 根据传入参数创建一个新的复数
- 有两个参数:
- 第一个参数是实部;第二个参数是虚部
- 不填参数,默认输出为 0j
- 只填一个参数 a,则输出 a + 0j
print(complex())
print(complex(1))
print(complex(1, 2)) #执行结果
0j
(1+0j)
(1+2j)
str()
- 将目标参数转化为字符串
print(str(123))
print(type(str(123)))
print(str([1, 2, 3, 4, 'xhg']))
print(type(str([1, 2, 3, 4, 'xhg']))) #执行结果
123
<class 'str'>
[1, 2, 3, 4, 'xhg']
<class 'str'>
bytearray()
- 根据传入的参数创建一个新的字节数组
- 可传入的参数:
- 字符串(使用指定编码方式编码);bytearray()然后使用str.encode()将字符串转换为字节。
- 如果它是一个整数,那么数组将具有这个大小,并将用null字节初始化。
- 如果它是符合缓冲区接口的对象,则将使用对象的只读缓冲区来初始化字节数组。
- 如果它是可迭代的,那么它必须是range 0 < = x < 256的整数的迭代,它被用作数组的初始内容
a = bytearray('小伙郭', encoding = 'utf -8' ) #字符串需要指定编码方式
print(a, len(a))
b = bytearray('小伙郭', encoding = 'gbk' )
print(b, len(b))
c = bytearray([1,2,3,255]) #如果元素大于255,将会报错
print(c, len(c))
#执行结果
bytearray(b'\xe5\xb0\x8f\xe4\xbc\x99\xe9\x83\xad') 9
bytearray(b'\xd0\xa1\xbb\xef\xb9\xf9') 6
bytearray(b'\x01\x02\x03\xff') 4
bytes()
- 根据传入的参数创建一个新的不可变字节数组
- 具体用法及传入的参数同函数bytearray()
ord()
chr()
- 返回Unicode字符对应的整数
- 返回整数所对应的Unicode字符
print(ord('d'))
print(chr(100))
#执行结果
100
d
bin()整数-->2进制字符串
oct()整数-->8进制数字符串
hex()整数-->16进制字符串
print(bin(5))
print(oct(10))
print(hex(15)) #执行结果
0b101
0o12
0xf
tuple()
- 根据传入的参数创建一个新的元组
- 传入的参数为空或者是可迭代对象
print(tuple())
print(tuple(''))
print(tuple([1, 2, 'a', 'b'])) #执行结果
()
('', '', '', '', '', '')
(1, 2, 'a', 'b')
list()
- 根据传入的参数创建一个新的列表
- 传入的参数为空或者是可迭代对象
print(list())
print(list(''))
print(list([1, 2, 'a', 'b'])) #执行结果
[]
['', '', '', '', '', '']
[1, 2, 'a', 'b']
dict()
- 根据传入的参数创建一个新的字典
- 可以由下列四种方式传入参数:
- 不传入参数,建立空字典
- 通过映射函数创建字典
- 通过键值对来创建字典
- 通过可迭代对象来创建字典
print(dict())
print(dict(zip(['key1', 'key2'],[1, 2])))
print(dict(key1 = 'a', key2 = 'b'))
print(dict([['key1',1], ['key2','b']])) #执行结果
{}
{'key1': 1, 'key2': 2}
{'key1': 'a', 'key2': 'b'}
{'key1': 1, 'key2': 'b'}
set()
- 根据传入的参数创建一个新的集合
- set() -> new empty set object
- set(iterable) -> new set object
print(set())
print(set(''))
print(set([1,2,3,'a','b'])) #执行结果
set()
{'', '', '', '', '', ''}
{1, 2, 3, 'b', 'a'}
frozenset()
- 根据传入的参数创建一个新的不可变集合
print(frozenset())
print(frozenset('')) frozenset()
frozenset({'', '', '', '', '', ''})
range()
- 根据传入的参数创建一个新的range对象
- python3里面,需要通过for循环来创建range()每一个元素
- range(a,b)-->左闭右开
- range(stop) -> range object
- range(start, stop[, step]) -> range object
for item in range(5):
print(item)
for item in range(10, 15):
print(item)
for item in range(0, 100, 20):
print(item) #执行结果
0 1 2 3 4
10 11 12 13 14
0 20 40 60 80
写在后面:
内置函数总结好多哦
今天眼睛看电脑时间太长了 累
明天继续总结吧
今天也就总结了一半的样子
最近发现之前的知识有些忘记了
需要返回去再看看了
开题报告写的不是很好 今天老师要求重新写
好好加油吧
明天就是周末啦 可以粗去吃好吃的 放松放松
更重要的 双11 买买买
Python小白学习之路(十六)—【内置函数一】的更多相关文章
- Python基础学习参考(三):内置函数
一:内置函数 在第一篇文章中,我们简单的认识了一下print()函数和input()函数,也就是输入和输出,这些函数我们可以直接的调用,不要自己定义或者引入什么,对吧?想这样的函数就叫做内置函数.这里 ...
- Python3学习之路~3.3 内置函数
Python内置函数表: 内置参数详解:https://docs.python.org/3/library/functions.html?highlight=built#ascii 用法: #Auth ...
- oracle——学习之路(oracle内置函数)
oracle与很多内置函数,主要分为单行函数与集合函数. 首先要提一下dual表,它oracle的一个表,没有什么实质的东西,不能删除它,否则会造成Oracle无法启动等问题,他有很大用处,可以利用它 ...
- Python小白学习之路(六)—— 【元祖】【元祖相关功能】
元祖 tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,) 通过这个例子,我们看到元祖的特征: 是通过括号()括起来的 一般写元祖的时候,推荐子 ...
- python第十二天 生成器,迭代器,内置函数
第二模块学习: 生成器,迭代器,内置函数 生成器特点:只有在调用时才会生成相应的数据,运行的速度快! 示例: def fil(max):#斐波那契数 n,a,b=0,0,1 #定义初始数据 whil ...
- Python小白学习之路(二十二)—【生成器】
一.什么是生成器? 生成器可以理解成是一种数据类型,特殊地是生成器可以自动实现迭代器协议其他的数据类型需要调用自己内置的__iter__方法所以换种说法,生成器就是可迭代对象 !回忆:很重要的迭代器协 ...
- python(六)内置函数
一.函数知识补充 函数不设置值,默认返回None:函数中参数都是按引用传递,函数里修改了参数,原始参数也会修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- python学习笔记(五)— 内置函数
我们常用的‘’int,str,dict,input,print,type,len‘’都属于内置函数 print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any( ...
- python学习笔记(四):生成器、内置函数、json
一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...
随机推荐
- attempt to create delete event with null entity
解决办法:删除之前判断是否为空 if(Object != null){ session.delete(Object); }
- jquery validate 之多tab页同时校验问题
1.设置多tab页同时校验: $("form").validate({ignore: ":hidden", ignore: ""}); 由于 ...
- Tomcat中的Web.xml和servlet.xml的学习
Web.xml文件使用总结 作用: 存储项目相关的配置信息,保护servlet.解耦一些数据对程序的依赖 使用位置: 每个web项目中 Tomcat服务器中(在服务器目录conf目录中) 区别: We ...
- Django入门与实践-第21章:迁移(完结)
http://127.0.0.1:8000/boards/1/ python manage.py migrate #boards/models.py class Topic(models.Model) ...
- 链家笔试链家——找寻最小消费获取最大平均分java
链家找寻最小消费获取最大平均分 输入: 5 5 4#表示科目数n,每科最大分值r,平均分avg 5 2#每科的实际得分,分数加1分的消耗的能量 4 7 3 1 3 2 2 5 输出: 4 #到达n*a ...
- day13(反射,BeanUtils包)
反射, 获取字节码文件的方式: 方式一: 对象.getClass(); 方式二: 类名.Class; 方式三: Class.forName(String Class); 通过字节码文件获取对象 定 ...
- (KMP)Seek the Name, Seek the Fame -- poj --2752
http://poj.org/problem?id=2752 Seek the Name, Seek the Fame Time Limit: 2000MS Memory Limit: 65536 ...
- (有点递归的感觉)RGCDQ--hdu--5317
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5317 感觉好神奇呀,一堆数在一起可以找到规律,学长讲完后,觉得自己是如此的so young f[x] ...
- Reactor 模式在Netty中的应用
Reactor 模式在Netty中的应用 典型的Rector模式 mainReactor 服务端创建成功后,会监听Accept操作,其中ServerSocketchannel中的PipeLine中现在 ...
- hdu 2149
题目 巴什博奕(Bash Game) 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规 定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一 ...