Day03-运算符和表达式
运算符和表达式
1. 运算符的优先级
尽量不要把一个表达式写的过于复杂,如果遇到复杂的需求,则最好分步运算
不要过多的依赖于运算符的优先级,否则代码的可读性太差,在实际的项目开发中,一般采用()
2 数据类型的转换
python是一种强类型语言:要求运算符两边的操作数必须是同一个类型的,否则必须转换
函数名 |
函数值 |
---|---|
int(x,[基数]) |
将数字或字符串转换为整数,如果x为浮点数,则自动截断小数部分 |
float(x) |
将x转换成浮点型 |
str(x) |
将x转换成字符串,适合人阅读 |
bool(x) |
转换成bool类型 的True或 False |
repr(x) |
返回一个对象的String格式,适合机器执行 |
eval(str) |
执行一个字符串表达式,返回计算的结果 |
tuple(seq) |
参数可以是元组、列表或者字典,为字典时,返回字典的key组成的集合 |
list(s) |
将序列转变成一个列表,参数可为元组、字典、列表,为字典时,返回字典的key组成的集合 |
set(s) |
将一个可以迭代对象转变为可变集合,并且去重复,返回结果可以用来计算差集x - y、并集x | y、交集x & y |
chr(x) |
输入一个ASCII码(0-255),返回一个对应的字符。返回值是当前整数对应的ascii字符。 |
ord(x) |
返回一个字符所对应的码值 |
数值类型 : int、float、bool
bool -> int -> float
3 编码规范
代码编排
缩进4个空格,不能用tab键和空格混合缩进
所有行限制的最大字符数为79
添加适当的空行
空格
二元运算符两边添加一个空格
逗号、分号、冒号后边留一个空格,前面不留
正确: if x == 4: print(x, y); x, y = y, x
错误: if x == 4 : print x , y ; x , y = y , x
紧跟在小括号,中括号或者大括号后 不要留空格
正确: spam(ham[1], {eggs: 2})
错误: spam( ham[ 1 ], { eggs: 2 } )
4 if分支(***)
4.1 单一分支
if 条件表达式:
【代码块】
【后续代码】
执行流程:如果条件表达式为真,则执行【代码块】。否则不执行,直接执行if语句后面的【后续代码】
注意:
【代码块】必须缩进
单if语句可以嵌套
4.2 双向分支
if 条件表达式:
【语句块A】
else:
【语句块B】
【后续代码】
执行流程:如果条件表达式为真,执行【语句块A】然后执行【后续代码】,否则执行【语句块B】,然后再执行【后续代码】,二选一,不可能既执行A有执行B
注意:
【语句块A】和【语句块B】必须缩进
if-else可以嵌套
4.3 多向条件分支
if 条件1:
【代码段1】
elif 条件2:
【代码段2】
............
elif 条件n:
【代码段n】
else:
【else语句块】
【后续代码】
执行流程:多选一,如果满足条件1,执行【代码段1】,然后跳出if-elif语句,执行【后续代码】,否则判断是否满足条件2,如果满足执行【代码段2】,然后跳出if-elif语句,执行【后续代码】...。如果所有条件都不满足,执行【else语句块】,然后再执行【后续代码】。
注意:else是可选的,可以写也可以不写。
5 循环(***)
5.1 概念
广义:一个周期现象或者重复出现的情况,这种状态被称为循环
狭义:在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种现象被称为循环。被反复执行的这段代码被称为循环体
当反复执行某段代码时,需要在合适的时机将循环停止下来,否则会产生死循环
Python中提供的循环语句:while语句,for-in语句
5.2 使用
5.2.1 while语法
while 表达式:
循环体
工作原理:遇到while语句时,首先计算表达式的值,如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;如果表达式的值为真,则执行循环体
5.2.2 while-else
while 表达式:
循环体
else:
【else语句块】
说明:当while语句执行完成之后,执行【else语句块】,如果用break跳出循环则不执行else
5.2.3死循环
在循环语句中,表达式永远为真的循环
while T
while 1:
#循环体
5.2.4 while语句的嵌套
while 条件1: #外层循环
【语句块A】
while 条件2: #内存循环
【语句B】
执行流程:首先判断外层循环的条件1,如果为真,则执行循环体中的【语句块A】,执行内层循环,判断条件2是否成立,如果成立,执行内层循环的【语句块B】,执行完内层循环后,重新判断外层循环条件....
特点:外层循环走一步,内层循环执行一遍
外层循环和内层循环的循环变量必须不同
演示:
打印九九乘法表
5.3. break和continue、exit()
continue 语句用来跳过当前循环的剩余语句,然后重新判断循环条件,开启下一轮循环。continue只能出现在while和for循环中
break用于结束当前循环。只对当前这一重循环起作用。break只能出现在循环中
exit()结束程序
Day03-运算符和表达式相关推荐
- 《C#精彩实例教程》小组阅读06 -- C#运算符与表达式
本微信图文介绍了C#的运算符与表达式.
- 第三课.运算符与表达式
第三课目录 运算符与表达式 算术运算符 关系运算符 逻辑运算符 德摩根律 使用断言assert 位运算符 补码 补码与位运算 赋值运算符 杂项运算符 运算符与表达式 数学是科技发展的基础,数学公式的意 ...
- python 除法取模_Python的运算符和表达式(上)
上一篇文章霖小白分享了Python中的字符串和数字类型,这一篇让我们回到小学时代的数学,因为霖小白这一篇分享的是关于Python程序中的运算符和表达式,这一次先分享算术运算符和算术表达式,比较运算符和 ...
- c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt
C语言程序设计第2章数据类型﹒运算符和表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...
- 【C语言学习】《C Primer Plus》第5章 运算符、表达式和语句
学习总结 1.有了一定的语言基础,运算符和表达式这些都大同小异,无外乎赋值运算符(=).算术运算符(+.-.*./.%.++.--)和其他的一下运算符(sizeof.(type)). 2.声明一个参数 ...
- python运算符和表达式
运算符和表达式 在 Python 中你会写大量的表达式.表达式由运算符和操作数组成.像 2+3 就是一个表达式. 知识点 关系/逻辑运算 表达式 类型转换 实验步骤 1. 运算符 运算符是一些符号,它 ...
- 数据类型,运算符和表达式03 - 零基础入门学习C语言04
第二章:数据类型,运算符和表达式03 让编程改变世界 Change the world by program 字符型数据 字符型数据包括字符常量和字符变量 字符常量: 是用单引号括起来的一个字符. 例 ...
- c语言表达式用法,C语言开发之运算符、表达式用法
C语言中运算符和表达式数量之多,在高级语言中是少见的.正是丰富的运算符和表达式使C语言功能十分完善.这也是C语言的主要特点之一.C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性.在 ...
- c语言程序设计运算符及表达式,c语言程序设计3第3章运算符和表达式
1.第3章 运算符和表达式,3.1 表 达 式 3.2 运算符及表达式 3.3 运算符优先级和结合性,3.1 表 达 式,C语言的表达式分为基本表达式和复杂表达式. 基本表达式是由以下单项构成的,即: ...
- 二进制补码求值用c语言,C语言程序设计第2章数据类型.运算符与表达式.ppt
C语言程序设计第2章数据类型.运算符与表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...
最新文章
- 008_Restfull请求风格
- Netty实战六之ChannelHandler和ChannelPipeline
- 推荐搜索炼丹笔记:MiNet阿里跨域点击率CTR预估
- symbol MC 3090 upgrade to symbol MC 3190
- 通过rpm安装postgresql-9.6无法远程连接的问题
- window 任务管理器
- C语言学习:%d、2d、02d、.2d的区别
- Java用链表写图书管理_C语言链表实现图书管理系统
- potainer 日志_日志系统落地:制定日志规范
- spring配置数据库
- 云小课 | DSC:快速识别敏感数据并脱敏
- 计划任务中使用NT AUTHORITY\SYSTEM用户和普通管理员用户有什么差别
- 乱码插入mac mysql汉字乱码问题解决
- 运维专家写给运维工程师的 6 条人生忠告
- C#基础精华05(正则表达式,)
- Linux基础(八)服务器RAID及配置
- Origin8.1完全安装教程,安装包pojie包
- CSP2019滚粗记
- 虚拟机安装和优盘启动盘制作
- c语言和python区别,python和c语言的区别是什么
热门文章
- NVDKC6416平台H.264算法优化
- 解决:A component required a bean of type ‘javax.jms.Queue‘ that could not be found.
- springboot 缓存ehcache的简单使用
- 从一个OutOfMemoryError 学会了分析Java内存泄漏问题
- mysql 索引的统计
- 【BZOJ 4103】 [Thu Summer Camp 2015]异或运算 可持久化01Trie
- Gearman 启动日志文件提示协议出错的BUG
- ie7浏览器传输中文的问题
- [转]Messenger:使用消息的跨进程通信
- 第三章 阴阳的工作机制(1)