内容正文:
举一反三考点练
《Python程序设计》Python语法基础-讲义
1. 掌握变量与常量;
2. 掌握表达式;
3. 掌握运算符;
知识点一 变量与常量
一、变量
1. 定义:变量是程序中用于存储数据的“容器”,其值可在程序运行过程中修改。
2. 命名规则:
由字母、数字、下划线(_)组成,不能以数字开头(如name1合法,1name非法)。
区分大小写(如age与Age是不同变量)。
不能使用Python关键字(如if、for等)。
3. 赋值:使用=赋值,如x = 10,Python为动态类型语言,变量类型由赋值决定(如x = "hello"后x变为字符串类型)。
4. 多重赋值:支持a = b = c = 5(同一值)或a, b = 1, 2(多个值)。
二、常量
1. 定义:程序运行过程中值不可改变的量,通常用于表示固定数据(如圆周率π)。
2. 约定:Python无严格语法强制,但约定常量名全大写(如PI = 3.14159),开发者应避免修改其值。
3. 作用:提高代码可读性,减少硬编码(如用MAX_SIZE代替直接写数值)。
三、区别
可变性:变量值可变,常量值不可变(约定层面)。
命名:变量常用小写或驼峰(如user_name),常量全大写(如USER_COUNT)。
(单项选择题) 下列Python变量名中,合法的是?( )
A. 3age
B. user-name
C. _count
D. if
【答案】C
【解析】变量名不能以数字开头(A错误),不能包含连字符(B错误),不能使用关键字(D错误),_count符合命名规则。
【要点】考查变量命名规则(开头字符、允许字符、关键字限制)。
1.(单项选择题) 执行代码x = 10; x = "hello"后,变量x的类型是?( )
A. 整型
B. 字符串型
C. 浮点型
D. 报错
【答案】B
【解析】Python是动态类型语言,变量类型由最后一次赋值决定,x = "hello"后x为字符串型。
【要点】考查Python动态类型特性及变量赋值后的类型变化。
2.(单项选择题) 关于Python常量,下列说法正确的是?( )
A. 常量名必须全大写,否则语法报错
B. 常量是程序运行中值不可变的量,通过约定实现
C. 常量赋值后无法再次赋值
D. 常量只能存储数值类型数据
【答案】B
【解析】Python无严格常量语法,通过全大写命名约定不可变(A错误),仍可重新赋值(C错误),可存储任意类型数据(D错误)。
【要点】考查Python常量的定义、命名约定及与变量的区别。
3.(判断题) Python变量名区分大小写,age和Age是同一个变量。( )
【答案】×
【解析】Python变量名严格区分大小写,age和Age是两个不同变量。
【要点】考查变量命名的大小写敏感性。
1.(判断题) 在Python中,a, b = 1, 2是合法的多重赋值语句。( )
【答案】√
【解析】Python支持多重赋值,可将多个值同时赋给多个变量,a赋值为1,b赋值为2。
【要点】考查Python多重赋值的语法规则。
2.(填空题) Python中,变量名不能以______开头,且不能使用______。
【答案】数字;关键字
【解析】变量命名规则要求不能以数字开头,且不能使用Python关键字(如if、for等)。
【要点】考查变量命名的禁止性规则(开头字符、关键字限制)。
3.(填空题) 在Python中,通常用______命名约定来表示常量,例如PI = 3.14159。
【答案】全大写
【解析】Python通过约定全大写命名表示常量,提醒开发者不应修改其值。
【要点】考查Python常量的命名约定。
· 变量是存储可变数据的容器,命名需符合规则(字母/数字/下划线开头,非关键字,区分大小写)。
· Python为动态类型语言,变量类型由赋值决定且运行时可修改。
· 常量是约定不可变的量,通过全大写命名(如PI)区分,无严格语法限制。
· 变量与常量核心区别在于可变性:变量值可变,常量值约定不变。
知识点二 表达式
表达式是由运算符和操作数按一定规则组成的、能计算出一个值的式子。操作数可以是常量、变量、函数调用等,运算符用于对操作数进行运算。例如 2 + 3、x * 5 - 1、len("hello") 均为表达式。
表达式的组成元素
操作数:参与运算的数据,包括:
常量(如 3.14、"Python");
变量(如 x、name);
函数调用(如 print()、max(1,2),函数返回值作为操作数)。
运算符:用于对操作数进行运算的符号,如算术运算符(+、-)、比较运算符(>、==)等。
表达式的分类
按运算符功能,表达式可分为:
1. 算术表达式
由算术运算符(+、-、*、/、%、**、//)连接操作数组成,结果为数值。
示例:5 % 2(结果 1)、2 ** 3(结果 8)、10 // 3(结果 3)。
2. 关系表达式
由关系运算符(>、<、==、!=、>=、<=)连接操作数组成,结果为布尔值(True/False)。
示例:3 > 5(结果 False)、"abc" == "abc"(结果 True)。
3. 逻辑表达式
由逻辑运算符(and、or、not)连接布尔型操作数组成,结果为布尔值。
运算规则:
and:全真为真(True and False→False);
or:一真为真(True or False→True);
not:取反(not True→False)。
4. 赋值表达式
由赋值运算符(=、+=、-=等)将值赋给变量,结果为赋值后变量的值(Python 3.8+支持海象运算符 :=)。
示例:x = 10(x 值为 10)、x += 3(等价 x = x + 3)、if (n := len(s)) > 5:(赋值并判断)。
5. 位运算表达式
由位运算符(&、|、^、~、<<、>>)对整数的二进制位操作,结果为整数。
示例:5 & 3(二进制 101 & 011→001,结果 1)、2 << 3(左移3位,结果 16)。
6. 成员运算表达式
由成员运算符(in、not in)判断元素是否在序列(如字符串、列表)中,结果为布尔值。
示例:'a' in "apple"(True)、4 not in [1,2,3](True)。
7. 身份运算表达式
由身份运算符(is、is not)判断两个对象是否为同一内存地址,结果为布尔值。
示例:x = [1]; y = [1]; x is y(False,不同对象)、x = None; x is None(True)。
表达式的求值
表达式通过运算符对操作数计算得到唯一结果。求值时需注意:
运算符优先级:决定运算顺序,如 * 优先于 +(2 + 3 * 4→14);
结合性:同级运算符的运算方向,如 * 左结合(2 * 3 * 4→(2*3)*4)。
表达式与语句的区别
表达式:核心是“求值”,必有结果(如 x + 1);
语句:核心是“执行操作”,不一定有结果(如 print(x + 1)、if x > 0:)。
表达式可嵌套在语句中使用(如 return x * 2),语句不能作为表达式的一部分。
(单项选择题)下列Python表达式中,结果不是布尔值的是?( )
A. 3 > 5
B. x = 10
C. 'a' in "apple"
D. True and False
【答案】B
【解析】赋值表达式 x = 10 的结果是变量 x 被赋的值 10(整数类型),而关系表达式、成员运算表达式、逻辑表达式的结果均为布尔值(True/False)。
【要点】考查不同类型表达式的结果类型。
1.(单项选择题)表达式 5 // 2 + 5 % 2 的计算结果是?( )
A. 5
B. 3
C. 2
D. 4
【答案】B
【解析】// 是整除运算,5 // 2 结果为 2;% 是取余运算,5 % 2 结果为 1;两者相加 2 + 1 = 3。
【要点】考查算术运算符(整除、取余)的优先级与计算。
2.(单项选择题)已知 x = 10,y = 20,表达式 x > 5 and y < 15 的值是?( )
A. True
B. False
C. 10
D. 20
【答案】B
【解析】逻辑运算符 and 需两边均为 True 结果才为 True。x > 5 为 True,但 y < 15 为 False,故整体结果为 False。
【要点】考查逻辑运算符 and 的运算规则。
3.(判断题)表达式 2 ** 3 ** 2 的计算结果是 64。( )
【答案】×
【解析】** 是幂运算符,右结合性,故计算顺序为 3 ** 2 = 9,再计算 2 ** 9 = 512,结果不是 64。
【要点】考查幂运算符的结合性。
1.(判断题)成员运算表达式 'a' not in "banana" 的结果是 False。( )
【答案】√
【解析】'a' 存在于 "banana" 中,因此 'a' not in "banana" 结果为 False,题干表述正确。
【要点】考查成员运算符 not in 的含义。
2.(填空题)表达式 10 % 3 的值是______。
【答案】1
【解析】% 是取余运算,10 除以 3 的余数是 1。
【要点】考查算术运算符(取余)的计算。
3.(填空题)已知 a = [1, 2, 3],b = a,表达式 a is b 的值是______。
【答案】True
【解析】b = a 使 b 和 a 指向同一列表对象(内存地址相同),is 判断身份,故结果为 True。
【要点】考查身份运算符 is 的判断逻辑。
· 表达式由运算符和操作数组成,核心功能是求值并返回唯一结果。
· 表达式按运算符功能可分为算术、关系、逻辑、赋值等类型,结果类型各异。
· 表达式求值需遵循运算符优先级和结合性规则,决定运算顺序。
· 表达式与语句的区别在于表达式必有结果,语句侧重执行操作。
知识点三 运算符
1. 算术运算符
用于数值运算,包括:
+(加)、-(减)、*(乘)、/(除,结果为浮点数)
//(整除,向下取整)、%(取余)、**(幂运算)
2. 比较运算符
比较两个值,返回布尔值(True/False):
==(等于)、!=(不等于)
>、<、>=、<=
3. 逻辑运算符
连接布尔表达式,短路求值:
and(与,全真为真)、or(或,一真为真)、not(非,取反)
4. 赋值运算符
简化赋值操作:
=(赋值)、+=、-=、*=、/=、%=、**=、//=
5. 位运算符
操作二进制位:
&(按位与)、|(按位或)、^(按位异或)
~(按位取反)、<<(左移)、>>(右移)
6. 成员运算符
检查成员是否存在:
in(在序列中返回True)、not in
7. 身份运算符
比较对象内存地址:
is(同一对象返回True)、is not
8. 运算符优先级
从高到低:
算术 → 位 → 比较 → 逻辑 → 赋值
括号()可强制改变优先级。
(单项选择题) 在Python中,表达式 10 // 3 的计算结果是?( )
A. 3.333...
B. 3
C. 4
D. 1
【答案】B
【解析】// 是整除运算符,其结果是商的整数部分(向下取整),10除以3等于3.333...,向下取整后为3。
【要点】考查算术运算符中整除运算符 // 的功能。
1.(单项选择题) 已知 x = 5,执行语句 x %= 2 后,变量 x 的值是?( )
A. 7
B. 5
C. 2
D. 1
【答案】D
【解析】%= 是复合赋值运算符,x %= 2 等价于 x = x % 2。5除以2的余数是1,因此 x 的值变为1。
【要点】考查赋值运算符中复合赋值运算符 %= 的用法。
2.(单项选择题) 下列Python表达式中,结果一定为 False 的是?( )
A. 5 > 3 and 2 < 4
B. not (10 == 10)
C. 3 in [1, 2, 3]
D. 5 is 5.0
【答案】D
【解析】is 是身份运算符,用于判断两个变量是否引用同一个对象。5 是整型(int),5.0 是浮点型(float),虽然值相等,但它们是不同类型的对象,内存地址不同,因此 5 is 5.0 结果为 False。选项A、B、C的结果分别为 True、False、True,但D选项在任何情况下都为 False。
【要点】考查身份运算符 is 与比较运算符 == 的区别。
3.(判断题) 在Python中,表达式 3 and 5 的计算结果是 5。( )
【答案】√
【解析】and 是逻辑运算符,在Python中具有短路求值特性。如果第一个操作数为真,则整个表达式的值为第二个操作数的值。因为 3 在布尔上下文中被视为 True,所以表达式结果为 5。
【要点】考查逻辑运算符 and 的短路求值特性和返回值规则。
1.(判断题) 位运算符 << (左移) 相当于对操作数进行乘以2的运算。( )
【答案】√
【解析】将一个数的二进制位向左移动n位,相当于将该数乘以2的n次方。例如,5 << 1 (二进制101左移1位变为1010),结果是10,即 5 * 2。
【要点】考查位运算符 << 的数学意义。
2.(填空题) 表达式 15 % 4 的值是 ______。
【答案】3
【解析】% 是取余运算符,用于计算除法的余数。15除以4的商是3,余数是3。
【要点】考查算术运算符中取余运算符 % 的计算。
3.(填空题) 假设列表 a = [1, 2, 3],要判断数字 2 是否在列表 a 中,可以使用的表达式是 ______。
【答案】2 in a
【解析】in 是成员运算符,用于检查一个值是否是序列(如列表、元组、字符串)的成员,如果在则返回 True,否则返回 False。
【要点】考查成员运算符 in 的基本应用。
· Python运算符分为算术、比较、逻辑、赋值、位、成员和身份七类,用于执行不同类型的计算和判断。
· 算术运算符处理数值计算,比较运算符用于大小关系判断,逻辑运算符连接布尔条件且具有短路特性。
· 赋值运算符可简化变量更新,成员和身份运算符则分别用于检查元素归属和对象内存地址是否相同。
· 运算符具有明确的优先级,使用括号可以改变默认的运算顺序。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$