# 参考

# 内置函数

# 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 第一个参数,用于指定了控件的父容器,容器可以为主窗口,FrameToplevel
  • 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 库,提供数学函数、数组计算、随机数生成器、线性代数例程、傅里叶变换等

参考:Numpy文档 (opens new window)

# Matplotlib

Matplotlib 是一个 Python 绘图库,用于创建静态、动态和交互式可视化图表

参考:Matplotlib文档 (opens new window)