第五章 条件、循环及其他语句
第五章 条件、循环及其他语句
再谈print和import
print现在实际上是一个函数
1,打印多个参数
用逗号
分隔,打印多个表达式
sep
自定义分隔符,默认空格
end
自定义结束字符串,默认换行
print("beyond",'yanyu',23)#结果为:beyond yanyu 23
a = "beyond,"
b = "yanyu"
c = 23
print(a, b, c)#结果为:beyond, yanyu 23
print(a, b + ',' ,c)#结果为:beyond, yanyu, 23
print("I","love","the","beyond","band",sep="_")#结果为:I_love_the_beyond_band
print('Hello,', end='') #结果为:Hello, 不会换行
2,导入时重命名as
导入整个模块并给它指定别名
import math as beyond
beyond.sqrt(4)#结果为:2.0
导入特定函数并给它指定别名
from math import sqrt as beyond
beyond(4)#结果为:2.0
赋值魔法
1,序列解包
序列解包(或可迭代对象解包):将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中
#可同时(并行)给多个变量赋值
x, y, z = 1, 2, 3
print(x,y,z,sep="-")#结果为:1-2-3#交换多个变量的值
x, y = y, x
print(x,y,z,sep=",")#结果为:2,1,3
beyond = 1,2,3
beyond#结果为:(1, 2, 3)
x,y,z = beyond
x#结果为:1
y#结果为:2
z#结果为:3
假设要从字典中随便获取(或删除)一个键-值对,可使用方法popitem,随便获取一个键-值对并以元组的方式返回,接下来,可直接将返回的元组解包到两个变量中
beyond ={"name":"huangjiaju","age":31}
key,value = beyond.popitem()
key#结果为:name
value#结果为:huangjiaju
左右两边列出的目标个数必须相同,否则会报异常
可使用星号运算符(*)来收集多余的值,这样无需确保值和变量的个数相同
带星号的变量最终包含的总是一个列表
x, y, z = 1, 2#结果为:报错
x, y, z = 1, 2, 3, 4#结果为:报错
a, b, *c= [1, 2, 3, 4]
c#结果为:[3, 4]
a, b, c#结果为:(1, 2, [3, 4])name = "I like the beyond band"
x, *y, z = name.split()
x#结果为:'I'
y#结果为:['like', 'the', 'beyond']
z#结果为:'band'
2,链式赋值
将多个变量关联到同一个值
x = y = beyond()等价于
y = beyond()
x = y不等价!!!
x = beyond()
y = beyond()
3,增强赋值
将右边表达式中的运算符移到赋值运算符的前面
x = 2
x += 1
x#结果为:3
x *= 2
x#结果为:6yy = "beyond"
yy += "huangjiaju"
yy#结果为:'beyondhuangjiaju'
yy *= 2
yy#结果为:'beyondhuangjiajubeyondhuangjiaju'
代码块:缩进的乐趣
代码块其实并不是一种语句,代码块是一组语句,代码块是通过缩进代码(即在前面加空格)来创建的
在Python中,使用冒号(:)指出接下来是一个代码块
条件和条件语句
1,布尔值
假(0):False None 0 "" () [] {}
,其他则为真(1)
虽然[]
和""
都为假,但它们并不相等(即[] != ""
)
布尔值True和False属于类型bool
于任何值都可用作布尔值
True + False + 42#结果为:43 1+0+42=43
bool(42)#结果为:True
bool('')#结果为:False
bool(0)#结果为:False
2,有条件的执行和if语句
如果条件(if和冒号之间的表达式)为前面定义的真,就执行后续代码块(这里是一条print语句);如果条件为假,就不执行
name = input('What is your name? ')
if name.endswith('beyond'): #以beyond结尾的名字为真print('Hello, Mr. beyond')
name = input('What is your name?')
if name.endswith('yanyu'): #以yanyu结尾的名字为真print('Hello, Mr. yanyu')
else: print('Hello, stranger')
3,else子句
条件表达式——C语言中三目运算符的Python版本
"语句1" if 条件 else "语句2"
如果条件为真,则执行语句1,否则执行语句2
name = input('What is your name?')
status = "friend" if name.endswith("beyond") else "stranger"
4,elif 子句
要检查多个条件,可使用elif,elif是else if的缩写
num = int(input('Enter a number: '))
if num > 0: print('The number is positive')
elif num < 0: print('The number is negative')
else: print('The number is zero')
5,代码块嵌套
name = input('What is your name? ')
if name.endswith('Gumby'): #以Gumby结尾都为真if name.startswith('Mr.'): #以Mr.开始都为真print('Hello, Mr. Gumby') elif name.startswith('Mrs.'): print('Hello, Mrs. Gumby') else: print('Hello, Gumby')
else: print('Hello, stranger')
6,更复杂的条件
1,比较运算符
在条件表达式中,最基本的运算符可能是比较运算符,它们用于执行比较
表达式 | 描述 |
---|---|
x == y | x等于y |
x < y | x小于y |
x > y | x大于y |
x >= y | x大于或等于y |
x <= y | x小于或等于y |
x != y | x不等于y |
x is y | x和y是同一个对象 |
x is not y | x和y是不同的对象 |
x in y | x是容器(如序列)y的成员 |
x not in y | x不是容器(如序列)y的成员 |
1,相等运算符
比较运算符,用两个等号(==)表示
一个等号是赋值运算符,用于修改值
"foo" == "foo"#结果为:True
"foo" == "bar"#结果为:False"foo" = "foo"#报错
2,is:相同运算符
'''
变量x和y指向同一个列表
而z指向另一个列表(其中包含的值以及这些值的排列顺序都与前一个列表相同)
'''
x = y = [1, 2, 3]
z = [1, 2, 3]
x == y #结果为:True
x == z #结果为:True
x is y #结果为:True
x is z #结果为:False
==
用来检查两个对象是否相等
is
用来检查两个对象是否相同
(是同一个对象)
3,in:成员资格运算符
name = input('What is your name?')
if 's' in name:print('Your name contains the letter "s".')
else: print('Your name does not contain the letter "s".')
4,字符串和序列的比较
根据字符的字母排列顺序进行比较的
"alpha" < "beta"#结果为:True
要获悉字母的顺序值,可使用函数ord
这个函数的作用与函数chr相反
ord("
第五章 条件、循环及其他语句相关推荐
- c语言 10 9-8 7-6… 1循环语句,C语言学习与总结---第五章:循环结构程序设计
循环结构程序设计 5.1 while语句 5.2 do-while语句 5.3 for语句 5.4 循环的嵌套 5.5 while与do-while的比较 5.7 改变循环执行的状态 5.7.1 co ...
- Python学习笔记五:条件循环
文章目录 一.再谈print和import 1. 打印多个参数 2. 导入时重命名 二.赋值魔法 1. 序列解包 2. 链式赋值 3. 增强赋值 三.代码块:缩进的乐趣 四.条件和条件语句 1. 这正 ...
- 《C Primer Plus》中文第六版 编程练习答案 第五章 运算符、表达式和语句
C Primer Plus 第5章 运算符.表达式和语句 编程练习答案 ***先说一下关于 i++和 ++i 情况.*** 1.编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间.使用#de ...
- Python基础教程(第2版)第五章 条件、循环和其他语句
1.print和import 在Python 3.0中,print不再是语句而是函数(功能基本不变) 可以使用print打印多个表达式,用逗号分隔就行 print('Age'+':',42) #Age ...
- 《Python基础教程第二版》第五章-条件、循环和其他语句(一)
print和import print打印多个表达式,用逗号,隔开 print 'abc:', 42, 'nonono' #输出在每个参数之间添加空格 print在结尾处加上逗号,,接下来的语句会与前一 ...
- C Primer Plus编程题-第五章 运算符、表达式和语句
第一题: 编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间.使用#define或const创建一个表示60的符号常量或const变量.通过while循环让用户重复输入值,直到用户输入小于或 ...
- 第五章 运算符、表达式和语句
程序清单5.1,shoes1.c: /* shoes1.c -- 把鞋码转换成英寸 */ #include <stdio.h>#define ADJUST 7.31 // 字符常量 int ...
- Python基础——PyCharm版本——第五章、循环(for、while、break、continue)
- C Primer Plus第六版第五章运算符,表达式,语句源码
源码 //5.1#include<stdio.h> #define ADJUST 7.31 int main(void) {const double SCALE = 0.333;doubl ...
最新文章
- SQL创建表语句文档
- numpy数组ndarray如何对每个元素取绝对值,然后生成原数组的绝对值数组
- Network 第七篇 - 网络地址转化
- volatile的作用(转自于http://www.csdn.net/)——今天差点忘记了!
- Save More Mice 贪心
- QML 编程之旅 -- QML程序的基本结构概念
- Webrtc入门——基于阿里云ubuntu 最新webrtc Android平台编译详细说明
- numpy基础(part11)--特征值与奇异值分解
- text type dropdown list - INIT_DATA
- 顺丰gis产品经理_线上面试季丰图科技—顺丰旗下专注GIS领域
- 分布与并行计算—日志挖掘(Java)
- 关于android 自定义TitleBar 会遇到的问题
- Python利用Spark并行处理框架批量判断素数
- 360极速浏览器 保存的密码 查看
- 企业的创新和创新的双面性
- cocos2dx 3.1从零学习(三)——Touch事件(回调,反向传值)
- (十一)洞悉linux下的Netfilteriptables:iptables命令行工具源码解析【上】
- 如何使用TeamViewer远程控制电脑?三步即可成功
- Markdown 格式参考-中文文案排版指北
- db mysql error_list
热门文章
- mysql判断数字的函数_Mysql必读MySql判断汉字、日期、数字的具体函数
- 5分钟搞定jQuery zepto.js 面向对象插件
- 【译】10个有趣的JSCSS库(2018.10)
- (转)用JS实现表格中隔行显示不同颜色
- http强缓存在firefox和chrome之间的差异
- 树-二叉树、满二叉树和完全二叉树
- [转] vim自定义配置 和 在ubnetu中安装vim
- SharePoint2013安装组件时AppFabric时出现1603错误,解决方法:
- 【转】小周立波张冯喜引爆达人秀 小童星家居照大曝光
- SQL 附加数据库时出现 无法打开物理文件错误