一、Python语言简介

Python是一种面向对象的解释型计算机程序设计语言,具有语法简洁、容易学习、开发效率高等特点。

Python的主要特点:

  1. 解释型语言:通常由Python解释器执行程序代码。

  2. 面向对象:支持类、对象、继承、多态等面向对象编程特性。

  3. 动态类型语言:定义变量时不需要提前声明变量的数据类型,变量可以在运行过程中绑定不同类型的数据。

  4. 强类型语言:不同类型的数据不能随意进行不合理的隐式转换。

  5. 跨平台: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 + F9Debug调试
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

从程序执行的效果来看,可以理解为:

  1. Python创建整数对象 666。

  2. 变量名 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中的数据类型用于表示不同类型的数据。

常见的数据类型包括:

数据类型类型名称示例
整数int10
浮点数float3.14
布尔boolTrue
复数complex2+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入门阶段的基础知识:

  1. Python语言特点:面向对象、解释型、动态类型、强类型、跨平台。

  2. 常见错误:输入错误、缩进错误、语法错误(SyntaxError)、命名错误(NameError)。

  3. Debug调试:通过断点和单步执行定位程序错误。

  4. 注释:使用 # 编写单行注释,使用多行 # 编写多行注释,了解三引号字符串和文档字符串。

  5. 变量:使用 变量名 = 值 的方式定义变量,变量可以重复赋值。

  6. 标识符:了解标识符的命名规则和命名规范。

  7. 数据类型:掌握 int、float、bool、complex、str。

  8. 字符串:掌握单引号、双引号、三引号的使用。

  9. 格式化输出:掌握 %、format()、f-string 三种格式化方式。

  10. print()函数:掌握 objects、sep、end 等参数。

学习心得:

Python基础知识看起来比较简单,但变量、数据类型、字符串和输出函数是后续学习的重要基础。

在实际编程中,需要养成良好的代码规范,注意变量命名、数据类型和代码缩进,同时学会使用Debug调试工具定位问题。

后续学习自动化测试开发时,也会频繁使用这些知识。例如:

  • 使用变量保存测试数据。

  • 使用字符串拼接和格式化生成测试信息。

  • 使用布尔类型判断测试结果是否通过。

  • 使用print()或日志输出函数记录执行过程。

因此,不能只停留在理解语法,还需要通过编写代码不断练习,提高独立编写程序的能力。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