python两个参数or循环_python学习笔记(四)、条件、循环及其他语句

1 再谈print和import

1.1 打印多个参数

print 能够同时打印多个表达式,并且能自定义分隔符。如下:

print('a','b','c')  ——> a b c

print('a','b','c',sep="_")  ——> a_b_c

1.2 import

导入模块时,能够给导入的模块取一个别名(相对于生活中的小名,不管怎么叫,还是你而已),方法是在语句末尾添加 as子句并指定别名。

import math as foobar

from pi import math as PI

2 赋值

即便是不起眼的赋值语句也蕴含着一些敲门。

2.1 序列解包

python 能够同时(并行)给多个变量赋值。如 x,y,z = 1,2,3          x,y = y,x 。这样的操作我们称之为序列解包(或可迭代对象解包):将一个序列(任何可迭代对象)解包,并将得到的值存储到一系列变量中。值得注意的是,要解包的序列包含的元素个数必须与你在等号左边列出的目标个数相同,否则python将引发异常。

如果你想要收集要解包的序列包含的元素多余值,可以使用星号运算符(*)来收集,这样无需确保值和变量的个数相同。如:

a, *b , c = (1, 2, 3, 4)  ——> b = [2, 3]

2.2 链式赋值

将多个变量关联到同一个值。如:x = y = fn1()

2.3 增强赋值

可以不编写代码x = x + 1,而将右边表达式中的运算符移到赋值运算符( = )的前面,从而写成 x += 1。这称为增强赋值。适用于所有标准运算符,如+、-、* 、%等。

3 代码块

代码块是一组语句,可在满足条件时执行(if语句),可执行多次(循环),等等。代码块是通过缩进代码(即在前面加空格)来创建的。如:

while True:

....

....

4 条件和条件语句

4.1 这正是布尔值得用武之地

用作布尔表达式时,下面的都将被解释器视为假:

False None 0 "" () '' [] {}

换而言之,标准值False和None、各种类型的数值0、空序列以及空映射都被视为假,其他各种值都被视为真。

布尔值True和False属于类型bool,与list、str、tuple和dict一样,都可以用来转换其他值。如bool("aa")  ——> True

4.2 if...else / if...elif...elif...else语句

if 语句能够让你有条件的执行代码。并且if 条件语句中能够通过代码块嵌套if语句。

4.3 更复杂的条件

4.3.1 比较运算符

常见的比较运算符有==、 、!= 等,python中还可以用is、in来比较对象。

x is y    x和y是同一个对象时返回True

x is not y   x和y不是同一个对象时返回True

x in y    x是容器(如序列)y的成员时返回True

x not in y   x不是容器(如序列)y的成员时返回True

还能够进行链式标记,如 1 <= number < 20。

4.3.2 布尔运算符

and 、or和 not。and表示同时满足两个条件才为True; or表示只有有一个条件满足就为True,否则为False; not表示相反。布尔运算符有个有趣的特征:只做必要的技术,也就是常说的短路,即短路逻辑(或延迟求值)。

4.4 断言

关键字assert,当条件满足时执行,不满足时程序异常退出,一般用于程序中的检查点。

5 循环

使程序多次执行。

5.1 while循环

while 条件:

......

当满足条件的时候,执行程序块。

5.2 for 循环

for a1 in list1:

......

对可迭代的对象(如序列)进行遍历。

5.3 迭代字典

for key in dict1:

dict1[key]......

5.4 一些迭代工具

5.4.1 并行迭代

有时候你可能想同时迭代两个序列,python提供了一个内置函数 zip,它将两个序列 “缝合” 起来,并返回一个由元祖组成的序列。如:

list(zip(names,ages))  ——> [(name1,age1),(name2,age2).....]

值得注意的是,zip 比不需要两个序列的长度len相等,zip只取两个序列长度的最小值,即ziplen = min((len(names),len(ages)))。

5.4.2 迭代时获取索引

python 提供了一个内置函数enumerate。能够在迭代的时候获取到序列项的索引值。如:

for index,ages in enumarate(ages):

.......

enumerate函数相当于把序列转为一个dict字典类型。key为index,value为序列对应的值。

5.4.3 方向迭代和排序后再迭代

使用函数:reversed和sorted。

5.5 跳出循环

在编码过程中,有时候只要当满足一定条件才能执行循环、跳出循环等。

5.5.1 break

跳出当前循环。并且能够在循环中添加一条else子句,它表示在没有调用break 时才执行。如:

