Skip to content

Latest commit

 

History

History
364 lines (230 loc) · 10.6 KB

File metadata and controls

364 lines (230 loc) · 10.6 KB
aliases
tags
python
syntax
created 2025-08-02 21:08:51 -0700
modified 2025-12-09 12:58:45 -0800

Python 语法笔记


基础语法

变量表达式

变量名规则

  • 变量名只能包含字母、数字和下划线。不能以数字开头。
  • 不能包含空格
  • 不要用 Python 关键字和函数名或保留字作变量名

Tip

慎用小写字母l和大写字母O,因为可能与数字10混淆。

简单数据类型

Python3 中有 6 个标准数据类型:

[!info]

不可变数据: 数值字符串元组

可变数据:列表集合字典

数值类型

整型
浮点型
复数

字符串

表达方式

Python 中字符串有几种表达方式,可以使用单引号 '、双引号 " 或三引号("""''')。

字符串索引

Python 字符串索引与 CJava0开始。

字符串格式化
format 方法

复合数据类型

列表

列表定义:

a = [1,3,4]

Python 的列表类型特点:

  1. 元素可重复
  2. 元素排列有序

Tip

Python 的列表相当于 Java 中的 数组

元组

元组与 列表 类似,但元组是「只读」的。其由一系列特定顺序排列的元素组成,不同在于元组一旦创建其元素不能被修改,算是一种「特殊的」列表,又称为「不可变列表」。

[!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 函数创建

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 的集合中的元素特点:「无序」、「不可重复」。

Tip

对应 Java 中的 Set

[!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__:析构方法,释放对象时被使用

IO

文件

打开文件

使用 open函数 打开文件,并返回文件对象。如果文件无法被打开,会抛出 OSError 异常。

Tip

使用 open() 函数时,一定要保证文件对象牌关闭状态。

语法:

file=open(filename[,mode[,buffering[,encoding=Nonne]]])
  • file:表示被创建的文件对象
  • filename:用于指定包含待打开或待创建文件的文件路径与文件名称 字符串 值,需要使用单引号或双引号标。
  • mode:可选参数,用于指定打开文件的模式,即描述文件如何使用,如读、写等。默认文件访问模式是「只读」,即 r

常见模式及状态:

模式 r r+ w w+ a a+
&#10004 &#10004 &#10004 &#10004
&#10004 &#10004 &#10004 &#10004 &#10004
创建 &#10004 &#10004 &#10004 &#10004
覆盖 &#10004 &#10004
文件指针在开始位置 &#10004 &#10004 &#10004 &#10004
文件指针在结尾位置 &#10004 &#10004

进阶语法

多任务

网络

图形界面


风格规范

PEP8

PEP8 相关链接

Google 规范风格

Google 规范相关链接


相关笔记