Python基础:运算符与分支结构
运算符与分支结构
运算符
-
赋值运算符
用'='表示,'='左边只能是变量。
算术运算符
+、-、*:加、减、乘
/:除法运算,结果为浮点数
//:除法运算,结构为整数
%:求余
**:求幂,也可以使用函数
pow
复合运算符
+=、-=、*=、/=、//=、%=、**=
示例:
a += 3等价于
a = a + 3
关系运算符
>、>=、<、<=、==、!=
关系表达式:由操作数和关系运算符构成的表达式
关系表达式是有值的:符合数学逻辑为真(True),不符合数学逻辑为假(False)
逻辑运算符
与(and):两边的表达式同时为真,结果才为真
或(or):两边的表达式一个为真,结果就为真
非(not):用于取反表达式的,真变假,假变真
使用not是为了简化书写
经常伴随着隐式类型转换
成员运算符
in、not in:判断一个值是否是另一个对象的成员
说明:通常用在字符串、列表、元组、集合、字典等的成员判断
示例:
[code]# 成员运算 lt = [1, 2, 3] print(1 in lt) print(4 not in lt) d = {'name': 'dahua'} # 对于字典,判断的是键 print('name' in d)
位运算符
&:按位与,对应的数据位同时为1,结果上对应的位才为1
|:按位或,对应的数据位一个为1,结果上对应的位就为1
^:按位异或,对应的数据位不同结果为1,相同结果为0
~:按位取反,数据的每一位,0变1,1变0
<<:按位左移,左移一位相当于乘以2
>>:按位右移,右移一位相当于除以2
优先级与结合性
语法中的运算符的优先级与结合性比较杂乱,即使记住了也非常容易忘记。
建议:使用时不用刻意记录运算符的优先级与结合性,当需要明确指定时添加括号即可。
流程控制
-
说明:
按照程序的执行流程,程序刻意分为三种结构:顺序结构、分支结构、循环结构
-
顺序结构:代码按照从上到下依次执行,没有语法
-
代码层次:python中不是通过大括号体现的,而是通过缩进体现的
分支结构(if-else)
格式1:适合于解决生活中的条件执行问题
[code]if 表达式: 语句块
执行流程:当程序执行到if语句时,首先判断表达式的真假。若表达式的值为真,则执行缩进的语句块;若表达式的值为假,则跳过语句块执行后面的内容。
-
格式2:适合于解决生活中的非此即彼的问题
[code]if 表达式: 语句块1 else: 语句块2
执行流程:当程序执行到if-else语句时,首先判断表达式的真假。若表达式的值为真,则执行语句块1;若表达式的值为假,则执行语句块2。
-
格式3:适合于解决生活中的多种选择的问题
[code]if 表达式1: 语句块1 elif 表达式2: 语句块2 ... else: 语句块
elif的个数没有限制
else可以省略
所有的语句块最多只能执行一个
ASCII
-
说明:美国信息交换标准代码,就是用一个数字表示一个字符
-
示例:
[code]# 根据字符获取ASCII print(ord('A')) # 将ASCII转换为字符 print(chr(65))
列表操作
-
示例:
[code]lt1 = [1, 2, 3] lt2 = [4, 5, 6] print(lt1 + lt2) print(lt1 * 2) print(lt1[1:-1]) print(len(lt1)) lt = [1, 2, 3, 4, 5] # 获取元素 print(lt[0]) # 修改元素 lt[0] = 100 # 追加:在列表的末尾添加,作为整体添加 lt.append(200) lt.append([6, 7]) # 扩充:将序列中的元素一个一个添加到列表 lt.extend([300, 400]) # 插入:在指定的位置添加元素 lt.insert(2, 250) # 删除:根据下标删除 del lt[0] # 根据元素进行删除 lt.remove(250) # 弹出并删除,会返回元素, # 默认删除最后一个元素,可以指定下标 ele = lt.pop(4) print(ele) # 根据元素查第一次出现的下标 print(lt.index(4)) # 统计元素出现的次数 print(lt.count(2)) # 逆序 lt.reverse() lt = [1, 5, 7, 3, 2] # 排序:默认是升序,reverse=True会降序排序 lt.sort(reverse=True) # 清空元素 lt.clear() print(lt)
元组操作
-
提示:参考列表操作学习元组操作。
集合操作
-
示例:
[code]s = {'炎生', '王鹏', '丙南', '昆鹏', '王鹏'} # 添加元素 s.add('飞虎') # 删除元素 s.remove('昆鹏') # 若集合中不存在此元素则会报KeyError错 # s.remove('狗蛋') # 存在则删除,不存在也不报错 s.discard('狗蛋') # 随机弹出一个元素 print(s.pop()) # 清空元素 s.clear() print(s) s1 = {'小马', '小乔', '小敏'} s2 = {'小王', '小乔', '小敏'} # 并集 print(s1.union(s2)) # 交集 print(s1.intersection(s2)) # 求交集,并用交集更新原集合 # s1.intersection_update(s2) # print(s1) # 差集 print(s1.difference(s2)) # s1.difference_update(s2) # print(s1) # 判断是否没有交集 print(s1.isdisjoint(s2)) # 判断是否是另一集合的子集 print(s1.issubset(s2)) # 判断是否是另一集合的超集/父集 print(s1.issuperset(s2))
[code]练习:
-
从终端获取一个年份,判断是否是闰年,是就打印'xxx年是闰年',不是就打印'xxx年不是闰年'
-
输入两个整数,打印较大值
-
输入三个整数,按照从小到大的顺序打印
-
输入一个三位数,顺序打印个位、十位、百位上的数
-
输入一个整数,判断是否既能被3整除,又能被7整除
-
输入一个字符,是大写转换为小写,是小写转换为大写,其它字符原样输出
- Python基础—03-运算符与分支结构
- Java基础(三):修饰符、运算符、循环结构和分支结构
- 基础篇--03 Java运算符、表达式、分支结构
- 黑马程序员——c语言基础:运算符和分支结构的一些注意点和练习
- Python基础 -----流程控制之分支(选择)结构((if-elif-else)
- java基础知识-----运算符表达式和分支结构
- java基础-02java运算符与分支结构
- Java基础03-运算符和分支结构
- 小甲鱼:Python学习笔记001_变量_分支_数据类型_运算符等基础
- Python学习入门基础教程(learning Python)--3 Python分支结构和布尔逻辑
- 『Python』基础数据结构常见使用方法
- python3基础-10 数据结构
- Python基础数据结构之dict
- Python3学习笔记【基础1--数据类型,运算符】
- python基础教程-第2章节 分支,循环,还有条件
- 【零基础入门学习Python笔记007】了不起的分支和循环1:打飞机框架
- 【Java基础】Java分支结构
- ASP.NET--表达式、运算符与分支结构(实战案例汇总2)
- ASP.NET--表达式、运算符与分支结构
- day03_运算符_分支结构_20150803