for age in ages:

if age > 10 :

break

else:

print("ages中年龄全部都小于等于10")

5.5.2 continue

表示结束当前迭代,并跳到下一次迭代开头。即意味着跳过循环体重余下的语句,但不结束循环。

6 简单推导

列表推导是一种从其他列表创建列表的方式,类似于数学中的集合推导。如:

[x * x for x in range(10)]    表示0~9 的平方列表。

[x * x for x in range(10) if x%2 == 0]    表示0~9中能够被整除2的数的平方列表

[(x,y) for x in range(10) for y in range(10)]    等效于两个for循环,表示x从0~9、y从0~9的笛卡尔积。

7 pass、del、exec、eval

7.1 pass

由于python中代码块不能为空,通常用pass 占位符来表示,代表什么都不用做。

7.2 del

对于你不再使用的对象,python通常对将其删除。del obj  不仅会删除到对象的引用,还会删除名称本事。

7.3 exec

函数exec将字符串作为代码执行。

7.4 eval

函数eval将字符串作为表达式执行并返回结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

研究揭示大脑在工作记忆中存储信息的神经机制

来源&#xff1a;中国科学院脑科学与智能技术卓越创新中心&#xff08;神经科学研究所&#xff09;3月5日&#xff0c;《神经元》期刊在线发表了题为《无颗粒岛叶皮层瞬时性神经元活动调控学习新任务时的工作记忆存储》的研究论文。该研究由中国科学院脑科学与智能技术卓越创新…

[Jmeter] 基本使用的总结

转载于:https://www.cnblogs.com/mytianying/p/6793461.html

java 仿qq登录界面7.1_安卓开发学习笔记(七):仿写腾讯QQ登录注册界面

这段代码的关键主要是在我们的相对布局以及线性布局上面&#xff0c;我们首先在总体布局里设置为线性布局&#xff0c;然后再在里面设置为相对布局&#xff0c;这是一个十分常见的XML布局模式。废话不多说&#xff0c;直接上代码&#xff1a;一.activity.xml>android:layout…

python numpy.array_python的numpy.array

为什么要用numpyPython中提供了list容器&#xff0c;可以当作数组使用。但列表中的元素可以是任何对象&#xff0c;因此列表中保存的是对象的指针&#xff0c;这样一来&#xff0c;为了保存一个简单的列表[1,2,3]。就需要三个指针和三个整数对象。对于数值运算来说&#xff0c;…

【前沿科技】云计算军事运用有啥特点

来源&#xff1a; 军语开源情报研究所云计算技术被视为继大型计算机、个人计算机、互联网之后的第四次信息技术产业革命。云计算是一种围绕分布式共享计算资源的创新应用模式&#xff0c;资源提供者可以方便而快速地提供计算资源&#xff0c;而无处不在的资源需求者可以便利地使…

tools URL 收集

每次恢复快照都会把CHrome的标签弄没&#xff0c;所以将收藏的好资源放在这里以免又丢了。 IP 段查询下载&#xff0c;做黑白名单用的到 http://ipblock.chacuo.net/ 转载于:https://www.cnblogs.com/M4ster/p/tools_url.html

python 通过ip获取城市_python 根据ip获取地理位置

!/usr/bin/pythoncodingutf-8import dpktimport socketimport pygeoipimport optparsegi pygeoip.GeoIP(GeoLiteCity.dat)查询数据库相关的城市信息并输出def printRecord(tgt):rec gi.record_by_name(tgt)city rec[city]# 原来的代码为 region rec[region_name]&#xff0…

js原型和原型链_JS 构造函数与原型链

JavaScript 对象体系是基于构造函数和原型链的。继承不通过类&#xff0c;而是通过原型对象实现&#xff0c;原型对象的所有属性和方法&#xff0c;都能被实例对象共享。构造函数&#xff08;constructor&#xff09;在 JS 中想要生成可重用、可继承的对象就要使用构造函数&…

全球制造业的未来

来源&#xff1a;航空简报2020年3月4日&#xff0c;Brahima Coulibaly和Karim Foda在美国布鲁金斯学会官网刊文&#xff0c;分析了全球制造业的未来&#xff0c;提出了几个鲜明的观点&#xff1a;1.“比较优势”将发生转移&#xff0c;中等收入国家尤其是许多亚洲新兴经济体&am…

关于解决织梦文档栏目删除后ID 从1开始的方法

