Python基础知识总结(一):语言特点、变量、数据类型与格式化输出
一、Python语言简介
Python是一种面向对象的解释型计算机程序设计语言,具有语法简洁、容易学习、开发效率高等特点。
Python的主要特点:
-
解释型语言:通常由Python解释器执行程序代码。
-
面向对象:支持类、对象、继承、多态等面向对象编程特性。
-
动态类型语言:定义变量时不需要提前声明变量的数据类型,变量可以在运行过程中绑定不同类型的数据。
-
强类型语言:不同类型的数据不能随意进行不合理的隐式转换。
-
跨平台:Python可以在Windows、Linux、macOS等操作系统上运行。
Python应用领域比较广泛,例如:
-
Web开发
-
自动化测试
-
数据分析
-
人工智能
-
爬虫开发
-
游戏开发辅助工具
二、Python常见错误与Debug调试
1. Bug的含义
Bug指程序中存在的错误或缺陷,可能导致程序无法正常运行,或者运行结果不符合预期。
Python初学者常见的错误有以下几种:
(1)输入错误
例如,Python代码中误用了中文标点符号。
错误示例:
print("hello")
正确示例:
print("hello")
编写代码时要注意中英文符号的区别。
(2)缩进错误
Python使用缩进来表示代码块,因此缩进非常重要。
错误示例:
if True:
print("hello")
正确示例:
if True:
print("hello")
(3)语法错误(SyntaxError)
代码不符合Python语法规则时,解释器会报出语法错误。
例如:
if True
print("hello")
这里 if True 后面缺少冒号 :,会导致语法错误。
(4)命名错误(NameError)
使用了没有定义的变量,或者变量名拼写错误,就可能出现命名错误。
例如:
num1 = 3
num2 = 10
total = numl + num2
print(total)
这里将数字 1 错写成了字母 l,因此Python找不到变量 numl。
可能出现:
NameError: name 'numl' is not defined
解决方法:检查变量是否提前定义,以及变量名是否拼写一致。
2. Debug调试
Debug是调试程序的过程,主要用于定位和排查代码中的错误。
常见的调试方式是设置断点,通过逐步执行代码,观察变量的值和程序执行过程。
常见的PyCharm调试操作:
| 操作 | 作用 |
|---|---|
| 设置断点 | 点击代码行号左侧,设置断点 |
| Debug运行 | 以调试模式运行程序 |
| Step Over | 单步执行,不进入函数内部 |
| Step Into | 单步执行,进入函数内部 |
| Step Out | 跳出当前函数 |
| Resume Program | 继续运行程序,直到下一个断点 |
Debug可以帮助我们找到程序中出现问题的位置,理解代码的执行过程。
三、Python注释
注释用于解释代码的作用,帮助程序员理解和维护代码。
Python常见的注释方式有以下几种:
1. 单行注释
使用 # 表示单行注释。
# 这是一个单行注释
print("hello python")
# 后面的内容不会被当作普通Python代码执行。
2. 多行注释
Python没有专门的多行注释符号,通常使用多行 # 实现:
# 这是第一行注释
# 这是第二行注释
# 这是第三行注释
3. 三引号与文档字符串
三引号可以定义多行字符串,也经常用于函数、类的文档字符串(docstring)。
def login():
"""
这是一个登录函数
用于执行用户登录操作
"""
print("登录成功")
注意:三引号本质上是字符串,不是Python专门的多行注释语法。
四、Python常用快捷键
以PyCharm默认快捷键为例:
| 快捷键 | 作用 |
|---|---|
| Shift + F10 | 运行程序 |
| Shift + F9 | Debug调试 |
| Ctrl + / | 注释或取消注释 |
| Ctrl + Alt + L | 格式化代码 |
| Ctrl + D | 复制当前行 |
| Shift + F6 | 重命名 |
| Ctrl + Z | 撤销 |
| Ctrl + Shift + Z | 恢复 |
不同操作系统或IDE版本可能存在快捷键差异。
五、变量
1. 变量的作用
变量可以理解为程序中用于保存数据的名称,方便后续读取、修改和使用数据。
例如:
a = 666
print(a)
运行结果:
666
这里的 a 就是一个变量,保存的数据是 666。
2. 变量的定义格式
Python中定义变量的基本格式:
变量名 = 值
例如:
name = "张三"
age = 18
price = 3.5
其中:
-
name、age、price是变量名。 -
=是赋值运算符。 -
"张三"、18、3.5是赋给变量的值。
注意:Python中的 = 表示赋值,不是数学中的相等关系。
3. 变量赋值时发生了什么?
例如:
a = 666
从程序执行的效果来看,可以理解为:
-
Python创建整数对象
666。 -
变量名
a绑定到这个对象。
因此,可以简单理解为变量 a 保存了数据 666。
4. 变量可以重复赋值
同一个变量可以反复赋值,后面的赋值会改变变量当前绑定的对象。
例如:
a = 666
print(a)
a = 888
print(a)
运行结果:
666
888
Python是动态类型语言,同一个变量也可以先后绑定不同类型的数据。
例如:
a = 666
print(a)
a = "hello"
print(a)
运行结果:
666
hello
5. 变量首次使用与再次赋值
-
首次赋值时,Python会创建相应的数据对象,并建立变量名与对象之间的绑定关系。
-
再次赋值时,变量名会重新绑定到新的对象,不需要程序员手动分配或释放内存。
-
Python变量在使用之前必须先完成定义或赋值。
例如:
print(score)
如果之前没有定义 score,就会出现 NameError。
六、标识符与命名规范
1. 标识符的含义
标识符是程序员自己定义的名称,用于标识程序中的变量、函数、类等。
例如:
name = "张三"
age = 18
def get_name():
print(name)
这里的 name、age、get_name 都是标识符。
2. Python标识符的命名规则
(1)只能由字母、数字、下划线组成,数字不能作为开头。
正确示例:
name = "张三"
user_name = "李四"
age1 = 18
_num = 100
错误示例:
1name = "张三"
user-name = "李四"
(2)不能使用Python关键字作为标识符。
Python关键字是具有特殊含义的单词,例如:
if
else
for
while
class
def
return
True
False
None
可以使用以下代码查看Python关键字:
import keyword
print(keyword.kwlist)
(3)标识符区分大小写。
例如:
name = "张三"
Name = "李四"
print(name)
print(Name)
运行结果:
张三
李四
name 和 Name 是两个不同的标识符。
(4)Python 3支持中文标识符,但不推荐。
例如:
姓名 = "张三"
年龄 = 18
代码可以正常运行,但实际开发中建议使用英文命名,方便团队协作和代码维护。
3. Python标识符命名规范
命名规则是必须遵守的语法要求,而命名规范主要是为了让代码更加清晰、易读、易维护。
(1)变量名和函数名:小写字母,单词之间使用下划线。
user_name = "张三"
student_age = 18
def get_user_name():
pass
这种方式叫作蛇形命名法(snake_case)。
(2)类名:使用大驼峰命名法。
每个单词的首字母大写,单词之间不使用下划线。
class StudentInfo:
pass
class UserAccount:
pass
(3)常量名:全部使用大写字母,单词之间使用下划线。
PI = 3.14159
MAX_SIZE = 100
USER_NAME = "张三"
Python不会强制常量不能修改,这是一种约定俗成的命名规范。
(4)变量名尽量具有实际含义。
不推荐:
a = 18
x = "张三"
推荐:
age = 18
user_name = "张三"
(5)不要随意使用Python内置函数名作为变量名。
不推荐:
list = [1, 2, 3]
print = "hello"
这样可能覆盖原本的内置名称,影响后续使用。
推荐:
numbers = [1, 2, 3]
message = "hello"
七、Python常见数据类型
Python中的数据类型用于表示不同类型的数据。
常见的数据类型包括:
| 数据类型 | 类型名称 | 示例 |
|---|---|---|
| 整数 | int | 10 |
| 浮点数 | float | 3.14 |
| 布尔 | bool | True |
| 复数 | complex | 2+3j |
| 字符串 | str | "hello" |
可以使用 type() 函数查看变量的数据类型。
num1 = 10
num2 = 3.14
flag = True
name = "sixstar"
print(type(num1))
print(type(num2))
print(type(flag))
print(type(name))
1. 整数类型(int)
整数类型用于表示没有小数部分的数字。
num1 = 10
num2 = -20
num3 = 0
print(type(num1))
print(type(num2))
运行结果:
<class 'int'>
<class 'int'>
2. 浮点数类型(float)
浮点数类型用于表示带有小数部分的数字。
num1 = 3.14
num2 = 1.5
num3 = -2.8
print(type(num1))
print(type(num2))
运行结果:
<class 'float'>
<class 'float'>
3. 布尔类型(bool)
布尔类型通常用于判断条件是否成立,只有两个固定的取值:
-
True:真 -
False:假
注意:True 和 False 必须区分大小写,首字母需要大写。
a = True
b = False
print(type(a))
print(type(b))
运行结果:
<class 'bool'>
<class 'bool'>
布尔类型的特点:
在Python中,布尔值也可以当作整数参与运算:
-
True相当于整数1。 -
False相当于整数0。
例如:
print(True + False)
print(True + 1)
print(False + 0)
运行结果:
1
2
0
4. 复数类型(complex)
复数由实部和虚部组成,通常使用 a + bj 的形式表示。
其中:
-
a表示实部。 -
b表示虚部的系数。 -
j表示虚数单位。
例如:
num1 = 2 + 3j
print(num1)
print(type(num1))
运行结果:
(2+3j)
<class 'complex'>
注意:Python中复数的虚数单位使用 j,不能直接使用数学中常见的 i。
错误写法:
num = 1 + 2i
正确写法:
num = 1 + 2j
复数也可以进行加法运算:
num1 = 1 + 2j
num2 = 2 + 3j
print(num1 + num2)
运行结果:
(3+5j)
还可以使用 real 和 imag 获取复数的实部和虚部:
num = 2 + 3j
print(num.real)
print(num.imag)
运行结果:
2.0
3.0
八、字符串类型(str)
1. 字符串的含义
字符串是由字符组成的一段文本,在Python中使用 str 表示。
字符串需要使用引号括起来,常见的引号有:
-
单引号:
' ' -
双引号:
" " -
三引号:
''' '''或""" """
例如:
name = 'sixstar'
user = "张三"
print(name)
print(user)
运行结果:
sixstar
张三
2. 字符串必须使用引号括起来
错误写法:
name = sixstar
如果没有提前定义 sixstar 这个变量,就会出现 NameError,因为Python会把 sixstar 识别为变量名,而不是字符串。
正确写法:
name = "sixstar"
3. 字符串的三种引号形式
单引号和双引号都可以定义普通字符串:
str1 = 'hello'
str2 = "world"
print(str1)
print(str2)
如果字符串中包含多行内容,可以使用三引号:
str3 = """hello
python
world"""
print(str3)
运行结果:
hello
python
world
4. 字符串三引号与多行注释的区别
三引号可以定义多行字符串,也经常用于函数或类的文档字符串。
例如:
message = """这是第一行
这是第二行
这是第三行"""
print(message)
而Python通常使用多行 # 来实现多行注释:
# 这是第一行注释
# 这是第二行注释
# 这是第三行注释
需要注意:三引号本质上是字符串,不是Python专门定义的多行注释语法。
九、格式化输出
1. 格式化输出的含义
格式化输出是指将变量的值按照指定格式组合成字符串,再输出到控制台。
例如:
name = "张三"
age = 18
print("我的名字是:%s,今年%d岁" % (name, age))
运行结果:
我的名字是:张三,今年18岁
2. 使用百分号(%)格式化
常见的格式化占位符:
| 占位符 | 含义 |
|---|---|
%s | 字符串 |
%d | 整数 |
%f | 浮点数 |
%.2f | 保留两位小数的浮点数 |
例如:
name = "sixstar"
age = 22
price = 3.14159
print("姓名:%s" % name)
print("年龄:%d" % age)
print("价格:%f" % price)
print("价格:%.2f" % price)
运行结果:
姓名:sixstar
年龄:22
价格:3.141590
价格:3.14
3. 使用format()方法格式化
format() 方法可以将变量填入字符串中的 {} 占位位置。
例如:
name = "sixstar"
age = 22
print("我的名字是{},今年{}岁".format(name, age))
运行结果:
我的名字是sixstar,今年22岁
还可以指定占位符的位置:
print("姓名:{0},年龄:{1}".format("张三", 18))
4. 使用f-string格式化
f-string是Python 3.6及以上版本支持的一种字符串格式化方式。
在字符串前面加上 f,就可以直接在 {} 中填写变量或表达式。
例如:
name = "sixstar"
age = 22
print(f"我的名字是{name},今年{age}岁")
运行结果:
我的名字是sixstar,今年22岁
也可以直接进行简单的表达式计算:
num1 = 10
num2 = 20
print(f"两个数相加的结果是:{num1 + num2}")
运行结果:
两个数相加的结果是:30
日常Python开发中,推荐优先掌握f-string,语法简单,代码也比较直观。
十、print()输出函数
1. print()函数的基本用法
print() 是Python中常用的输出函数,用于将指定内容输出到控制台。
例如:
print("hello python")
print(666)
print(3.14)
2. print()函数的参数
print() 函数常见的参数格式:
print(*objects, sep=' ', end='\n')
其中:
-
objects:需要输出的内容,可以是一个或多个值。 -
sep:多个输出内容之间的分隔符,默认是一个空格。 -
end:输出结束后追加的内容,默认是换行符\n。
(1)输出多个值
print("hello", "python", 666)
运行结果:
hello python 666
多个值之间默认使用空格分隔。
(2)sep参数
sep 用于设置多个输出值之间的分隔符。
例如:
print("hello", "python", 666, sep="-")
运行结果:
hello-python-666
还可以使用其他分隔符:
print("2026", "11", "11", sep="/")
运行结果:
2026/11/11
(3)end参数
end 用于设置输出结束后追加的内容,默认是 \n,表示换行。
例如:
print("hello", end=" ")
print("python")
运行结果:
hello python
如果不修改 end 参数:
print("hello")
print("python")
运行结果:
hello
python
十一、综合练习
通过前面学习的知识,编写一个简单的个人信息输出程序。
# 定义变量
name = "sixstar"
age = 22
height = 1.75
is_student = True
# 查看数据类型
print(type(name))
print(type(age))
print(type(height))
print(type(is_student))
# 格式化输出个人信息
print(f"姓名:{name}")
print(f"年龄:{age}")
print(f"身高:{height}米")
print(f"是否为学生:{is_student}")
# 使用sep和end
print("Python", "自动化", "测试", sep="-", end="!")
运行结果:
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
姓名:sixstar
年龄:22
身高:1.75米
是否为学生:True
Python-自动化-测试!
十二、知识点总结
本篇主要学习了Python入门阶段的基础知识:
-
Python语言特点:面向对象、解释型、动态类型、强类型、跨平台。
-
常见错误:输入错误、缩进错误、语法错误(SyntaxError)、命名错误(NameError)。
-
Debug调试:通过断点和单步执行定位程序错误。
-
注释:使用
#编写单行注释,使用多行#编写多行注释,了解三引号字符串和文档字符串。 -
变量:使用
变量名 = 值的方式定义变量,变量可以重复赋值。 -
标识符:了解标识符的命名规则和命名规范。
-
数据类型:掌握
int、float、bool、complex、str。 -
字符串:掌握单引号、双引号、三引号的使用。
-
格式化输出:掌握
%、format()、f-string 三种格式化方式。 -
print()函数:掌握
objects、sep、end等参数。
学习心得:
Python基础知识看起来比较简单,但变量、数据类型、字符串和输出函数是后续学习的重要基础。
在实际编程中,需要养成良好的代码规范,注意变量命名、数据类型和代码缩进,同时学会使用Debug调试工具定位问题。
后续学习自动化测试开发时,也会频繁使用这些知识。例如:
-
使用变量保存测试数据。
-
使用字符串拼接和格式化生成测试信息。
-
使用布尔类型判断测试结果是否通过。
-
使用print()或日志输出函数记录执行过程。
因此,不能只停留在理解语法,还需要通过编写代码不断练习,提高独立编写程序的能力。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)