<h1 id="运算符与分支结构" data-source-line="1">运算符与分支结构
<h3 id="运算符" data-source-line="3">运算符
<ul data-source-line="5">
赋值运算符
- 用'='表示,左边只能是变量
算术运算符
- +、-、*:加、减、乘
- /:除法运算,结果是浮点型
- //:除法运算,结果是整型
- %:求余
- **:求幂
复合运算符
- +=、-=、=、/=、//=、%=、*=
- 示例:
a = a+b 等价于 a += b
关系运算符
-
>、<、==、>=、<=、!=
- 表达式:由操作数和运算符构成的式子
- 关系表达式:由操作数和关系运算符构成的式子
- 关系表达式是有值的:符合数学逻辑值为真(True),不符合数学逻辑值为假(False)
逻辑运算符
-
与(and):两边的表达式同时为真,结果才为真
a = 20 (a >= 0 a <= 100 (0 <= a <= 100= 10 (b%3==0 b%5==0) -
或(or):两边的表达式一个为真,结果就为真
year = int(input(((year%4==0 year%100!=0) (year%400==0)) -
非(not):用于取反表达式,真变假,假变真
- 逻辑非经常伴随着隐式类型转换
- 很多时候是为简化表达式的书写
成员运算符
-
in、not in:判断一个变量是否在/不在另一个变量中
-
一般用在字符串、列表、元组、集合、字典等成员的判断
-
示例:
lt = [1,2,3(,8 (,8 d = {<span style="color: #800000">'<span style="color: #800000">name<span style="color: #800000">': <span style="color: #800000">'<span style="color: #800000">xiaoming<span style="color: #800000">',<span style="color: #800000">'<span style="color: #800000">age<span style="color: #800000">': 20<span style="color: #000000">}
<span style="color: #008000">#<span style="color: #008000"> 字典:判断键是否存在
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">name<span style="color: #800000">' <span style="color: #0000ff">in d)
位运算符(了解)
-
&:按位与,对应的数据位同时为1,结果才为1
& ----------- -
|:按位或,对应的数据位一个为1,结果就为1
-
^:按位异或,对应的数据位相同时值为0,不同时值为1
-
~:按位取反,对应的数据位,1变0,0变1
-
<<:按位左移,左移一位相当于乘2
-
》:按位右移,右移一位相当于除2
优先级与结合性
-
python语法中没有明确规定运算符的优先级与结合性,即使提供了明确说明也不一定能记住
-
建议:使用时不用刻意记录运算符的优先级与结合性问题,实在不行添加()即可解决
说明:
- 按照程序的执行流程,程序可以分为三种结构:顺序结构、分支结构、循环结构
- 顺序结构:就是代码按照从上到下的顺序依次执行,没有语法要求
- 代码层次:python中代码块不适于大括号区分,而是使用相同缩进来完成
-
分支结构(if-else)
- 格式1:适合于选择执行的情况
执行流程:当程序执行到if语句时,首先判断表达式的真假。若表达式的值为真,则执行对应的语句块;若表达式的值为假,则跳过语句块,继续执行后面的内容
- 格式2:适合于解决生活中非此即彼的问题
执行流程:当程序执行到if-else语句时,首先判断表达式的真假。若表达式的值为真,则执行语句块1;若表达式的值为假,则执行else后面的语句块(语句块2)。
- 格式3:适合于解决生活中多种选择的问题
- elif的个数没有限制
- else可以省略不写
- 每一部分的语句块都不可能同时执行,最多执行一个
字符串
s =
s = * 2
s = +
<span style="color: #008000">#<span style="color: #008000"> 提取单个字符,通过下表提取<span style="color: #008000">
<span style="color: #008000"> 从开头提取,下表从0开始
<span style="color: #0000ff">print
<span style="color: #000000">(s[0])
<span style="color: #008000">#<span style="color: #008000"> 从结尾提取,下表从-1开始
<span style="color: #0000ff">print(s[-1<span style="color: #000000">])
<span style="color: #008000">#<span style="color: #008000"> 切片:s[开始:结束:步进]
s = <span style="color: #800000">'<span style="color: #800000">abcdefg<span style="color: #800000">'
<span style="color: #008000">#<span style="color: #008000"> 包括起始下表,不包括结束下表,默认的步进值为1
<span style="color: #0000ff">print(s[0:3<span style="color: #000000">])
<span style="color: #0000ff">print(s[2:4<span style="color: #000000">])
<span style="color: #008000">#<span style="color: #008000"> 当一边没有指定就提取到该边的边界
<span style="color: #0000ff">print(s[:4<span style="color: #000000">])
<span style="color: #0000ff">print(s[3<span style="color: #000000">:])
<span style="color: #0000ff">print(s[1:-2<span style="color: #000000">])
<span style="color: #0000ff">print(s[-4<span style="color: #000000">:])
<span style="color: #0000ff">print<span style="color: #000000">(s[:])
<span style="color: #0000ff">print(s[::2<span style="color: #000000">])
<span style="color: #008000">#<span style="color: #008000"> 倒序提取
<span style="color: #0000ff">print(s[::])-1
<span style="color: #008000">#<span style="color: #008000"> 格式化
<span style="color: #008000">#<span style="color: #008000"> %s:字符串<span style="color: #008000">
<span style="color: #008000"> %d:整数<span style="color: #008000">
<span style="color: #008000"> %f:小数<span style="color: #008000">
<span style="color: #008000"> %c:单个字符
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">俺叫%s,暗恋%s,她今年%d岁了<span style="color: #800000">' %<span style="color: #000000"> (name,like,age))
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">我是{},今年{},暗恋{}<span style="color: #800000">'<span style="color: #000000">.format(name,age,like))
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">我是{2},今年{1},暗恋{0}<span style="color: #800000">'<span style="color: #000000">.format(name,like))
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">我是{nm},今年{a},暗恋{l}<span style="color: #800000">'.format(nm=name,a=age,l=like))
-
列表
lt = [1,3,4,5<span style="color: #0000ff">print<span style="color: #000000">(lt[0])
<span style="color: #0000ff">print(lt[-1<span style="color: #000000">])
<span style="color: #0000ff">print(lt[1:4<span style="color: #000000">])
<span style="color: #0000ff">print<span style="color: #000000">(len(lt))
<span style="color: #008000">#<span style="color: #008000"> 修改
lt[0] = 100
<span style="color: #008000">#<span style="color: #008000"> 添加的对象在列表是一个元素
lt.append(250<span style="color: #000000">)
<span style="color: #008000">#<span style="color: #008000"> lt.append(['hello','world'])<span style="color: #008000">
<span style="color: #008000"> 将可迭代对象的每个元素挨个添加
lt.extend([<span style="color: #800000">'<span style="color: #800000">hello<span style="color: #800000">',<span style="color: #800000">'<span style="color: #800000">world<span style="color: #800000">'<span style="color: #000000">])
<span style="color: #008000">#<span style="color: #008000"> 在指定位置插入元素
lt.insert(3,<span style="color: #800000">'<span style="color: #800000">good<span style="color: #800000">'<span style="color: #000000">)
<span style="color: #008000">#<span style="color: #008000"> 根据下表删除元素
<span style="color: #0000ff">del<span style="color: #000000"> lt[0]
<span style="color: #008000">#<span style="color: #008000"> 根据值删除元素
lt.remove(250<span style="color: #000000">)
<span style="color: #008000">#<span style="color: #008000"> 删除并返回指定下表的元素,默认最后一个元素
last = lt.pop(4<span style="color: #000000">)
<span style="color: #0000ff">print<span style="color: #000000">(last)
<span style="color: #008000">#<span style="color: #008000"> 查询索引号
lt = [1,1,1<span style="color: #000000">]
<span style="color: #0000ff">print(lt.index(1<span style="color: #000000">))
<span style="color: #008000">#<span style="color: #008000"> 逆序<span style="color: #008000">
<span style="color: #008000"> lt.reverse()<span style="color: #008000">
<span style="color: #008000"> 统计指定对象出现的次数
<span style="color: #0000ff">print(lt.count(1<span style="color: #000000">))
lt = [1,5,7,3<span style="color: #000000">]
<span style="color: #008000">#<span style="color: #008000"> 排序,默认升序排序,可以通过reverse指定是否倒序排序
lt.sort(reverse=<span style="color: #000000">True)
<span style="color: #0000ff">print(lt)
说明:美国信息交换标准代码,其实就是给每个字符使用一个整数表示
- 函数:
- ord:根据字符获取ASCII码
- chr:根据ASCII码转换成字符
说明:
- 按照程序的执行流程,程序可以分为三种结构:顺序结构、分支结构、循环结构
- 顺序结构:就是代码按照从上到下的顺序依次执行,没有语法要求
- 代码层次:python中代码块不适于大括号区分,而是使用相同缩进来完成
分支结构(if-else)
- 格式1:适合于选择执行的情况
执行流程:当程序执行到if语句时,首先判断表达式的真假。若表达式的值为真,则执行对应的语句块;若表达式的值为假,则跳过语句块,继续执行后面的内容
- 格式2:适合于解决生活中非此即彼的问题
执行流程:当程序执行到if-else语句时,首先判断表达式的真假。若表达式的值为真,则执行语句块1;若表达式的值为假,则执行else后面的语句块(语句块2)。
- 格式3:适合于解决生活中多种选择的问题
- elif的个数没有限制
- else可以省略不写
- 每一部分的语句块都不可能同时执行,最多执行一个
-
列表
lt = [1,3,4,5<span style="color: #0000ff">print<span style="color: #000000">(lt[0])
<span style="color: #0000ff">print(lt[-1<span style="color: #000000">])
<span style="color: #0000ff">print(lt[1:4<span style="color: #000000">])
<span style="color: #0000ff">print<span style="color: #000000">(len(lt))<span style="color: #008000">#<span style="color: #008000"> 修改
lt[0] = 100<span style="color: #008000">#<span style="color: #008000"> 添加的对象在列表是一个元素
lt.append(250<span style="color: #000000">)
<span style="color: #008000">#<span style="color: #008000"> lt.append(['hello','world'])<span style="color: #008000"><span style="color: #008000"> 将可迭代对象的每个元素挨个添加
lt.extend([<span style="color: #800000">'<span style="color: #800000">hello<span style="color: #800000">',<span style="color: #800000">'<span style="color: #800000">world<span style="color: #800000">'<span style="color: #000000">])
<span style="color: #008000">#<span style="color: #008000"> 在指定位置插入元素
lt.insert(3,<span style="color: #800000">'<span style="color: #800000">good<span style="color: #800000">'<span style="color: #000000">)<span style="color: #008000">#<span style="color: #008000"> 根据下表删除元素
<span style="color: #0000ff">del<span style="color: #000000"> lt[0]
<span style="color: #008000">#<span style="color: #008000"> 根据值删除元素
lt.remove(250<span style="color: #000000">)<span style="color: #008000">#<span style="color: #008000"> 删除并返回指定下表的元素,默认最后一个元素
last = lt.pop(4<span style="color: #000000">)
<span style="color: #0000ff">print<span style="color: #000000">(last)<span style="color: #008000">#<span style="color: #008000"> 查询索引号
lt = [1,1,1<span style="color: #000000">]
<span style="color: #0000ff">print(lt.index(1<span style="color: #000000">))
<span style="color: #008000">#<span style="color: #008000"> 逆序<span style="color: #008000"><span style="color: #008000"> lt.reverse()<span style="color: #008000">
<span style="color: #008000"> 统计指定对象出现的次数
<span style="color: #0000ff">print(lt.count(1<span style="color: #000000">))
lt = [1,5,7,3<span style="color: #000000">]
<span style="color: #008000">#<span style="color: #008000"> 排序,默认升序排序,可以通过reverse指定是否倒序排序
lt.sort(reverse=<span style="color: #000000">True)
<span style="color: #0000ff">print(lt)
字符串
<span style="color: #0000ff">print
<span style="color: #000000">(s[0])<span style="color: #008000">#<span style="color: #008000"> 从结尾提取,下表从-1开始
<span style="color: #0000ff">print(s[-1<span style="color: #000000">]) <span style="color: #008000">#<span style="color: #008000"> 切片:s[开始:结束:步进]
s = <span style="color: #800000">'<span style="color: #800000">abcdefg<span style="color: #800000">'
<span style="color: #008000">#<span style="color: #008000"> 包括起始下表,不包括结束下表,默认的步进值为1
<span style="color: #0000ff">print(s[0:3<span style="color: #000000">])
<span style="color: #0000ff">print(s[2:4<span style="color: #000000">])
<span style="color: #008000">#<span style="color: #008000"> 当一边没有指定就提取到该边的边界
<span style="color: #0000ff">print(s[:4<span style="color: #000000">])
<span style="color: #0000ff">print(s[3<span style="color: #000000">:])
<span style="color: #0000ff">print(s[1:-2<span style="color: #000000">])
<span style="color: #0000ff">print(s[-4<span style="color: #000000">:])
<span style="color: #0000ff">print<span style="color: #000000">(s[:])
<span style="color: #0000ff">print(s[::2<span style="color: #000000">])
<span style="color: #008000">#<span style="color: #008000"> 倒序提取
<span style="color: #0000ff">print(s[::])-1
<span style="color: #008000">#<span style="color: #008000"> 格式化
<span style="color: #008000">#<span style="color: #008000"> %s:字符串<span style="color: #008000">
<span style="color: #008000"> %d:整数<span style="color: #008000">
<span style="color: #008000"> %f:小数<span style="color: #008000">
<span style="color: #008000"> %c:单个字符
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">俺叫%s,暗恋%s,她今年%d岁了<span style="color: #800000">' %<span style="color: #000000"> (name,like,age))
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">我是{},今年{},暗恋{}<span style="color: #800000">'<span style="color: #000000">.format(name,age,like))
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">我是{2},今年{1},暗恋{0}<span style="color: #800000">'<span style="color: #000000">.format(name,like))
<span style="color: #0000ff">print(<span style="color: #800000">'<span style="color: #800000">我是{nm},今年{a},暗恋{l}<span style="color: #800000">'.format(nm=name,a=age,l=like))
说明:美国信息交换标准代码,其实就是给每个字符使用一个整数表示
- 函数:
- ord:根据字符获取ASCII码
- chr:根据ASCII码转换成字符
- ord:根据字符获取ASCII码
- chr:根据ASCII码转换成字符
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。