文章目录
注释
注释是用来对代码进行解释和说明的文本,可以提高代码的可读性和可维护性。
-
单行注释:以
#
符号开头,同行后面的即为注释内容,可以放在任意位置(除了字符串和注释中)。# 这是一个单行注释,用于解释下面的代码 x = 10 # 这是一个注释,解释变量 x 赋值为 10
-
多行注释:通常使用三重引号
"""
或'''
来包裹注释内容,可以在多行之间插入文本。""" 这是一个多行注释示例 可以跨越多行 用于解释一段较长的代码或功能 """
缩进
在Python中,缩进不仅仅是代码美观的问题,它是语法的一部分,用于定义代码块的结构。通常使用四个空格或者一个键来创建一个缩进级别,并且所有在同一个代码块内的语句必须有相同的缩进。
-
有效缩进示例:
# 定义一个整数列表 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 使用for循环遍历列表中的每个数字 for number in numbers: # 使用if条件语句检查数字是奇数还是偶数 if number % 2 == 0: print(f"{number} is even") # 如果数字除以2的余数为0,它是偶数 print("test") else: print(f"{number} is odd") # 如果数字除以2的余数不为0,它是奇数 print("test")
-
无效缩进示例:
# 定义一个整数列表 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 使用for循环遍历列表中的每个数字 for number in numbers: # 使用if条件语句检查数字是奇数还是偶数 if number % 2 == 0: print(f"{number} is even") # 如果数字除以2的余数为0,它是偶数 print("test") else: print(f"{number} is odd") # 如果数字除以2的余数不为0,它是奇数 print("test")
变量
变量是用于存储数据的标识符,你可以把它想象成一个指向内存中某个位置的标签,通过这个标签可以访问该位置存储的数据。Python 中的变量具有以下特点:
-
动态类型:Python 是一种动态类型语言,意味着你不需要提前声明变量的类型,Python 解释器会根据变量赋值的内容自动推断变量的类型。
-
变量赋值:在 Python 中,通过将值赋给变量来创建变量。
x = 42 # 将整数值42赋给变量x,不用声明变量的类型 name = "Alice" # 将字符串值"Alice"赋给变量name
-
变量命名规则:变量名是区分大小写的,推荐使用小写字母和下划线组合来命名变量,以提高代码的可读性。变量名可以包含字母、数字和下划线,但不能以数字开头。并且变量的命名不能是保留字。
-
数据类型:变量可以存储不同类型的数据,包括整数、浮点数、字符串、布尔值、列表、元组、字典等。
-
变量的重新赋值:变量的值可以随时被改变,可以将一个变量赋值给另一个变量。
x = 5 x = x + 1 # 重新赋值,现在x的值为6
-
变量的删除:可以使用
del
关键字删除变量,释放变量所占用的内存空间。x = 5 del x # 删除变量x
-
变量的作用域:在 Python 中,变量的作用域由其所在的代码块(如函数、循环等)确定。全局变量在整个程序中都可见,而局部变量只在其定义的函数或代码块中可见。
-
变量的引用:变量不仅可以存储基本数据类型的值,还可以存储对象的引用,这些对象可以是列表、元组、字典等数据结构,甚至是自定义的类实例。
保留字与标识符
保留字是Python语言中已经预留用于特定目的的关键字,不能作为标识符使用,因为它们具有特殊的语法含义,被编程语言所保留。
-
保留字列表(不用记忆这些,了解即可)
False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise
标识符是程序员在编写程序时自己定义的名称,用来表示变量、函数、类或其他对象。
-
标识符可以包含字母(大小写)、数字和下划线
_
,但不能以数字开头。 -
标识符是区分大小写的,例如
Var
和var
是两个不同的标识符。 -
标识符不能与Python中的保留字相同。
# 有效示例 my_variable variable2 MyClass function_nam
数据类型
在Python中,有许多不同的数据类型,每种类型都有其特定的特性和用途。
- 整数(int):
- 表示整数,可以是正数、负数或零,通过不同的前缀还可以区分为二进制,八进制,十进制(默认),十六机制。
x = 5
(默认十进制)x = 0b0101
二进制x = 0o005
八进制x = 0x005
十六进制
- 浮点数(float):
- 表示有小数点的数字。
y = 3.14
- 有时候浮点数表达式的计算可能不准确
- 布尔值(bool):
- 表示逻辑值,只有两个取值:True和False,一般情况下,非空和非零的值等价True,为空为零的值等价False。
is_true = True
- 布尔值为False:False、整数0、浮点数0.0、None、空字符串、空列表、空元组、空字典、空集合
- 空值(NoneType):
- 表示一个特殊的空值,通常用于表示变量未赋值或函数没有返回值。
x = None
下面这些会在数据结构详细解释
- 列表(list):
- 表示一组有序的元素的集合,可以包含不同类型的元素。
- 使用方括号
[]
来定义,元素之间用逗号分隔。 my_list = [1, 2, "apple", True]
- 元组(tuple):
- 与列表类似,但元组是不可变的(immutable),一旦创建就不能修改。
- 使用圆括号
()
来定义,元素之间用逗号分隔。 my_tuple = (1, 2, "banana")
- 集合(set):
- 表示一组互不相同的元素的集合,用于去重和数学运算。
- 使用大括号
{}
来定义,元素之间用逗号分隔。 my_set = {1, 2, 3}
- 字典(dict):
- 表示一组键-值对的集合,用于存储和查找数据。
- 使用大括号
{}
来定义,键和值之间用冒号分隔,键值对之间用逗号分隔。 my_dict = {"name": "Alice", "age": 30}
- 字符串(str):
- 字符串是一种有序的字符序列,用于表示文本数据。
- 使用单引号
' '
、双引号" "
或三引号''' '''
、""" """
来表示字符串,其中三引号用于表示多行字符串。 string = "this is a test"
强制类型转换
-
int(x)
将
x
转换为一个整数。如果x
是一个浮点数,它会将其截断为一个整数。如果x
是一个字符串,它应该包含一个合法的整数文本(包括可选的符号、数字和可选的前导空格),并且可以有任意数量的前导零。x = 10.5 print(int(x)) # 输出结果为 10 y = "20" print(int(y)) # 输出结果为 20
-
float(x)
将
x
转换为一个浮点数。如果x
是一个整数,它会将其转换为浮点数。如果x
是一个字符串,它应该包含一个合法的浮点数文本(包括可选的符号、数字、小数点和可选的前导空格)。x = 10 print(float(x)) # 输出结果为 10.0 y = "20.5" print(float(y)) # 输出结果为 20.5
-
bool(x)
将
x
转换为一个布尔值。布尔值False
被定义为数字零(整数或浮点数)、空字符串""
、空列表[]
、空字典{}
、空元组()
、空集合set()
和特殊值None
。除此之外的所有值都将转换为布尔值True
。x = 0 print(bool(x)) # 输出结果为 False y = "hello" print(bool(y)) # 输出结果为 True
-
str(x)
将
x
转换为一个字符串。str()
函数接受一个对象,并返回一个易于阅读的字符串。x = 10 print(str(x)) # 输出结果为 "10" y = 20.5 print(str(y)) # 输出结果为 "20.5"
-
list(x)
将
x
转换为一个列表。如果x
是一个字符串,它会将其拆分为单个字符的列表。如果x
是一个元组、集合或字典,它会将其转换为一个列表。x = "hello" print(list(x)) # 输出结果为 ['h', 'e', 'l', 'l', 'o'] y = (1, 2, 3) print(list(y)) # 输出结果为 [1, 2, 3]
-
tuple(x)
将
x
转换为一个元组。如果x
是一个列表、集合或字典,它会将其转换为一个元组。x = [1, 2, 3] print(tuple(x)) # 输出结果为 (1, 2, 3) y = {4, 5, 6} print(tuple(y)) # 输出结果为 (4, 5, 6)
-
set(x)
将
x
转换为一个集合。如果x
是一个字符串,它会将其拆分为单个字符的集合。如果x
是一个列表、元组或字典,它会将其转换为一个集合。x = "hello" print(set(x)) # 输出结果为 {'h', 'l', 'o', 'e'} y = [1, 2, 3, 3] print(set(y)) # 输出结果为 {1, 2, 3}
运算符
-
算术运算符:
+
:加法,用于对两个数进行相加。-
:减法,用于从第一个数中减去第二个数。*
:乘法,用于将两个数相乘。/
:除法,用于将第一个数除以第二个数。//
:整除,返回除法的整数部分,向下取整。10//3 # 3
-10//3 # -4
%
:取模,返回除法的余数。**
:幂运算,用于求一个数的指数。
-
赋值运算符:
=
:赋值运算符,用于将右侧的值赋给左侧的变量。+=
、=
、=
、/=
、//=
、%=
、*=
:复合赋值运算符,将算术运算和赋值合并在一起。a += b等价于 a = a + b
-
比较运算符:
最终返回值是布尔类型的,条件成立返回True,不成立则返回False
-
==
:等于,检查两个操作数的值是否相等。 -
!=
:不等于,检查两个操作数的值是否不相等。 -
>
:大于,检查第一个操作数的值是否大于第二个操作数的值。 -
<
:小于,检查第一个操作数的值是否小于第二个操作数的值。 -
>=
:大于等于,检查第一个操作数的值是否大于或等于第二个操作数的值。 -
<=
:小于等于,检查第一个操作数的值是否小于或等于第二个操作数的值。 -
is
:如果两个对象指向同一块内存地址,则返回 True,否则返回 False。x = [1, 2, 3] y = x print(y is x) # 输出结果为 True,因为 y 和 x 指向同一对象
-
is not
:与is相反
-
-
逻辑运算符:
and
:逻辑与,如果两个条件都为True,则结果为True。or
:逻辑或,如果两个条件至少有一个为True,则结果为True。not
:逻辑非,如果条件为True,则结果为False;如果条件为False,则结果为True。
-
位运算符:
-
&
:按位与,对操作数的每个位执行与操作。 -
|
:按位或,对操作数的每个位执行或操作。 -
^
:按位异或,对操作数的每个位执行异或操作。 -
~
:按位取反,对操作数的每个位取反。 -
<<
:左移,将操作数的位向左移动指定的位数。 -
>>
:右移,将操作数的位向右移动指定的位数。a = 10 # 二进制表示为 1010 b = 5 # 二进制表示为 0101 bitwise_and = a & b bitwise_or = a | b bitwise_xor = a ^ b bitwise_not_a = ~a left_shift = a << 2 right_shift = a >> 1 print(bitwise_and) # 输出:0 print(bitwise_or) # 输出:15 print(bitwise_xor) # 输出:15 print(bitwise_not_a) # 输出:-11 print(left_shift) # 输出:40 print(right_shift) # 输出:5
-
-
成员运算符
-
in
:如果指定的值存在于序列中,则返回 True,否则返回 False。-
用法示例:
my_list = [1, 2, 3, 4, 5] print(3 in my_list) # 输出结果为 True
-
-
not in
:若指定的值不存在于序列中,则返回True
。若存在,则返回False
。-
用法示例:
my_list = [1, 2, 3, 4, 5] print(6 not in my_list) # 输出结果为 True
-
-
顺序语句
顺序语句是程序中按照编写顺序依次执行的语句。在 Python 中,顺序语句是指按照代码的书写顺序依次执行的语句,没有特定的控制结构来改变其执行顺序。这种语句通常是程序中最基本和最常见的类型。
-
示例
x = 5 # 将5赋值给变量x。 y = 10 # 将10赋值给变量y。 z = x + y # 将x和y的和赋值给变量z。 print(z) # 打印变量z的值。
条件语句
条件语句是编程中常用的一种结构,用于根据条件的真假来执行不同的代码分支。在Python中,条件结构通常使用if
、elif
和else
关键字来实现,可以单分支,双分支,多分支以及嵌套。
-
条件结构的基本语法和示例:
if condition1: # 如果条件1为真,则执行这里的代码块 statement1 statement2 elif condition2: # 如果条件1为假,但条件2为真,则执行这里的代码块 statement3 statement4 else: # 如果以上条件均为假,则执行这里的代码块 statement5 statement6
-
示例
x = 10 if x > 5: print("x is greater than 5") elif x == 5: print("x is equal to 5") else: print("x is less than 5")
循环语句
循环语句是编程中常用的一种结构,用于重复执行一段代码,直到满足特定的条件。在Python中,有两种主要的循环语句:for
循环和while
循环。
1. for 循环(适合已知迭代次数的):
for
循环用于迭代遍历一个序列(如列表、元组、字符串等)中的每个元素,或者执行一定次数的循环。
for item in sequence:
# 循环体,针对每个元素或次数执行的代码
statement1
statement2
-
示例1:遍历列表中的元素
# 将列表中的内容依次输出 my_list = [1, 2, 3, 4, 5] for num in my_list: print(num)
-
示例2:循环指定次数
# 输出五次Hello,自带换行 for i in range(5): print("Hello")
2. while 循环(适合已知条件的类型):
while
循环用于在条件为真时重复执行一段代码,直到条件不再满足。
while condition:
# 循环体,当条件为真时执行的代码
statement1
statement2
-
示例:计算数字的阶乘
num = 5 factorial = 1 while num > 0: factorial *= num num -= 1 print("Factorial:", factorial)
在循环语句中的 else 语句:
for item in iterable:
if condition:
# 条件为真时执行的代码块
statement1
statement2
break
else:
# 循环完整执行并且没有被中断时执行的代码块
statement3
statement4
循环(for或while)正常执行完毕(即没有被 break
语句中断),则执行 else
语句中的代码块。这种用法通常用于在循环未找到所需元素时执行一些操作。
3. break语句:
break
语句用于在循环中立即终止循环,并跳出循环体,继续执行循环之后的代码。通常与条件语句一起使用,以提前结束循环。
for i in range(5):
if i == 3:
break
print(i)
# 0
# 1
# 2
4. continue语句:
continue
语句用于在循环中跳过当前迭代,并继续执行下一次循环迭代。它不会终止整个循环,只是跳过当前循环迭代中 continue
之后的代码。
for i in range(5):
if i == 2:
continue
print(i)
# 0
# 1
# 3
# 4