一、基础语法详解

基础语法详解

Python 作为一门简洁优雅的编程语言,其基础语法设计充分考虑了可读性和易用性。本文将深入介绍 Python 编程中的核心基础概念,包括标识符命名规则、保留字使用规范、注释方法、引号介绍、多行语句处理、print 输出以及模块导入机制。



文章目录

  • 一、标识符 (Identifiers)

  • 二、保留字 (Keywords)

  • 三、注释 (Comments)

  • 四、引号规则详解

  • 五、多行语句

  • 六、print 输出

  • 七、模块导入机制

  • 总结




一、标识符 (Identifiers)

标识符是开发者为变量、函数、类、模块等元素自定义的名称,遵循以下规则:

1、命名规则

  • 必须以字母(a-z, A-Z)或下划线 _ 开头
  • 后续字符可以是字母、数字(0-9)或下划线
  • 区分大小写(ageAge 是不同的标识符)

2、有效示例

user_name = "Alice"   # 合法
_temp = 3.14          # 合法
age2 = 25             # 合法

3、无效示例

2nd_place = "Bob"      # 数字开头 → 错误
user-name = "Charlie"  # 包含连字符 → 错误

4、命名建议

  • 使用小写字母和下划线组合(蛇形命名法):calculate_average()
  • 类名采用驼峰命名法:ClassName
  • 避免使用单字符(除临时变量外)

5、标识符命名规则

关键字 含义/用途
and 逻辑运算符,与
as 创建别名
assert 用于调试
break 跳出循环
class 定义类
continue 继续循环的下一个迭代
def 定义函数
del 删除对象
elif 在条件语句中使用,等同于 else if
else 用于条件语句
except 处理异常,发生异常时如何执行
False 布尔值,假
finally 处理异常,无论是否存在异常,都将执行一段代码
for 创建 for 循环
from 导入模块的特定部分
global 声明全局变量
if 写一个条件语句
import 导入模块
in 检查列表、元组等集合中是否存在某个值
is 测试两个变量是否相等
lambda 创建匿名函数
None 表示 null 值
nonlocal 声明非局部变量
not 逻辑运算符,非
or 逻辑运算符,或
pass 一条什么都不做的语句
raise 产生异常
return 退出函数并返回值
True 布尔值,真
try try...except 语句
while 创建 while 循环
with 用于简化异常处理
yield 结束函数,返回生成器



二、保留字 (Keywords)

Python 预定义了具有特殊含义的保留字,不可用作标识符。可通过以下代码查看所有保留字:

import keyword
print(keyword.kwlist)
# 输出示例: ['False', 'None', 'True', 'and', 'as', 'assert', ...]

常用保留字分类

分类 保留字
逻辑控制 if, else, elif, for, while, break, continue
定义相关 def, class, lambda, return, yield
逻辑运算 and, or, not, in, is
异常处理 try, except, finally, raise



三、注释 (Comments)

注释是提高代码可读性的重要手段,Python 支持两种注释方式:

1. 单行注释:以 # 开头,代码块

# 计算圆的面积
radius = 5
area = 3.14 * radius ** 2  # 使用圆周率近似值

### 2. 多行注释:使用三引号(实际是多行字符串,但未赋值时被视为注释)代码块
"""
功能说明:
1. 接收用户输入
2. 验证数据有效性
3. 返回处理结果
"""

最佳实践

  • 复杂算法前添加功能说明
  • 关键变量添加用途说明
  • 避免过度注释显而易见的代码

四、数据类型

1、基本数据类型

数值:整数(int)、浮点数(float)、复数(complex)、布尔(bool)

1.1、int整型
num1 = 1_000_000_000_000_000

print(num1)  # 1000000000000000

1.2、type 与 isinstance 类型判断

可以使用 type() 来查看变量类型,使用 isinstance() 来判断变量类型

num1 = True

num2 = 10

print(type(num1))  # <class 'bool'>

print(type(num2))  # <class 'int'>

print(type(num1) == type(num2))  # False

print(isinstance(num1, bool))  # True

print(isinstance(num1, int))  # True,Python3中,bool是int的子类

print(isinstance(num2, int))  # True

