Python基础—03-运算符与分支结构
运算符与分支结构
运算符
赋值运算符
- 用'='表示,左边只能是变量
算术运算符
- +、-、*:加、减、乘
- /:除法运算,结果是浮点型
- //:除法运算,结果是整型
- %:求余
- **:求幂
复合运算符
- +=、-=、=、/=、//=、%=、*=
- 示例:
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码转换成字符
Python基础—03-运算符与分支结构的更多相关文章
- python 运算符与分支结构
运算符与分支结构 运算符 赋值运算符 用'='表示,左边只能是变量 算术运算符 +.-.*:加.减.乘 /:除法运算,结果是浮点型 //:除法运算,结果是整型 %:求余 **:求幂 复合运算符 +=. ...
- python_ 运算符与分支结构
# 运算符与分支结构 ### 运算符 - 赋值运算符 - 用'='表示,左边只能是变量. - 算术运算符 - +.-.*:加.减.乘 - /:除法运算,结果是浮点数 - //:除法运算,结果是整数 - ...
- Python 基础 常用运算符
Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...
- java 基础 03 运算符 分支结构 循环结构
今天内容: (1)运算符 (2)分支结构 (3)循环结构 1运算符 1.1赋值运算符 (1)简单赋值 = 表示赋值运算符,用于将=右边的数据赋值给=左边的变量来覆盖原来的数值. 笔试题: ia == ...
- java 基础 02 数据类型、运算符、分支结构
内容: (1)数据类型 (2)运算符 (3)分支结构 1.数据类型 java语言中的基本数据类型:byte.short.int.long.float.double.boolean.char. 1.1布 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- Java入门(1) —— 变量、运算符、分支结构和程序员思维的理解
1.计算机语言的发展史: 机器语言:机器语言是指一台计算机全部的指令集合. 汇编语言:为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母.符号串来替代一个特定的指令的二进制 ...
- python基础02—运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
- 05 java 基础:运算符、程序结构
赋值运算符 : = 三元运算符 : ? 算术运算符 : +.- .*./.% 自增自减运算符: ++.-- 关系运算符:>.<.==.>=.<=.!= 逻辑运算符 :& ...
随机推荐
- [转]浅谈微信小程序
本文转自:http://www.cnblogs.com/liziyou/p/6340159.html 微信小程序 1.什么是小程序 小程序是指微信公众号平台小程序,小程序可以在微信内被便捷的获取和转播 ...
- js之cookie操作
1.使用document.cookie保存信息 document.cookie = "Test=cooo";alert(document.cookie); //hours为空字符串 ...
- python学习(四)--POST请求
from urllib import requestimport urllibimport re #网页版有道翻译是ajax的post请求. #浏览器请求地址http://fanyi.youdao.c ...
- springboot从入门到精通(二)
这一节我们一起用springboot开发一个应用程序,应用程序里的核心概念是玩家获取英雄列表上的英雄信息. 1.定义实体模型: 代码如下: package com.dota.herolist.enti ...
- 菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式
一.概述. 在很多企业的开法中常常用到SpringMVC+Spring+Hibernate(mybatis)这样的架构,SpringMVC相当于Struts是页面到Contorller直接的交互的框架 ...
- 小米3 无法显示日志 Logcat
需要ROOT权限 1. 使用文件浏览器进入 /system/etc/init.d/ 目录 2.使用文本编辑器打开里面的 01Supertweak 这个文件 在最下面找到 rm /dev/lo ...
- CentOS安装chrome-浏览器
首先,在CentOS中安装软件,通过yum命令来安装软件,就要在系统中的软件源中添加软件源节点,即在目录./etc/yum.repos.d/下的CentOS-Base.repo文件中做修改:在控制台C ...
- Ruby在Windows上安装
Ruby在Windows下安装windows下的rails2.02环境搭建 ROR本地安装的技术含量比较高的 一.安装Ruby1.下载Ruby()安装包双击安装,安装过程中注意选中"Enab ...
- 最新一道面試題目,input: int[1,1,2,2,2,3,3,3],output [3,2,1],要求按照數字出現的次數從多到少排列元素。
面試當時沒有及時答出來,感覺當時在面試官的提示下跑偏了.想用兩個數組來mapping key和value然後對等排序,但是因為面試官讓用Array.sort而沒想好有什麼好辦法,結果可想而知.但是題目 ...
- SDET面试之感受篇。
某年某月的某一天,我来到了太监村的一栋大厦,因为早到了半个小时,拿出来提前准备好的code随便的翻看着. 人家都说,面试头五分钟就已经决定了,是否能面试成功.所以,面试真正的真谛可能就是相面.什么写c ...