# 参考
# 内置函数
# range
range
是 Python 中的一个内置函数,用于生成一个整数序列。它主要用于循环中,特别是 for
循环,以控制循环的次数,如何使用?前往
range(start, stop, step)
参数
start
整数序列的起始位置stop
整数序列的结束位置step
整数序列的步长,默认为1
# len
用于返回对象的长度或项目数量,适用于字符串、列表、元组、字典、集合、范围对象等
这个例子中 字符串 s
有 13 个字符,所以该字符串长度为 13,len
函数检查后也输出 13
s = "Hello, World!"
print(len(s)) # 输出: 13
# round
用于对浮点数进行四舍五入
语法
round(number, ndigits)
number
:需要四舍五入的数字。ndigits
:指定小数点后保留的位数(默认为 0)该参数可选
示例
# 四舍五入到最接近的整数
print(round(3.6)) # 输出: 4
# 四舍五入到小数点后两位
print(round(3.14159, 2)) # 输出: 3.14
# enumerate
enumerate
用于将一个可迭代对象(如列表、元组、字符串等)转换为一个枚举对象
语法
enumerate(iterable, start=0)
- iterable 要枚举的可迭代对象
- start 索引的起始值,默认为 0
用一个列表举例,enumerate
可以赋值两个变量:第一个是列表元素的索引;第二个是列表中元素的值
a = ["apple", "banana", "cherry"]
for b, c in enumerate(a):
print(f"Index: {b}, Fruit: {c}")
输出结果
Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry
# type
用于获取对象的类型
语法
type(object)
object
是获取类型的对象,type()
会返回类似于 <class 'int'>
的结果 ''
中的就是该对象的数据类型
# 获取不同对象的类型
print(type(123)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("Hello")) # <class 'str'>
print(type([1, 2, 3])) # <class 'list'>
print(type((1, 2, 3))) # <class 'tuple'>
print(type({"name": "Alice"})) # <class 'dict'>
print(type(None)) # <class 'NoneType'>
# isinstance
用于检查对象是否是指定类型或其子类的实例,若是则返回 True
否则返回 False
语法
isinstance(object, classinfo)
object
是被检查的对象,classinfo
是要判断的数据类型。以下面的代码举例,这里检查了 3.14
是否为 float
(浮点数)类型,若是则返回 True
x = isinstance(3.14, float)
print(x) # 输出: True
# dir
用于获取对象拥有的属性和方法列表
语法
dir(object)
object
要检查的对象
如果不填检查对象 dir()
会列出当前作用域中的所有名称(包括:局部变量,全局变量,函数名和类名,导入的模块名等)
# 标准库
# math
以下是 math 库中常用的函数和方法
- 常量
函数 | 说明 |
---|---|
math.pi | 圆周率 π,约等于 3.141592653589793 |
math.e | 自然对数的底 e,约等于 2.718281828459045 |
math.inf | 正无穷大 |
- 三角函数
函数 | 说明 |
---|---|
math.sin(x) | 返回 x 的正弦值 |
math.cos(x) | 返回 x 的余弦值 |
math.tan(x) | 返回 x 的正切值 |
math.asin(x) | 返回 x 的反正弦值 |
math.acos(x) | 返回 x 的反余弦值 |
math.atan(x) | 返回 x 的反正切值 |
math.atan2(y, x) | 返回 y/x 的反正切值,结果在 -π 到 π 之间。 |
- 幂和对数函数
函数 | 说明 |
---|---|
math.sqrt(x) | 返回 x 的平方根 |
math.cbrt(x) | 返回 x 的平方根(Python3.11+ 可使用) |
math.exp(x) | 返回 e 的 x 次方 |
math.log(x,base) | 默认返回 x 的自然对数(默认以 e 为底),如果指定了底数 base,则返回以 base 为底的对数 |
math.log10(x) | 返回 x 的以 10 为底的对数 |
math.pow(x, y) | 返回 x 的 y 次方 |
- 取整函数
函数 | 说明 |
---|---|
math.round(x,n) | 返回 x 四舍五入到 n 位小数(默认四舍五入到整数) |
math.trunc(x) | 返回 x 的整数部分,去掉小数部分 |
math.ceil(x) | 返回不小于 x 的最小整数 |
math.floor(x) | 返回不大于 x 的最大整数 |
- 其他函数
函数 | 说明 |
---|---|
math.fabs(x) | 返回 x 的绝对值 |
math.factorial(x) | 返回 x 的阶乘 |
math.gcd(a, b) | 返回 a 和 b 的最大公约数 |
math.lcm(a, b) | 返回 a 和 b 的最小公倍数 |
# random
random
是 Python 用于生成伪随机数的标准库中的一个模块。提供了多种生成随机数的方法,包括生成随机整数、随机浮点数、随机选择列表中的元素等
导入模块
import random
函数
函数 | 说明 |
---|---|
random.randrange(start, stop) | 生成随机整数 |
random.random(start, stop) | 生成随机浮点数 |
random.choice(list,x) | 随机选择列表中的元素。list 表示被随机选择的列表,x 表示随机选中的元素数量 |
random.shuffle(list) | 打乱列表顺序,list 表示要打乱的列表 |
random.seed(x) | 设置随机种子,以确保结果可重复 |
random.choice(seq) | 随机选择可迭代对象中的一个元素,seq 表示一个可迭代对象 |
生成随机的布尔值
import random
random_boolean = random.choice([True, False])
print(random_boolean) # 输出: True 或 False
生成随机字符串
import string
import random
def generate_random_string(length):
letters = string.ascii_letters
return ''.join(random.choice(letters) for _ in range(length))
random_string = generate_random_string(10)
print(random_string) # 输出: 长度为 10 的随机字符串
# string
常量 | 说明 |
---|---|
string.ascii_letters | 包含所有大小写字母的字符串 |
string.ascii_lowercase | 包含所有小写字母的字符串 |
string.ascii_uppercase | 包含所有大写字母的字符串 |
string.digits | 包含所有数字的字符串 |
string.hexdigits | 包含所有十六进制数字的字符串 |
string.octdigits | 包含所有八进制数字的字符串 |
string.punctuation | 包含所有标点符号的字符串 |
string.whitespace | 包含所有空白字符的字符串(\t\n\r\x0b\x0c ) |
函数
string.capwords(s, sep=None)
将字符串 s
中的每个单词首字母大写。
参数:
s
: 需要处理的字符串。sep
: 单词之间的分隔符,默认为空格
返回值: 处理后的字符串
# tkinter
tkinter 是 Python 内置的用于实现图形化用户界面的库
参考:Tkinter 文档 (opens new window)
# 关于窗口的函数
函数 | 说明 |
---|---|
tk.Tk() | 创建主窗口 |
tk.Toplevel() | 创建一个顶层窗口 |
root.mainloop() | 启动 Tkinter 的主事件循环 |
root.quit() | 退出主事件循环 |
root.destroy() | 销毁窗口及其所有控件 |
root.title("Title") | 设置窗口标题 |
root.geometry("width x height") | 设置窗口大小和位置 |
root.resizable(width, height) | 设置窗口是否可调整大小 |
# 创建控件的函数
函数 | 说明 |
---|---|
tk.Button() | 创建按钮控件 |
tk.Label() | 创建标签控件(文本或图像) |
tk.Entry() | 创建输入框控件 |
tk.Text() | 创建多行文本输入控件 |
tk.Checkbutton() | 创建复选框控件 |
tk.Radiobutton() | 创建单选按钮控件 |
tk.Scale() | 创建滑动条控件 |
tk.Menu() | 创建菜单控件 |
每个控件都有两个参数:
master
第一个参数,用于指定了控件的父容器,容器可以为主窗口,Frame
或Toplevel
options
一个关键字参数列表,用于设置控件的各种属性和行为
# 页面布局
函数 | 说明 |
---|---|
widget.pack(options) | 自动排列控件(以填充可用空间的形式) |
widget.grid(options) | 行和列的网格系统来排列控件 |
widget.place(options) | 通过指定精确的坐标来放置控件 |
widget
:表示设定该布局方式的控件options
:一个关键字参数列表,用于设置布局属性
# 变量管理
函数 | 说明 |
---|---|
tk.StringVar() | 创建字符串变量 |
tk.IntVar() | 创建整数变量 |
tk.DoubleVar() | 创建浮点数变量 |
tk.BooleanVar() | 创建布尔变量 |
var.set(value) | 设置变量值 |
var.get() | 获取变量值 |
var
表示变量,value
表示变量值
使用示例
创建一个字符串变量 a
a = tk.StringVar()
# 控件属性
函数 | 说明 |
---|---|
widget.config(options) | 配置控件属性 |
widget.cget(option) | 获取控件属性值 |
widget.winfo_exists() | 检查控件是否存在 |
widget.winfo_height() | 获取控件高度 |
widget.winfo_width() | 获取控件宽度 |
widget.winfo_x() | 获取控件 x 坐标 |
widget.winfo_y() | 获取控件 y 坐标 |
options
:控件要设置的属性(由多个参数组成的参数列表)option
:要获取属性值的属性
# 对话框
函数 | 说明 |
---|---|
tk.messagebox.showinfo(title, message) | 显示信息对话框 |
tk.messagebox.showwarning(title, message) | 显示警告对话框 |
tk.messagebox.showerror(title, message) | 显示错误对话框 |
tk.messagebox.askquestion(title, message) | 显示询问对话框 |
tk.messagebox.askyesno(title, message) | 显示是/否对话框 |
tk.messagebox.askokcancel(title, message) | 显示确定/取消对话框 |
tk.messagebox.askretrycancel(title, message) | 显示重试/取消对话框 |
tk.filedialog.askopenfilename() | 打开文件选择对话框 |
tk.filedialog.asksaveasfilename() | 保存文件选择对话框 |
tk.colorchooser.askcolor() | 颜色选择对话框 |
title
:对话窗标题message
:对话窗内容
# timeit
timeit
用于测量代码片段执行的时间,常用于性能测试和优化
# 第三方库
# NumPy
Numpy 是一个用于科学计算的 Python 库,提供数学函数、数组计算、随机数生成器、线性代数例程、傅里叶变换等
# Matplotlib
Matplotlib 是一个 Python 绘图库,用于创建静态、动态和交互式可视化图表