1.3、float浮点型
num1 = 0.1

num2 = 0.2

print(num1 + num2)  # 0.30000000000000004

from decimal import Decimal

num3 = Decimal('1.0')

num4 = Decimal('0.9')

print(num3-num4)

num1 = 1.3e7
print(num1)  # 13000000.0

1.4、bool布尔型

布尔型变量只有 TrueFalse,用于真假的判断

is 运算符用于比较两个对象的身份(即它们是否是同一个对象,是否在内存中占据相同的位置),而不是比较它们的值

bl1 = True
bl2 = False
print(bl1, bl2)  # True False

print(True == 1)  # True
print(False == 0)  # True
print(True is 1)  # False
print(False is 0)  # False

2、字符串(str)

str1 = 'This is a "string"'
str2 = "This is a 'string' too"

print(str1)  # This is a "string"
print(str2)  # This is a 'string' too


sstr1 = "This is a 'string'"
str2 = 'This is a "string" too'

print(str1)  # This is a 'string'
print(str2)  # This is a "string" too

2.1、 字符串.format()

方式1:不设置指定位置,按默认顺序


int1 = 10

float1 = 3.14159

bool1 = True

str2 = "int1 = {}, float1 = {}, bool1 = {}".format(int1, float1, bool1)

print(str2)  # int1 = 10, float1 = 3.14159, bool1 = True

方式2:设置指定位置,不能和方式1混合使用


int1 = 10

float1 = 3.14159

bool1 = True

str2 = "int1 = {0}, float1 = {1}, bool1 = {2}".format(int1, float1, bool1)

print(str2)  # int1 = 10, float1 = 3.14159, bool1 = True

方式3:f-字符串


int1 = 10

float1 = 3.14159

str3 = f"int1 = {int1}, float1 = {float1}"

print(str3)  # int1 = 10, float1 = 3.14159

3、容器数据类型

列表(list)、元组(tuple)、集合(set)、字典(dist)

4、特殊数据类型

None:表示空值或缺失值,只有一个值 None。常用于函数没有返回值时,或者表示变量没有被赋值

5、图形化分析

数据类型 中文名称 示例
int 整型 1
float 浮点型 1.1
plain int1 = 10 float1 = 3.14159 bool1 = True str2 = "int1 = {}, float1 = {}, bool1 = {}".format(int1, float1, bool1) print(str2) # int1 = 10, float1 = 3.14159, bool1 = True complex 复数 1+3j
bool 布尔 True / False
str 字符串 "hello"
list 列表 [1, 1, 2, 3]
tuple 元组 (1, 1, 2, 3)
set 集合 {1, 2, 3}
dict 字典 {key: value}

int、float、complex、bool都属于Number(数字)数据类型

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)

可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

6、数据类型转换

6.1、 自动类型转换(隐式转换)

对两种不同类型的数据进行运算,较小的数据类型(整数)就会转换为较大的数据类型(浮点数)以避免数据丢失,计算结果为浮点型

num1 = 2
num2 = 3.0
print(num1 + num2)  # 5.0

num1 = 123
str1 = "456"
print(num1 + str1)  # 报错

6.2、 强制类型转换(显式转换)
函数 说明
int(x[, base]) 将 x 转换为一个整数,x 若为字符串可用 base 指定进制
float(x) 将 x 转换为一个浮点数
complex(real[, imag]) 创建一个实部为 real,虚部为 imag 的复数
str(x) 将对象 x 转换为一个字符串
repr(x) 将对象 x 转换为一个字符串,可以转义字符串中的特殊字符
eval(x) 执行 x 字符串表达式,并返回表达式的值
bin(x) 将一个整数转换为一个二进制字符串
oct(x) 将一个整数转换为一个八进制字符串
hex(x) 将一个整数转换为一个十六进制字符串
ord(x) 将一个字符转换为它的 ASCII 整数值
chr(x) 将一个整数转换为一个 Unicode 字符
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换 s 为可变集合
num_int = 123
num_str = "456"

print("num_int 数据类型为:",type(num_int))

print("类型转换前,num_str 数据类型为:",type(num_str))

num_str = int(num_str)    # 强制转换为整型

