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 ...
随机推荐
- Angular6 项目开发常用时间组件服务
一.利用Angular 命令行工具生成一个服务. 详情见:<Angular环境搭建>,服务代码如下: import { Injectable } from '@angular/core'; ...
- C# 动态添加类、动态添加类型、代码添加类型
引用控件: DLL下载地址:http://pan.baidu.com/s/1nv2GUWL public class TypeCreator { public static Type Creator( ...
- Powershell中显示隐藏文件
PS> Get-ChildItem -Path $home -Force PS> Get-ChildItem -Path $home -Hidden
- 微信小程序-查询快递
1.新建快速启动项目 2.在设置里面勾选不校验合法域名,以防编译报错 3.在app.json中改一下窗口表现:app.json—"navigationBarTitleText": ...
- CSS中默认被继承的属性
在CSS中,所有属性都可以被继承,只需要显式的设置属性值为inherit即可.如果不设置该属性,CSS大部分属性默认不会从父元素继承而是设置初始值(initial value),但是有一部分属性,默认 ...
- iphone投屏电脑 苹果x用无线充电好不好
众所周知,苹果新发布的iPhone 8和iPhone X支持无线充电功能,简单说就是在充电时用户只需把它们放到充电板上即可,不再需要插入Lightning线缆.而且如今iphone投屏电脑也是比较受欢 ...
- BDD实战篇 - .NET Core里跑Specflow - 可以跑集成测试和单元测试
这是<如何用ABP框架快速完成项目 >系列中和DevOps系列文章其中一篇文章. BDD很赞!比TDD先进很多,能够大大提高编码效率. 上一篇文章说了如何在.NET Core里安装 ...
- writing objects : 值%停住
在git bush 中使用命令:git config --global http.postBuffer 524288000 因为git上传,限定一次push命令的buffer大小.
- Struts2框架原理
Struts2提供了基于MVC应用程序的开发模式,从而使应用程序结构更加清晰,同时也简化了Web应用程序的开发. Struts2的组成结构 主要包括控制器组件(包括核心控制器StrutsPrepare ...
- java垃圾回收机制GC
记得第一次总结java 的GC的时候,是刚开始在课堂上学习GC的时候,那时候许老师第一节java课 课后老师说同学们可以去深入理解一下java的GC机制: 但是是花费了三四个小时,翻看了<Thi ...