第五章 条件、循环及其他语句

再谈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("												

第五章 条件、循环及其他语句相关推荐

  1. 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 ...

  2. Python学习笔记五:条件循环

    文章目录 一.再谈print和import 1. 打印多个参数 2. 导入时重命名 二.赋值魔法 1. 序列解包 2. 链式赋值 3. 增强赋值 三.代码块:缩进的乐趣 四.条件和条件语句 1. 这正 ...

  3. 《C Primer Plus》中文第六版 编程练习答案 第五章 运算符、表达式和语句

    C Primer Plus 第5章 运算符.表达式和语句 编程练习答案 ***先说一下关于 i++和 ++i 情况.*** 1.编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间.使用#de ...

  4. Python基础教程(第2版)第五章 条件、循环和其他语句

    1.print和import 在Python 3.0中,print不再是语句而是函数(功能基本不变) 可以使用print打印多个表达式,用逗号分隔就行 print('Age'+':',42) #Age ...

  5. 《Python基础教程第二版》第五章-条件、循环和其他语句(一)

    print和import print打印多个表达式,用逗号,隔开 print 'abc:', 42, 'nonono' #输出在每个参数之间添加空格 print在结尾处加上逗号,,接下来的语句会与前一 ...

  6. C Primer Plus编程题-第五章 运算符、表达式和语句

    第一题: 编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间.使用#define或const创建一个表示60的符号常量或const变量.通过while循环让用户重复输入值,直到用户输入小于或 ...

  7. 第五章 运算符、表达式和语句

    程序清单5.1,shoes1.c: /* shoes1.c -- 把鞋码转换成英寸 */ #include <stdio.h>#define ADJUST 7.31 // 字符常量 int ...

  8. Python基础——PyCharm版本——第五章、循环(for、while、break、continue)

  9. C Primer Plus第六版第五章运算符,表达式,语句源码

    源码 //5.1#include<stdio.h> #define ADJUST 7.31 int main(void) {const double SCALE = 0.333;doubl ...

最新文章

  1. SQL创建表语句文档
  2. numpy数组ndarray如何对每个元素取绝对值,然后生成原数组的绝对值数组
  3. Network 第七篇 - 网络地址转化
  4. volatile的作用(转自于http://www.csdn.net/)——今天差点忘记了!
  5. Save More Mice 贪心
  6. QML 编程之旅 -- QML程序的基本结构概念
  7. Webrtc入门——基于阿里云ubuntu 最新webrtc Android平台编译详细说明
  8. numpy基础(part11)--特征值与奇异值分解
  9. text type dropdown list - INIT_DATA
  10. 顺丰gis产品经理_线上面试季丰图科技—顺丰旗下专注GIS领域
  11. 分布与并行计算—日志挖掘(Java)
  12. 关于android 自定义TitleBar 会遇到的问题
  13. Python利用Spark并行处理框架批量判断素数
  14. 360极速浏览器 保存的密码 查看
  15. 企业的创新和创新的双面性
  16. cocos2dx 3.1从零学习(三)——Touch事件(回调,反向传值)
  17. (十一)洞悉linux下的Netfilteriptables:iptables命令行工具源码解析【上】
  18. 如何使用TeamViewer远程控制电脑?三步即可成功
  19. Markdown 格式参考-中文文案排版指北
  20. db mysql error_list

热门文章

  1. mysql判断数字的函数_Mysql必读MySql判断汉字、日期、数字的具体函数
  2. 5分钟搞定jQuery zepto.js 面向对象插件
  3. 【译】10个有趣的JSCSS库(2018.10)
  4. (转)用JS实现表格中隔行显示不同颜色
  5. http强缓存在firefox和chrome之间的差异
  6. 树-二叉树、满二叉树和完全二叉树
  7. [转] vim自定义配置 和 在ubnetu中安装vim
  8. SharePoint2013安装组件时AppFabric时出现1603错误,解决方法:
  9. 【转】小周立波张冯喜引爆达人秀 小童星家居照大曝光
  10. SQL 附加数据库时出现 无法打开物理文件错误