print("类型转换后,num_str 数据类型为:",type(num_str))

num_sum = num_int + num_str

print("num_int 与 num_str 相加结果为:",num_sum)
print("sum 数据类型为:",type(num_sum))


输出:

num_int 数据类型为: <class 'int'>

类型转换前,num_str 数据类型为: <class 'str'>

类型转换后,num_str 数据类型为: <class 'int'>

num_int 与 num_str 相加结果为: 579

sum 数据类型为: <class 'int'>

7、 输入与输出

7.1、输入

语法:字符串变量 = input(“提示信息”)

# Python开始等待你的输入。这时,你可以输入任意字符,然后按回车后完成输入。
input_str = input("请输入:")

# 输入完成后,不会有任何提示,刚才输入的内容存放到input_str变量里了
print("input_str数据类型为:",type(input_str))

# 输出input_str查看变量内容
print(input_str)



四、引号规则详解

Python 中引号用于定义字符串,有三种形式:

1、字符串定义

代码块

s1 = '单引号字符串'    # 可包含双引号
s2 = "双引号字符串"    # 可包含单引号
s3 = '''三单引号字符串'''   # 支持多行
s4 = """三双引号字符串"""  # 支持多行

2、嵌套引号

  • 同类型引号需转义:
text = 'It\'s Python'  # 使用反斜杠转义
  • 混合引号更简洁:
text = "Don't worry"  # 推荐方式

3、原始字符串(Raw String)

  • 前面加 rR,忽略转义字符:
path = r"C:\Users\Name"  # 反斜杠不会被转义

4、多行字符串

poem = """
Roses are red,
Violets are blue,
Python is awesome!
"""



五、多行语句

当语句过长时,可采用以下方式换行:

1、显式换行:使用反斜杠 \

total = 1 + 2 + 3 + \
        4 + 5 + 6

2、隐式换行:在括号(圆括号、方括号、花括号)内自动换行

months = [
    'January', 'February', 'March',
    'April', 'May', 'June'
]

def calculate_total(
    a, b, c, d, e
):
    return a + b + c + d + e



六、print 输出

print() 是 Python 最常用的输出函数,具有以下特性:

1、基本用法

代码块

print("Hello, World!")  # 输出字符串
print(42)               # 输出数字

2、多参数输出

代码块

name = "Alice"
age = 25
print("Name:", name, "Age:", age)  # 默认空格分隔

3、格式化输出

  • f-string(Python 3.6+ 推荐)
print(f"{name} is {age} years old")
  • format() 方法
print("{} is {} years old".format(name, age))
  • 百分号格式化
print("%s is %d years old" % (name, age))

4、控制分隔符和结尾

print("Python", "Java", "C++", sep=",")  # 用逗号分隔
print("Loading...", end="")              # 不换行输出



七、模块导入机制

Python 通过模块化设计实现代码复用,主要有以下导入方式:

1、import 语句

import math
print(math.sqrt(16))  # 使用完整命名空间

import math as m      # 使用别名
print(m.pi)

2、from ... import 语句

from math import sqrt, pi  # 导入特定成员
print(sqrt(16))
print(pi)

from math import *         # 导入所有成员(不推荐)
print(sin(0))

3、相对导入(包内使用)

from .submodule import func    # 当前包的子模块
from ..sibling import class_   # 上级包的同级模块

最佳实践

  • 优先使用完整导入(import math)避免命名冲突
  • 为长模块名创建合理别名(如 import pandas as pd
  • 避免使用 from ... import * 导致命名空间污染

总结

  • 标识符:不能包含引号,字符串赋值需用引号包裹
  • 保留字:直接使用,不加任何引号
  • 注释# 或三引号内的内容(无论是否含引号)均被忽略
  • 引号规则
    • 定义字符串时单/双/三引号均可
    • 嵌套同类引号需转义
    • 原始字符串加 r 前缀
  • 多行语句:字符串跨行时注意引号闭合
  • print 输出:灵活处理引号转义和字符串格式化
  • 模块导入:动态导入时模块名作为字符串传递
posted @ 2026-08-02 19:44  jock_javaEE  阅读(7)  评论(0)    收藏  举报