python 运算符与分支结构
运算符与分支结构
运算符
赋值运算符
用'='表示,左边只能是变量
算术运算符
+、-、*:加、减、乘
/:除法运算,结果是浮点型
//:除法运算,结果是整型
%:求余
**:求幂
复合运算符
+=、-=、*=、/=、//=、%=、**=
示例:
a = a+b 等价于 a += b
关系运算符
>、<、==、>=、<=、!=
表达式:由操作数和运算符构成的式子
关系表达式:由操作数和关系运算符构成的式子
关系表达式是有值的:符合数学逻辑值为真(True),不符合数学逻辑值为假(False)
逻辑运算符
与(and):两边的表达式同时为真,结果才为真
a = 20
print(a >= 0 and a <= 100)
# python特有的写法
print(0 <= a <= 100)
b = 10
print(b%3==0 and b%5==0)或(or):两边的表达式一个为真,结果就为真
# 判断闰年
year = int(input('请输入一个年份:'))
print((year%4==0 and year%100!=0) or (year%400==0))非(not):用于取反表达式,真变假,假变真
逻辑非经常伴随着隐式类型转换
很多时候是为简化表达式的书写
成员运算符
in、not in:判断一个变量是否在/不在另一个变量中
一般用在字符串、列表、元组、集合、字典等成员的判断
示例:
lt = [1, 2, 3]
print('in:', 8 in lt)
print('not in:', 8 not in lt)
d = {'name': 'xiaoming', 'age': 20}
# 字典:判断键是否存在
print('name' in d)
位运算符(了解)
&:按位与,对应的数据位同时为1,结果才为1
0b1010
0b1100 &
-----------
0b1000|:按位或,对应的数据位一个为1,结果就为1
^:按位异或,对应的数据位相同时值为0,不同时值为1
~:按位取反,对应的数据位,1变0,0变1
<<:按位左移,左移一位相当于乘2
》:按位右移,右移一位相当于除2
优先级与结合性
python语法中没有明确规定运算符的优先级与结合性,即使提供了明确说明你也不一定能记住
建议:使用时不用刻意记录运算符的优先级与结合性问题,实在不行添加()即可解决
流程控制
说明:
按照程序的执行流程,程序可以分为三种结构:顺序结构、分支结构、循环结构
顺序结构:就是代码按照从上到下的顺序依次执行,没有语法要求
代码层次:python中代码块不适于大括号区分,而是使用缩进来完成
分支结构(if-else)
格式1:适合于选择执行的情况
if 表达式:
语句块执行流程:当程序执行到if语句时,首先判断表达式的真假。若表达式的值为真,则执行对应的语句块;若表达式的值为假,则跳过语句块,之后后面的内容
格式2:适合于解决生活中非此即彼的问题
if 表达式:
语句块1
else:
语句块2执行流程:当程序执行到if-else语句时,首先判断表达式的真假。若表达式的值为,则执行语句块1;若表达式的值为假,则执行else后面的语句块(语句块2)。
格式3:适合于解决生活中多种选择的问题
if 表达式1:
语句块1
elif 表达式2:
语句块2
。。。
else:
语句块elif的个数没有限制
else可以省略不写
每一部分的语句块都不可能同时执行,最多执行一个
数据类型
字符串
s = 'hello'
# 字符串的重叠
s = 'hello' * 2
# 字符串的拼接
s = 'hello' + 'world'
print(s)
# 统计字符个数
print(len(s))
# 提取单个字符,通过下表提取
# 从开头提取,下表从0开始
print(s[0])
# 从结尾提取,下表从-1开始
print(s[-1])
# 切片:s[开始:结束:步进]
s = 'abcdefg'
# 包括起始下表,不包括结束下表,默认的步进值为1
print(s[0:3])
print(s[2:4])
# 当一边没有指定就提取到该边的边界
print(s[:4])
print(s[3:])
print(s[1:-2])
print(s[-4:])
print(s[:])
print(s[::2])
# 倒序提取
print(s[::])-1
# 格式化
# %s:字符串
# %d:整数
# %f:小数
# %c:单个字符
print('俺叫%s,暗恋%s,她今年%d岁了' % (name, like, age))
print('我是{},今年{},暗恋{}'.format(name, age, like))
print('我是{2},今年{1},暗恋{0}'.format(name, age, like))
print('我是{nm},今年{a},暗恋{l}'.format(nm=name, a=age, l=like))列表
lt = [1, 2, 3, 4, 5]
print(lt[0])
print(lt[-1])
print(lt[1:4])
print(len(lt))
# 修改
lt[0] = 100
# 添加的对象在列表是一个元素
lt.append(250)
# lt.append(['hello', 'world'])
# 将可迭代对象的每个元素挨个添加
lt.extend(['hello', 'world'])
# 在指定位置插入元素
lt.insert(3, 'good')
# 根据下表删除元素
del lt[0]
# 根据值删除元素
lt.remove(250)
# 删除并返回指定下表的元素,默认最后一个元素
last = lt.pop(4)
print(last)
# 查询索引号
lt = [1, 2, 3, 1, 1]
print(lt.index(1))
# 逆序
# lt.reverse()
# 统计指定对象出现的次数
print(lt.count(1))
lt = [1, 5, 7, 3]
# 排序,默认升序排序,可以通过reverse指定是否倒序排序
lt.sort(reverse=True)
print(lt)
ASCII
说明:美国信息交换标准代码,其实就是给每个字符使用一个整数表示
函数:
ord:根据字符获取ASCII码
chr:根据ASCII码转换成字符
练习
从终端输入一个表示年份的整数,判断是否是闰年,是就打印xxx年是闰年,不是打印xxx年不是闰年
输入两个整数,打印较大值
输入三个整数,按照从小到大的顺序打印
输入一个三位整数,顺序打印个位、十位、百位上的数
输入一个整数,判断其是否既是3的倍数,又是5的倍数
输入一个字符,是小写转换为大写,大写转换为小写,其他字符原样输出
python 运算符与分支结构的更多相关文章
- python_ 运算符与分支结构
# 运算符与分支结构 ### 运算符 - 赋值运算符 - 用'='表示,左边只能是变量. - 算术运算符 - +.-.*:加.减.乘 - /:除法运算,结果是浮点数 - //:除法运算,结果是整数 - ...
- Python 流程控制-分支结构详解
目录 Python 流程控制--分支结构 1.结构分类 顺序结构 分支结构 循环结构 2.分支结构详解 分支结构 定义格式: if 单支结构 if 双分支结构 if 多分支结构 Python 流程控制 ...
- Java入门(1) —— 变量、运算符、分支结构和程序员思维的理解
1.计算机语言的发展史: 机器语言:机器语言是指一台计算机全部的指令集合. 汇编语言:为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母.符号串来替代一个特定的指令的二进制 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- java 基础 02 数据类型、运算符、分支结构
内容: (1)数据类型 (2)运算符 (3)分支结构 1.数据类型 java语言中的基本数据类型:byte.short.int.long.float.double.boolean.char. 1.1布 ...
- python第二课--分支结构与循环结构
if语句---分支结构 在Python中,要构造分支结构可以使用if.elif和else关键字.所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作 ...
- day03 Java_运算符_分支结构
列表: 运算符的练习:算术.关系.逻辑.赋值.字符串连接.条件 分支结构的练习:if结构 分支结构的练习:if...else结构 参考 运算符的练习:算术 输出几个整数取模,验证结果 声明两个整型变量 ...
- Python中的分支结构和循环结构
一.分支结构 语法: if 条件 : .... else : .... 例子: num = int(input("输入一个整数:")) if num<=10 ...
- python 实验2 分支结构
该博客专为我的小伙伴们提供参考而附加,没空加上代码具体解析,望各位谅解 实验一 货币转换 写一个程序进行人民币和欧元间币值转换,其中: ...
随机推荐
- Sqlserver 游标&存储过程&临时表混合使用实例
通过嵌套,根据表中记录的表名与列名到指定位置取值. --声明存储过程 ProPIMS if (exists (select * from sys.objects where name = 'ProPI ...
- 如何去掉HTML代码来获取纯文本?
public string TextNoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"& ...
- 绘制虚线的UIView
绘制虚线的UIView CAShapeLayer配合贝塞尔曲线可以绘制曲线,笔者继承了一个UIView的子类,并将该子类的backedLayer替换为CAShapeLayer,以此来实现绘制虚线的效果 ...
- 为什么TCP协议终止链接要四次?
为什么TCP协议终止链接要四次? 1.当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B. 2.主机B收到A发送的FIN,表示收到了,就会发 ...
- 沉淀,再出发:docker的原理浅析
沉淀,再出发:docker的原理浅析 一.前言 在我们使用docker的时候,很多情况下我们对于一些概念的理解是停留在名称和用法的地步,如果更进一步理解了docker的本质,我们的技术一定会有质的进步 ...
- CocoaPods -- ios项目中安装和使用CocoaPods
CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而 ...
- Java 多态(接口)
有两种意义的多态,一是操作名称的多态,即有多个操作具有相同的名字,但这些操作所接收的消息类型必须不同(方法重载).另一种多态是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为(方 ...
- post注入及提权思路
我们这次的目标有点敏感 性感的马赛克是必须有的 登陆表单 那么我们来看看是不是存在post注入 Setp1:设置代理 Step2:账户admin密码随意 提交上去 抓个包 把抓到的包复制到本地的一 ...
- IntelliJ IDEA 下载和激活
IntelliJ IDEA 下载地址: https://www.jetbrains.com/idea/download/#section=windows 激活码获取地址:http://idea.lan ...
- 测试用例组合--PICT
测试用例组合 一原理 1.配对组合原理(两两组合原理),应用工具PICT自动输出组合 name=a,b value=1,2 key=m,n 如果自己组合那么有2*2*2=8条用例 a1m a2m a1 ...