Python 基础语法与核心操作全梳理

103 阅读6分钟

一. Python语言基础

使用缩进

  • 使用缩进 C/C++程序设计语言的代码块是用大括号{}来组织的。
  • 与此不同,Python 对于程序代码的组织,是通过空格制表符实现缩进组织代码结构的。
  • 具体来讲,逻辑上属于同一代码块的语句应具有相同的缩进量,如果缩进量不同,则代码属于不同代码块。
  • 冒号 “:” 表示一个代码块的开始,其后具有相同缩进的代码块属于同一模块。

Python的注释

1. 单行注释

语法:

以 # 开头

适用场景:

单行代码 / 短说明

2. 多行注释

语法:

用 '''三重单引号''' 或 """三重双引号""" 包裹

适用场景:

多行说明、函数 / 类文档注释

Python的对象

Python对象与赋值

Python对象的类型

类型分类具体类型示例
数值类型int(整数)、float(浮点数)、bool(布尔)10、3.14、True
序列类型str(字符串)、list(列表)、tuple(元组)"abc"、[1,2]、(1,2)
映射类型dict(字典){"name": "Tom"}
集合类型set(集合)、frozenset(不可变集合){1,2}、frozenset({1,2})
类型查看工具type() 函数type("Hello world") 输出 <class 'str'>
类型判断工具isinstance() 函数isinstance(8, int) 返回 Trueisinstance(8, (int, bool)) 返回 True
变量与类型关系量是对象的引用,对象类型保存在对象内部变量不存储类型信息,类型由对象自身维护

对象的内置属性和方法

  • 属性:对象自带的 “数据”,用 对象.属性 访问(如字符串 s 的 s.length)。
  • 方法:对象自带的 “功能”(函数),用 对象.方法名() 调用(如列表 lst 的 lst.append())。

将对象的引用作为函数参数

  • Python 函数参数传递是引用传递
    • 若传入不可变对象(如 int、str、tuple),函数内修改不会影响外部对象。
    • 若传入可变对象(如 list、dict、set),函数内修改会直接影响外部对象。
  • C/C++程序设计语言中函数参数传递既可以使用值传递,也可以使用引用传递
  • 值传递:函数不能改变实参的值
  • 引用传递:函数可以改变实参的值

is和is not运算符

可变和不可变对象

类别定义常用类型特点
不可变对象创建后值不能修改,修改会生成新对象int、str、tuple、bool赋值 / 传参时,修改不影响原对象
可变对象创建后值可修改,不生成新对象list、dict、set赋值 / 传参时,修改影响原对象

Python的运算符

算数运算符

运算符示例说明
+a + b返回ab的结果
-a - b返回ab的结果
*a * b返回a乘以b的结果
/a / b返回a除以b的结果
//a // b返回a除以b的结果向下取整
**a ** b返回ab次幂

逻辑运算符

运算符说明
and逻辑与
or逻辑或
not逻辑非

位运算符

运算符示例说明
&a & b返回ab按位与的结果,可以将TrueFalse视为整数 1 和 0
1a 1 b返回ab按位或的结果,可以将TrueFalse视为整数 1 和 0
^a ^ b返回ab按位异或的结果,可以将TrueFalse视为整数 1 和 0
~~a按位取反
>>a>>2右移 2 位
<<a<<2左移 2 位

比较运算符

运算符示例说明
==a == b如果a等于b,则返回True,否则返回False
!=a != b如果a不等于b,则返回True,否则返回False
<=a <= b如果a小于或等于b,则返回True,否则返回False
<a < b如果a小于b,则返回True,否则返回False
>=a >= b如果a大于或等于b,则返回True,否则返回False
>a > b如果a大于b,则返回True,否则返回False

赋值运算符

运算符示例说明
=a=5赋值
+=a+=5(即a=a+5)加法赋值
-=a-=5(a=a-5)减法赋值
&=a&=5(a=a&5)按位与赋值

成员运算符

运算符示例说明
ina in list判断某个值是否在序列中
not ina not in list判断某个值是否不在序列中

三元运算符

运算符示例说明
a if condition else bx=5 if a>b else 10如果条件为真,返回 a,否则返回 b

二. 控制流

分支结构

if 单分支

if 条件: 
    条件为 True 时执行的代码块(缩进)

if-else 双分支

if 条件: 
    条件为 True 时执行 
else: 
   条件为 False 时执行

if-elif-else 多分支

if 条件1:
    执行1 
elif 条件2: 
    执行2 
elif 条件3: 
    执行3 
else: 
所有条件都不满足时执行

使用for的结构循环

语法:

for 变量 in 可迭代对象:
    循环体(每次遍历取一个元素赋值给变量)

关键字作用::

  • continue 关键字:可以跳过当前语句块之后的部分,直接进入下一次循环。
  • break 关键字:可以结束当前的 for 循环结构。

使用while的结构循环

语法:

while 条件:
    循环体(需包含让条件最终为 False 的代码,避免死循环)

关键字作用::

  • continue 关键字:可以跳过当前语句块之后的部分,直接进入下一次循环。
  • break 关键字:可以结束当前的 while 循环结构。

三. 三元表达式

核心作用:用一行代码替代简单的 if-else 分支,简化代码。

语法:

变量 = 表达式1 if 条件 else 表达式2

四. 文件操作

打开、关闭文件

  • 使用 open() 函数可以打开一个文件。
  • 使用 close() 函数可以关闭一个文件。

文件操作的模式

模式说明
r只读模式
w只写模式,覆盖文件原有内容
r+读写模式
a在文件末尾追加内容
b用在其他模式之后(如rbwb等),表示操作的文件是二进制文件

常用文件对象函数

函数功能
read(n)读取文件内容,存储为字符串。参数n指明读取的字节数,若不赋值则读取文件全部内容
readline()读取文件的一行,可多次使用实现按行读取文件
readlines()读取文件内容,存储为列表
write()向文件中写入字符串
seek(n)移动到文件的指定位置,文件的起始位置n = 0
tell()返回文件当前的位置

常用的文件对象方法

with open("test.txt", 'r', encoding='utf-8') as file:
    # 读取
    # 1. read函数
    content = file.read()
    print(content)
    # 将文件指针重新指向文件开头
    file.seek(0)
    c = True
    # 2. readline函数 一次只读取一行,按行读取
    while c:
        c = file.readline()
        print(c.strip())
    # 3.readlines函数 一次性读取所有内容,将每一行作为元素存放到list中,返回这个list
    file.seek(0)
    li = file.readlines()
    for item in li:
        print(item.strip())
    # 4. 写入
    fl = open("1.txt", "w", encoding="utf-8")
    for item in li:
        fl.write(item)
    # 关闭文件
    file.close()
    fl.close()