在织梦当删除文档栏目后&#xff0c;再重新建立文档时&#xff0c;它的id就会按照刚才建立的文档的id的数值再增加一个&#xff0c; 比如&#xff0c;开始建立的文档id是1&#xff0c;当删除后&#xff0c;要重新再建立一个文档时&#xff0c;文档的后面的id已经不是从1开始&am…

mybatis 批量修改_解放双手,不写SQL!一个开源 MyBatis 神器!!

什么是通用 Mapper&#xff1f;它是一个可以方便的使用 Mybatis 进行单表的增删改查优秀开源产品。它使用拦截器来实现具体的执行 Sql&#xff0c;完全使用原生的 Mybatis 进行操作。在 Github 上标星 9.6K&#xff01;为什么要用 Mapper&#xff1f;它提供了所有单表的基本增删…

论文速读:AI能从人类的愚蠢中学到什么?

来源&#xff1a;混沌巡洋舰本文来自对下面论文的编译和解读&#xff1a;导读&#xff1a;随着机器在某些认知问题上超越人类&#xff0c;人机协作将会带来越来越显著的影响。造成人类偏见的三个主要原因&#xff08;小而不完整的数据集&#xff0c;从自己的决策结果中学习&…

struts2的核心和工作原理

在学习struts2之前&#xff0c;首先我们要明确使用struts2的目的是什么&#xff1f;它能给我们带来什么样的优点&#xff1f; 设计目标 Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的优点就不在提了。技术优势 Struts2有双方面的技术优势&#xff0c;一…

python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...

要获得(正整数)数字的最后一位数,您可以计算模数&#xff1a;last_digit n % 10该数字的其余部分(不包括最后一个地方)是&#xff1a;rest (n - last_digit) / 10理论上这应该足以分割数字并添加数字&#xff1a;def sum_digits(n):if n < 10:return nelse:last_digit n …

mysql允许root远程连接_西部数码使用指南:远程桌面之终端服务器超出了最大允许连接数解决...

版权归西部数码所有&#xff0c;原文链接&#xff1a;https://www.west.cn/faq/list.asp?unid739出现这种情况的原因和解决办法。 原因:用远程桌面链接登录到终端服务器时经常会遇到“终端服务器超出最大允许链接数”诸如此类错误导致无法正常登录终端服务器&#xff0c;引起该…

关于征集2020重大科学问题和工程技术难题的通知

来源&#xff1a;中国指挥与控制学会学会全体会员&#xff1a;为研判未来科技发展趋势、前瞻谋划和布局前沿科技领域与方向&#xff0c;瞄准世界科技前沿&#xff0c;推进世界科技强国建设&#xff0c;根据《中国科协办公厅关于征集2020重大科学问题和工程技术难题的通知》精神…

java hive配置_Hive配置项的含义详解(1)

一个hive任务&#xff0c;如何才算是优化的任务&#xff0c;hadoop job config里哪些配置能影响hive的效率。看看hive的详细配置我们可以略知一二。hive的配置&#xff1a;hive.ddl.output.format&#xff1a;hive的ddl语句的输出格式&#xff0c;默认是text&#xff0c;纯文本…

怎么在别人网站注入js脚本_别人的网站是怎么实现引流的?这些站外SEO技巧是关键...

点击上方蓝字关注我们&#xff01;因为分享&#xff0c;我们相遇在SEO路上“网站上线一段时间了&#xff0c;为什么没有流量&#xff1f;为什么没有询盘&#xff1f;”对于做网络营销的企业而言&#xff0c;网站流量与询盘是建立网站的根本目的&#xff0c;可是为什么操作了一段…

比尔盖茨NEJM发文:新冠肺炎是百年一遇的流行病!全世界应该如何应对?

来源&#xff1a;生物谷面对任何危机&#xff0c;政府都有两个同等重要的责任&#xff1a;解决眼前的问题&#xff0c;并防止它再次发生。COVID-19大流行就是一个恰当的例子。我们现在需要拯救生命&#xff0c;同时也需要改善我们应对疫情的方式。第一点更为紧迫&#xff0c;但…

java实现上传图片代码_Java图片上传实现代码

本文实例为大家分享了java图片上传代码&#xff0c;供大家参考&#xff0c;具体内容如下import java.io.*;import java.net.*;/**发送端*/class picsend{public static void main(String[] args) throws Exception{if(args.length!1){System.out.println("请选择一张.jpg图…