| aliases | |||
|---|---|---|---|
| tags |
|
||
| created | 2025-08-02 21:08:51 -0700 | ||
| modified | 2025-12-09 12:58:45 -0800 |
- 变量名只能包含字母、数字和下划线。不能以数字开头。
- 不能包含空格
- 不要用 Python 关键字和函数名或保留字作变量名
Tip
慎用小写字母l和大写字母O,因为可能与数字1和0混淆。
Python3 中有 6 个标准数据类型:
[!info]
Python 中字符串有几种表达方式,可以使用单引号 '、双引号 " 或三引号(""" 或 ''')。
列表定义:
a = [1,3,4]Python 的列表类型特点:
- 元素可重复
- 元素排列有序
元组与 列表 类似,但元组是「只读」的。其由一系列特定顺序排列的元素组成,不同在于元组一旦创建其元素不能被修改,算是一种「特殊的」列表,又称为「不可变列表」。
[!info]
元组类似于 Java 中的 数组,但比数组还要「呆板」,Java 的数组只是数组这个容器大小,即数组的长度创建后不可变(因为数组是一块连续的内存,一旦分配了就无法更改),但数组中的元素是可以通过数组索引赋值的方式来修改的。而元组是完全不能对某个元素进行单独修改操作。
创建元组组,使用圆括号 (),元素间用逗号 , 区隔。圆括号 () 不是必需的,是可省略,当输出元组组时,Python 会自动加上一对圆括号。
语法:变量名=(元素1,元素2,元素3,...,元素n)
特殊语法
如果不向圆括号 () 传入任何元素,那么会创建一个空元组。
如果元组只包括1个元素,则需要在元素后面加逗号,否则圆括号会被当作运算符使用。
示例:
t1=(1,3,6,8,10)
# 省略圆括号
t2=2,"hello",3.5
# 空元组
t3=()
# 只包括1个元素
t4=(8,)
# 或者省略括号,不过有点丑陋
t5=8,tuple 函数能够将其他数据结构对象转换成元组类型。其类型可以是 range 对象、字符串、元组或其他可迭代类型数据。
示例:
tuple(range(5,15,2))元组一旦创建就不能修改其中的元素。但可以通过修改整个元组的变量来达到修改元素的目的。
示例:
t1 = (100, 200)
# 打印出 100 200
print(t1)
t1 = (20, 200)
# 打印出 20 200
print(t1)[!info]
示例中的
t1,前后两次「创建」,t1 这个元组的第一个元素就由100被「修改」为20。这属于「曲线救国」式修改。
集合是由不重复元素组成的无序容器。Python 的中集合完全就是数学中的「集合] 概念的模拟,所以 Python 的集合中的元素特点:「无序」、「不可重复」。
[!info]
关于列表和集合定义
在「类 C 语言」的标识符中,
[](中括号)暗含了「有序性」,即使用[]定义的数据类型,其中的元素是有序的。这种有序性有时体现在存储的有序,如 C语言 或 Java 中的 数组 是使用[]来定义的;而有时这种有序性体现在「可索引」上,即可以通过索引来获取相应位置的元素。而
{}(花括号)则隐含了「无序性」,即使用{}定义的数据类型,其中的元素是无序的。与有序性类似,使用{}定义的数据其无序性,有时体现在存储上,如 C、Java 等语言中 函数 的「函数体」就是使用花括号来定义的,而可以谁其中的语句其存储上是无序的;而在集合类型中,这种「无序性」便体现在「不可索引」上,即不能通过索引值来获取相应位置的元素。
创建集合用花括号 {} 或 set() 函数。
示例:
# 使用花括号创建集合
b = {1,3,4}
# 创建一个空的集合
b2 = set()定义函数 时,函数名称后面小括号的参数称为「形式参数」,简称「形参」。
调用函数] 时,函数名称后面小括号的参数称为「实际参数」,简称「实参」。
定义函数基本语法:
def 函数名(参数列表):
# 函数体函数定义部分以 def 关键字开头,后接函数名、小括号 () 和冒号 :。
函数体由多条语句组成的代码块,相对于函数定义部分保持合理缩进。
如果函数有返回值,使用 return 语句返回。如果函数中没有 return 语句,或者省略 return 语句的表达式,将返回 None,即返回空值。
基本语法:
函数名(实参1,实参2...)调用函数,实际就是将 实际参数 传递给 形式参数,然后在函数体内实现相应功能的过程(函数本质在其实是表达式,即其核心功能就是求值,而求值之外的功能都称为「副作用」)。
类定义的基本语法:
class 类名:
# 类体[!info]
类名一般使用大写字母开头,采用「大驼峰命名法」。
类名后有个冒号
:,类体向右缩进。
创建类的实例基本语法:
类名()在类中定义的变量称为类的属性,根据定义位置不同,可以分为:
- 类属性
- 实例属性
静态方法,其方法休中不能使用类或实例的任何属性和方法。
实例对象和类对象都可以调用类的静态方法。
静态方法是类中的 函数,不需要实例。
[!info]
静态方法逻辑上属于类,但是和类本身没有关系。也就是说,在静态方法中,不会涉及类的属性和方法的操作。
可以说静态方法是个独立的、单纯的 函数,只是「托管」给某个类的名称空间中,便于使用和维护。
类的专有方法,方法名通常用「双下划线」__开头和结尾。
类的常用专有方法:
__init__:构造方法,生成对象时被调用__del__:析构方法,释放对象时被使用
使用 open函数 打开文件,并返回文件对象。如果文件无法被打开,会抛出 OSError 异常。
Tip
使用 open() 函数时,一定要保证文件对象牌关闭状态。
语法:
file=open(filename[,mode[,buffering[,encoding=Nonne]]])file:表示被创建的文件对象filename:用于指定包含待打开或待创建文件的文件路径与文件名称 字符串 值,需要使用单引号或双引号标。mode:可选参数,用于指定打开文件的模式,即描述文件如何使用,如读、写等。默认文件访问模式是「只读」,即r。
常见模式及状态:
| 模式 | r | r+ | w | w+ | a | a+ |
|---|---|---|---|---|---|---|
| 读 | ✔ | ✔ | ✔ | ✔ | ||
| 写 | ✔ | ✔ | ✔ | ✔ | ✔ | |
| 创建 | ✔ | ✔ | ✔ | ✔ | ||
| 覆盖 | ✔ | ✔ | ||||
| 文件指针在开始位置 | ✔ | ✔ | ✔ | ✔ | ||
| 文件指针在结尾位置 | ✔ | ✔ |