python3 内置函数
内置函数导图:
https://www.processon.com/view/link/5b4ee15be4b0edb750de96ac#map
'''python中的内置函数分类
1、输入输出:print、input
需要注意的是input输入的数据是字符串类型。
''' print("Hello world") age = input("请输入您的年龄:").strip()
print(age)
print(type(age))
Hello world
请输入您的年龄:18
18
<class 'str'>
'''2、数据类型强制转换:int、bool、str、list、dict、tuple、set、float、bytes'''
bs = bytes("中国", encoding="utf-8")
print(bs)
print(type(bs)) bs2 = "中国".encode("utf-8")
print(bs2)
print(type(bs2))
b'\xe4\xb8\xad\xe5\x9b\xbd'
<class 'bytes'>
b'\xe4\xb8\xad\xe5\x9b\xbd'
<class 'bytes'>
'''3、进制转换:bin、oct、int、hex、format'''
# 十进制转换为二进制bin和format
print(bin(188))
print(type(bin(188))) print(format(188, "b"))
0b10111100
<class 'str'>
10111100
# 十进制转换为八进制oct和format
print(oct(188))
print(type(oct(188))) print(format(188, "o"))
0o274
<class 'str'>
274
# 十进制转换为十六进制hex和format
print(hex(188))
print(type(hex(188))) print(format(188, "x")) # 小写 print(format(188, "X")) # 大写
0xbc
<class 'str'>
bc
BC
# 二进制转换为十进制int
print(int("", base=2)) print(int("0b10111100", base=2))
188
188
# 八进制转换为十进制int
print(int("0o274", base=8)) print(int("", base=8))
188
188
# 十六进制转换为十进制
print(int("0xbc", base=16)) print(int("bc", base=16))
188
188
'''4、编码相关:chr、ord'''
# 取字符串在ascii或unicode中的数值
o = ord("a")
print(o) o2 = ord("中")
print(o2) # 取数值在ascii或unicode中的字符串
s2 = chr(97)
print(20013)
print(s2)
97
20013
20013
a
'''5、数学相关:max、min、sum、divmod、abs、pow、round'''
# max取最大值
print(max([4, 6, 7, 1, 0]))
7
# min取最小值
print(min([4, 6, 7, 1, 0]))
0
# sum求和
print(sum([4, 6, 7, 1, 0]))
18
# divmod求商和余数
print(divmod(10, 3))
(3, 1)
'''请通过分页对数据进行展示
要求:每页显示10条数据,让用户输入要查看的页码数
'''
lst = [] for i in range(88):
dic = {"name": f"张{i}", "email": f"aa{i}@163.com"}
lst.append(dic) total_num = len(lst) # 总数据条数
per_page_num = 10 # 每页显示的数据条数
max_page, last_page = divmod(total_num, per_page_num) if last_page:
max_page += 1 # 一共有max_page页 choice = int(input(f"共{total_num}条数据,共{max_page}页。请输入你要查看的页码数:").strip()) start = (choice-1) * per_page_num # 开始切片位置
end = choice*per_page_num # 结束切片位置 if choice in range(1, max_page+1):
for item in lst[start:end]:
print(item)
else:
print(f"输出错误,请输入1-{max_page}")
共88条数据,共9页。请输入你要查看的页码数:8
{'name': '张70', 'email': 'aa70@163.com'}
{'name': '张71', 'email': 'aa71@163.com'}
{'name': '张72', 'email': 'aa72@163.com'}
{'name': '张73', 'email': 'aa73@163.com'}
{'name': '张74', 'email': 'aa74@163.com'}
{'name': '张75', 'email': 'aa75@163.com'}
{'name': '张76', 'email': 'aa76@163.com'}
{'name': '张77', 'email': 'aa77@163.com'}
{'name': '张78', 'email': 'aa78@163.com'}
{'name': '张79', 'email': 'aa79@163.com'}
# abs求绝对值
print(abs(-8))
8
# pow求次幂
print(pow(2, 3)) print(2**3)
8
8
# round四舍五入
print(round(3.1415926, 2)) print(round(3.1415926, 4))
3.14
3.1416
'''6、迭代器、生成器相关:iter、next、range''' # range(n) 表示0到n的可迭代数据集
r = range(10)
print(r)
print(type(r)) # range(start, end) [start, end) 顾头不顾尾
r2 = range(1, 10)
print(r2)
print(type(r2)) # range(start, end, step) 步长为step, 当step为正数时,表示从start到end-1,每step个取一个
r3 = range(1, 10, 2)
print(list(r3)) # range(start, end, step) 当step为负数时,表示从start到end-1,每abs(step)个取一个
r4 = range(10, 2, -2)
print(list(r4))
range(0, 10)
<class 'range'>
range(1, 10)
<class 'range'>
[1, 3, 5, 7, 9]
[10, 8, 6, 4]
'''可迭代对象使用iter可以生成一个迭代器,iter和__iter__等同'''
lst = [3, 5, 1] # 生成一个迭代器
it = iter(lst)
print(it) # 从迭代器中取值
v1 = next(it)
print(v1)
v2 = next(it)
print(v2)
v3 = next(it)
print(v3) # 当数据取完时,再使用next会报错StopIteration
v4 = next(it)
print(v4)
<list_iterator object at 0x0000000005A83B70>
3
5
1
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
<ipython-input-46-76deef2c56d9> in <module>()
15
16 # 当数据取完时,再使用next会报错StopIteration
---> 17 v4 = next(it)
18 print(v4) StopIteration:
'''7、内存相关:id、hash''' # 不可变的数据类型,就是可哈希的数据类型:int、bool、str、tuple
# 取变量的哈希值
h = hash("中国")
print(h) # 获取内存地址
i = id("中国")
print(i) i2 = id({"name":"lily", "age": 18})
print(i2)
-4883128536252665742
95047904
95109912
'''可变的数据类型,没有hash值'''
h = hash({"name":"lily", "age": 18})
print(h)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-53-b45da8ba84b8> in <module>()
1 '''可变的数据类型,没有hash值'''
----> 2 h = hash({"name":"lily", "age": 18})
3 print(h) TypeError: unhashable type: 'dict'
'''8、字符串类型代码的执行:exec、eval、compile'''
# exec无返回值
print(exec("[3, 5, 1]"))
exec("print(1)") # eval有返回值
print(eval("[3, 5, 1]"))
eval("print(2)") # compile
exec(compile("for i in range(8, 10):print(i)", "", "exec"))
None
1
[3, 5, 1]
2
8
9
'''9、文件操作相关:open'''
with open("a.txt", "w", encoding="utf-8") as f:
f.write("我正在写入文件内容")
'''10、相关的内置函数:sorted、filter、map、reduce、zip、all、any、enumerate'''
# sorted(iter, key=func, reverse=False/True)
# iter:可迭代对象,可迭代对象中的每个元素作为func的参数进行传递
# key: 函数名,根据函数体的返回值,进行排序,将原可迭代对象,重新排序,并返回
# reverse:倒序
# sorted 对可迭代对象根据条件进行排序,没有条件,默认升序排序
s = sorted([5, 1, 6])
print(s) # sorted 对可迭代对象根据条件进行排序,升序
s2 = sorted(["abc", "", "sd"], key=lambda x: len(x))
print(s2) # sorted 对可迭代对象根据条件进行排序,降序
s3 = sorted(["abc", "", "sd"], key=lambda x: len(x), reverse=True)
print(s3)
[1, 5, 6]
['4', 'sd', 'abc']
['abc', 'sd', '4']
# filter 筛选,过滤用的,返回的是一个迭代器
f = filter(lambda x: x > 20, [21, 17, 24])
print('__iter__' in dir(f))
print(list(f))
True
[21, 24]
# map 映射,对可迭代对象中的每个元素做相同的操作,返回的是一个迭代器
m = map(lambda x: x+"_good", ["lily", "lucy", "tom"])
print("__iter__" in dir(m))
print(list(m))
True
['lily_good', 'lucy_good', 'tom_good']
# reduce 对可迭代对象中的每个元素做指定的操作,函数默认有两个参数,返回一个结果数据
from functools import reduce # 注意观察,对长度为3的可迭代对象做reduce操作,其实一共执行了3-1次函数的调用
def func(x, y):
print(1)
return x + y r = reduce(func, [1, 2, 3])
print(r) # 使用匿名函数
r2 = reduce(lambda x, y: x+y, [1, 2, 3])
print(r2)
1
1
6
6
# zip拉链函数,水桶效应, 返回一个迭代器
lst = [0, 1, 2]
lst2 = ["a", "b", "c"]
z = zip(lst, lst2)
print(z)
print("__next__" in dir(z))
print(list(z))
# 取完了,就为空
print(list(z)) # 也可以返回一个字典
z = zip(lst, lst2)
print(z)
print(dict(z))
# 取完了,就为空
print(dict(z))
<zip object at 0x0000000005CE8A08>
True
[(0, 'a'), (1, 'b'), (2, 'c')]
[]
<zip object at 0x0000000005CDDE08>
{0: 'a', 1: 'b', 2: 'c'}
{}
# all相当于and,最后返回的是bool值
re = all([3, 4, "a"])
print(re) re1 = 3 and 4 and "a"
print(re1)
True
a
# any相当于or,最后返回的是bool值
re = any([3, 4, "a"])
print(re) re1 = 3 or 4 or "a"
print(re1)
True
3
# enumerate枚举, enumerate(可迭代对象),从0开始计数
for i, v in enumerate(["one", "two", "three"]):
print(i, v) # enumerate(可迭代对象, n) ,从n开始计数
for i, v in enumerate(["one", "two", "three"], 6):
print(i, v)
0 one
1 two
2 three
6 one
7 two
8 three
'''11、字符串格式化format'''
# 居中,空白补空
print(format("居中", "^20")) # 居中,*号补空
print(format("居中", "*^20")) # 居左,空白补空
print(format("居左", "<20")) # 居左,=号补空
print(format("居左", "=<20")) # 居右,空白补空
print(format("居右", ">20")) # 居右,#号补空
print(format("居右", "#>20")) # 保留2位小数
print(format(3.1415926, ".2f")) # 保留4位小数,会四舍五入哦
print(format(3.1415926, ".4f"))
居中
*********居中*********
居左
居左==================
居右
##################居右
3.14
3.1416
'''12、调用相关:callable'''
# 可调用的,返回bool值
def func():
print("func")
callable(func)
True
'''13、查看内置属性'''
print(dir(list))
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
python3 内置函数的更多相关文章
- python3内置函数大全(顺序排列)
python3内置函数大全 内置函数 (1)abs(), 绝对值或复数的模 1 print(abs(-6))#>>>>6 (2)all() 接受一个迭代器,如果迭代器的所有 ...
- python3内置函数大全
由于面试的时候有时候会问到python的几个基本内置函数,由于记不太清,就比较难受,于是呕心沥血总结了一下python3的基本内置函数 Github源码: https://github. ...
- Python3内置函数、各数据类型(int/str/list/dict/set/tuple)的内置方法快速一览表
Python3内置函数 https://www.runoob.com/python3/python3-built-in-functions.html int https://www.runoob.co ...
- python3内置函数详解
内置函数 注:查看详细猛击这里 abs() 对传入参数取绝对值 bool() 对传入参数取布尔值, None, 0, "",[],{},() 这些参数传入bool后,返回False ...
- python 之 python3内置函数
一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来. 二. 使用说明 以下是Python3版本所有的内 ...
- Python3 内置函数补充匿名函数
Python3 匿名函数 定义一个函数与变量的定义非常相似,对于有名函数,必须通过变量名访问 def func(x,y,z=1): return x+y+z print(func(1,2,3)) 匿名 ...
- python3 内置函数详解
内置函数详解 abs(x) 返回数字的绝对值,参数可以是整数或浮点数,如果参数是复数,则返回其大小. # 如果参数是复数,则返回其大小. >>> abs(-25) 25 >&g ...
- python3 内置函数enumerate
一.简介: 该函数在字面上是枚举.列举的意思,用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列, 同时列出数据和数据下标,一般用在 for 循环当中,可同时得到数据对象的值及对应的 ...
- python3内置函数
abs()Return the absolute value of a number. The argument may be an integer or a floating point numbe ...
随机推荐
- angular分页插件tm.pagination 解决触发二次请求的问题
angular分页插件tm.pagination(解决触发二次请求的问题) DEMO: http://jqvue.com/demo/tm.pagination/index.html#?current ...
- CSS效果:这里有你想要的CSS3漂亮的自定义Checkbox各种复选框
在原来有一篇文章写到了<CSS效果篇--纯CSS+HTML实现checkbox的思路与实例>. 今天这篇文章主要写各种自定义的checkbox复选框,实现如图所示的复选框: 大致的html ...
- 如何制作微信动态表情包 GIF制作工具哪个好
表情包已经成为我们生活聊天中必不可少的一部分,但是如何制作微信动态表情包呢?自己制作的表情包更加独有个性,今天小编带大家看一波原创表情包的制作方法吧! 使用工具:电脑 操作方法: 1.首先在手机上也是 ...
- JavaScript面向对象编程指南(六) 继承
第6章 继承 6.1 原型链 6.1.1原型链示例 原型链法:Child.prototype=new Parent(); <script> function Shape(){ this.n ...
- ngx-moment汉化
1.导入汉化文件 import '../../../node_modules/moment/locale/zh-cn.js' 2.使用汉化 <span>{{item.time|amLoca ...
- Android开启相机预览获取Yuv视频流数据
自定义SurfaceView 主要步骤: 实现SurfaceHolder.Callback接口,创建SurfaceView的生命周期 实现Camera.PreviewCallback接口,创建预览回调 ...
- 取消IE、Office、Wmp首次开启提示
一.取消IE首次开启提示 1.运行框输入gpedit.msc.打开组策略配置 2.本地计算机策略-计算机配置-管理模板-windows组件-Internet Explorer,查找右边“阻止执行首次运 ...
- C#调用原生C++ COM对象(在C++中实现C#的接口)
为了跨平台在.net core中使用COM,不能使用Windows下的COM注册机制,但是可以直接把IUnknown指针传给C#,转换为指针,再转换为C#的接口(interface). 做了这方面的研 ...
- 编程经验点滴----在 Oracle 数据库中保存空字符串
写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...
- $.ajax({})方法中的回调函数beforeSend,success,complete,error使用示例
在与后台交互的时候,经常使用到jquery的$.ajax()方法来请求数据.回调函数用的比较多的是success,但是beforeSend.complete.error函数也是很有用的.下面是使用例子 ...