一、Python数据类型
Python中有多种数据类型,每种数据类型都有其特定的用途和行为。以下是一些主要的数据类型:
- 整数(int):表示整数,例如
10
、-3
。 - 浮点数(float):表示小数,例如
3.14
、-2.718
。 - 字符串(str):表示文本,例如
"Hello, World!"
、"Python编程"
。 - 布尔值(bool):表示真或假,只有两个值
True
和False
。 - 列表(list):有序的元素集合,可以包含不同类型的元素,例如
[1, 2, 3]
、["apple", "banana", "cherry"]
。 - 元组(tuple):与列表类似,但一旦创建便不可修改,例如
(1, 2, 3)
、("apple", "banana", "cherry")
。 - 字典(dict):键值对的无序集合,例如
{"name": "Alice", "age": 25}
。 - 集合(set):无序且不重复的元素集合,例如
{1, 2, 3}
、{"apple", "banana", "cherry"}
。 - NoneType:表示空值或缺失值,例如
None
。
下面是一个示例代码,用type()函数来查看并输出一些变量的数据类型,以及预输出结果:# 数字类型
a = 10
print(type(a)) # 预输出: <class 'int'>b = 3.14
print(type(b)) # 预输出: <class 'float'>c = 1 + 2j
print(type(c)) # 预输出: <class 'complex'># 字符串类型
d = "hello"
print(type(d)) # 预输出: <class 'str'># 布尔类型
e = True
print(type(e)) # 预输出: <class 'bool'># 列表类型
f = [1, 2, 3]
print(type(f)) # 预输出: <class 'list'># 元组类型
g = (1, 2, 3)
print(type(g)) # 预输出: <class 'tuple'># 字典类型
h = {"name": "Alice", "age": 25}
print(type(h)) # 预输出: <class 'dict'># 集合类型
i = {1, 2, 3}
print(type(i)) # 预输出: <class 'set'># 冻结集合类型(不可变集合)
j = frozenset([1, 2, 3])
print(type(j)) # 预输出: <class 'frozenset'># 字节类型
k = b"hello"
print(type(k)) # 预输出: <class 'bytes'># 字节数组类型
l = bytearray(b"hello")
print(type(l)) # 预输出: <class 'bytearray'># 内存视图类型(基于字节的数据缓冲区)
m = memoryview(bytearray(b"hello"))
print(type(m)) # 预输出: <class 'memoryview'>上述代码分别定义了不同数据类型的变量,并使用type()函数来查看它们的数据类型,并给出了预输出结果。
二、Python变量的命名规则
-
变量名只能包含字母(a-z, A-Z)、数字(0-9)和下划线(_)。例如,
my_variable
,var123
,_temp
都是合法的变量名。 -
变量名不能以数字开头。 例如,
1stVariable
是非法的,而first_variable
是合法的。 -
变量名区分大小写。 例如,
Var
和var
是两个不同的变量。 -
变量名不能是Python的关键字或保留字。 例如,
if
,else
,while
,for
等都是Python的关键字,不能用作变量名。可以使用keyword
模块来查看所有关键字:
import keyword
print(keyword.kwlist)
-
尽量使用有意义的变量名。 虽然可以使用单个字母作为变量名,但为了代码的可读性,建议使用描述性的变量名。例如,
x
可以表示为index
或counter
。 -
避免使用内置函数名作为变量名。 例如,不要使用
list
,str
,int
等作为变量名,因为它们会覆盖内置函数的功能。
以下是一些合法和不合法的变量名示例:
合法变量名:
my_variable = 10
userName = "Alice"
_temp = 3.14
count1 = 5
不合法变量名:
1stVariable = 10 # 不能以数字开头
my-variable = 10 # 不能包含连字符
class = "Python" # 不能使用关键字
三、Python关键字
1.什么是python关键字?
Python关键字是Python编程语言中预定义的、具有特殊含义和用途的标识符,它们在语法结构、逻辑控制、错误处理等方面执行特定的操作。Python中的关键字不能用作变量名或函数名,因为这会导致意外的错误和混淆。
2.python中关键字有哪些?
(一)Python关键字列表
-
False:布尔类型的假值。
-
None:表示空值或者缺失值。
-
True:布尔类型的真值。
-
and:逻辑与操作。
-
as:用于类型转换或别名赋值。
-
assert:断言语句,用于调试目的。
-
async:用于定义异步函数。
-
await:用于等待异步操作的结果。
-
break:跳出循环。
-
class:定义类。
-
continue:跳过当前循环的剩余部分,继续下一次循环。
-
def:定义函数或方法。
-
del:删除对象。
-
elif:else if的缩写,用于条件判断。
-
else:条件判断中的“否则”分支。
-
except:捕捉异常。
-
finally:无论是否发生异常都会执行的代码块。
-
for:用于循环遍历序列或其他可迭代对象。
-
from:用于模块导入时指定具体导入的内容。
-
global:声明全局变量。
-
if:条件判断语句。
-
import:导入模块。
-
in:判断元素是否在序列中。
-
is:判断两个对象是否为同一个对象。
-
lambda:定义匿名函数。
-
nonlocal:声明外部作用域的局部变量。
-
not:逻辑非操作。
-
or:逻辑或操作。
-
pass:占位符语句,表示什么都不做。
-
raise:引发异常。
-
return:返回函数结果。
-
try:尝试执行可能引发异常的代码块。
-
while:只要条件为真就重复执行的循环语句。
-
with:上下文管理器,简化资源管理(如文件操作)。
-
yield:生成器函数中的关键字,返回一个值并暂停函数的执行,下次调用时从上次暂停的地方继续执行。
(二)软关键字
软关键字是指在特定上下文中保留的标识符,例如:
-
_:通常作为临时变量或占位符使用。
-
case:在某些模式匹配中使用。
-
match:用于模式匹配。
-
type:在某些情况下用作类型注解的一部分。
四、Python常见的赋值方法
Python常见的赋值方法及实例如下:
- 简单赋值:直接使用等号“=”将一个值赋给变量。
num = 10
print(num)这里将整数10赋值给变量 num ,然后通过 print 输出变量的值,会打印出10。
- 链式赋值:可以用一条语句给多个变量赋相同的值。
a = b = c = 5
print(a)
print(b)
print(c)
上述代码中,变量 a 、 b 、 c 都被赋值为5,执行 print 语句时,会分别输出5。
- 多元赋值(拆包赋值)
将多个值同时赋给多个变量,变量个数和值的个数要匹配。常用于元组、列表等可迭代对象的元素赋值。
- 元组拆包赋值示例:tup = (1, 2)
x, y = tup
print(x)
print(y)代码中先定义了一个包含两个元素的元组 tup ,然后通过拆包赋值将元组中的元素分别赋给 x 和 y 变量,最终会分别打印出1和2。- 列表拆包赋值示例:pythonlst = [3, 4]
m, n = lst
print(m)
print(n)这里定义了列表 lst ,并通过拆包赋值把列表元素赋给 m 和 n 变量,执行后会依次输出3和4。
- 增量赋值
结合算术运算符和赋值操作,对变量进行更新操作,比如 += (加法赋值)、 -= (减法赋值)、 *= (乘法赋值) 等。
- 加法赋值示例:count = 5
count += 3 # 等同于count = count + 3
print(count)初始 count 为5,执行 count += 3 后, count 的值变为8,最后会打印出8。- 乘法赋值示例:pythonproduct = 2
product *= 4 # 等同于product = product * 4
print(product)开始 product 为2,经过 product *= 4 操作,其值变为8,执行 print 语句输出8。
五、Python变量命名方法
Python变量命名主要有以下几种常见方法:
1. 小写字母加下划线命名法
使用小写字母开头,不同单词之间用下划线“_”
分隔,清晰易读,常用于普通变量、函数参数等,例如: user_name
、 student_age
。
2. 驼峰命名法
- 小驼峰命名法:第一个单词首字母小写,后续单词首字母大写,如:
firstName
、studentScore
,常用于变量名等,在一些Python代码遵循特定编程风格(比如部分面向对象编程场景)时使用。 - 大驼峰命名法:每个单词的首字母都大写,常用来命名类名,比如:
StudentClass
、PersonInfo
等。
3. 全大写字母加下划线命名法
全部使用大写字母,单词间用下划线分隔,通常用于定义常量,让代码阅读者能直观知晓这是不轻易变动的值,例如: MAX_COUNT
、 PI_VALUE
等。
六、题目练习
1• 考虑以下Python代码:
a, b, c = 1, 2, 3
以下哪个选项正确描述了变量a
、b
和c
的值?( )
A.a = 1
,b = 2
,c = 3
B.a = 1
,b = 3
,c = 2
C.a = 2
,b = 3
,c = 1
D.a = 3
,b = 2
,c = 1
2• 给定以下Python代码:
x, y = 5
运行后,x
和y
的值将会是:( )
A.x = 5
,y = None
B.x = 5
,y = 5
C.x = None
,y = 5
D.代码会抛出异常
3• 考虑以下Python代码:
a, b = [1, 2, 3]
以下哪个选项正确描述了变量a
和b
的值?( )
A.a = [1, 2, 3]
,b = None
B.a = 1
,b = 2
C.a = 1
,b = [2, 3]
D.a = 1
,b = 3
4• 对于以下Python代码:
x = y = z = 0
以下哪个选项正确描述了变量x
、y
和z
的值?
A.x = 0
,y = 0
,z = None
B.x = 0
,y = 0
,z = 0
C.x = None
,y = 0
,z = 0
D.x = 0
,y = None
,z = 0
5• 给定以下Python代码:
a, *b, c = [1, 2, 3, 4, 5]
运行后,a
、b
和c
的值将会是:
A.a = 1
,b = [2, 3, 4]
,c = 5
B.a = 1
,b = [2, 3, 4, 5]
,c = None
C.a = 1
,b = [2]
,c = 5
D.a = 1
,b = [2, 3, 4]
,c = 4
6.在 Python 中,以下哪个变量名是合法的?( )
A. 1_num
B. num_1
C. @num
D. num!
7.根据 Python 变量命名规则,以下不能作为变量名的是:( )
A. my_variable
B. _private_var
C. 2nd_value
D. global_var
8.下列变量名符合 Python 命名规范的是:( )
A. for
B. True_value
C. class_name
D. break_
9.以下变量名中,合法的 Python 变量名是:( )
A. $money
B. money$
C. _money
D. money!value
10.在 Python 里,下面哪个选项的变量名不符合规则?( )
A. user_name
B. _user
C. user@name
D. name_1
11.依据 Python 变量命名要求,以下合法的变量名是:( )
A. def
B. if_else
C. lambda_value
D. while_loop
12.下列哪一个不是 Python 中有效的变量名?( )
A. _data
B. data_123
C. 123_data
D. data_list
13.以下变量名按照 Python 命名规则,正确的是:( )
A. ^result
B. result^
C. _result
D. result@
14.对于 Python 变量命名,以下不符合规定的是:( )
A. my_score
B. score_my
C. my score
D. _score
15.在 Python 中,下面哪个变量名的写法是合法的?( )
A. [list]
B. list_
C. list@1
D. list#