一、条件循环和其他语句

1、print和import的更多信息。

1.1、使用逗号输出  //print() 打印多个表达式是可行的,用逗号隔开。

      在脚本中,两个print语句想在一行输出,那么第一个结束的位置添加一个逗号(,)。注意只有脚本中有效,交互式对话框是看不到效果的。

1.2、想把某件事做另一件事导入。

从模块中导入函数的时候:

import somemodule  或者 from somemodule import somefunction, anotherfunction,yetanotherfunction 或者 from somedule import *只有确定自己想要导入给模块的功能的时候,才能使用最后一种。

如果有两个模块有相同的函数名,可以在语句末尾加上 as ,给该句或者整个模块提供模板

2、赋值魔法

2.1、序列解包(sequence unpacking)或可选代解包  //将多个值得序列解开,然后放到变量的序列中。

当方法或者函数返回的是元组或其他序列或其他可迭代对象尤其有用。它允许寒素返回一个以上的值,并打包成元组,然后通过赋值语句很容易访问。 注意 解包序列中的元素数量必须和放置在赋值号=左边的变量数量完全一致。不然会报错。(在3.0版本中,赋值好左边的变化可以少于右边,在其中的变量后面加星号(*),可以把多个变量赋值给这个带星号的变量(也就是赋值成列表[1,2,3])。)

2.2、链式赋值  //将同一个值复制给多个变量。x=y=somefunction()。 这里 x=y=somefuntion() 不等于 x=somefuntion(),y=somefunction()

2.3、增量赋值  // x=x+1;  (augment assignment)增量赋值x +=1;对于 *、/、%等标准运算符都有用。

3、语句块:缩排的乐趣

在语句块中条件为真(条件语句)是执行或者执行多次(循环语句)的一组语句。在代码前放置空格来缩进的语句即可创建语句块。注意推荐的语句块是4个空格。

4、条件和条件语句

4.1、布尔变量的作用

真值也叫布尔值:在布尔表达式中会被解释器看作假的: False None 0 "" () {} {} //虽然这些都为假,但是他们却不相等。其他的一切都为真。

标准的真值是 True和False,但是一些语言,如c和python2.3,把0和1看作真值。事实上True和False只不过是0和1华丽的说法。看起来不一样,作用相同。

4.2、条件执行和if语句

if else  elif 

4.3、比较运算符

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容器(例如:序列)的成员

4.3.1、is:同一性运算符

 使用 == 运算符判定两个对象是否相等,使用is判定两者是否等同(同一个对象)。注意:请不要,使用is运算符比较类似数值和字符串这类不可变值。因python内部操作这些对象的方式原因,结果不可预测。

4.4、断言

if 语句有一个非常优秀的近亲 断言(assert)。断言,确保程序中的某一个语句一定为真,如果为假,主动抛出异常。(在检查和调试某段代码的时候非常有用。)

 可以添加字符串,用来解释断言。

5、循环

while  for  注意:能使用for的地方尽量不要使用while。

5.1、遍历字典

   

5.2、一些迭代工具

1、并行迭代

程序可以同时迭代两个序列。zip函数可以用来进行并行迭代。zip函数的功能:把两个压缩在一起,然后返回一个元组列表。

2、编号迭代

有时候迭代序列中项同时,还想知道项的索引。

3、反转和排序迭代

两个很有用的寒素:reversed()反转和sorted()排序

注意reversed()函数返回的是序列,不能进行索引,分片等操作,例子中已经给出需要先转换成list。

5.3、跳出循环

break //终止循环 其中range(),前两个参数是开始和结束,第三个参数是间隔给元素,如果是负数倒序。

continue //结束本次循环,接这继续下个循环。

while True/break习语 // while True部分实现了永远不停的循环,而if break实现了有满足条件结束循环。

5.4、循环中的else子句

因为100以内有最大平方根的数字是81,但是这里只有100-82所以到程序跑完循环也没执行break语句,这个时候执行了else子句。在while和for循环中使用continue、break的语句,break语句。

6、列表推导式,-轻量级循环

列表推导式(list comprehension)是利用其他列表创建新列表(类似数学术语中的集合推导式)的一种方式。

得到名字首字母相同的男孩女孩的新集合。但是上述方法不高效,龟叔推荐这样列表推导式不用尝试所有男女的组合,只要检查字典的首字母即可。

7、三人行

介绍三个语句,pass、del、exec。

1、pass 当子句什么也不做的时候,如果空着程序会报错的。这个时候可以使用pass if name=='zhang' #子句没想好 pass即可,接着写下面的语句。

2、del                   del 删除的只是名称,不能删除值,python有垃圾回收机制,在没有使用的时候自动删除。

3、使用 exec和eval 执行和求值字符串

有时候需要python动态创建语句和表达式。这些未知的语句和表达式,近视“黑魔法”使用要十分的慎重。因可能造成非常严重的安全漏洞。

1、exec  //执行字符串的语句。python3.0版本以后成为函数。

简单的执行exec语句绝对不是好事,通常给它指定命名空间。这样简单的执行就会出现问题。

1.1、指定命名空间: in <scope>.其中的<scope>就是起放置代码字符串命名空间的作用的字典。

2、eval(用于求值)是类似exec的内置函数。exec语句会执行一系列的Python语句,而eval会计算python表达式,并返回结果值。

python学习笔记2_条件循环和其他语句的更多相关文章

  1. Python学习笔记五--条件和循环

    5.1 if语句 没什么好说,if语句语法如下: if expression: expr_true_suit 5.1.1多重条件表达式 单个if语句可以通过布尔操作符and,or,not实现多重条件判 ...

  2. Python学习笔记之条件、循环和其他语句

    一.函数导入 1.为模块提供别名 >>> import math as foobar #设置math 别名为foobar >>> foobar.sqrt(4) 显示 ...

  3. Python学习笔记----数据类型 运算符 循环 条件判断

    1. Python安装 在官网www.python.org下载安装程序,可以支持的操作系统linux,windows,mac. Python版本:2.x和3.x,分别有x86和x64. 在Window ...

  4. python 学习笔记3(循环方式;list初始化;循环对象/生成器/表推导;函数对象;异常处理)

    ### Python的强大很大一部分原因在于,它提供有很多已经写好的,可以现成用的对象 16. 循环方式笔记: 1)range(0, 8, 2)   #(上限,下限,步长)  可以实现对元素或者下标的 ...

  5. Python 学习笔记7 条件语句 If

    Python中条件语句if 是通过一条或者多条的执行语句的结果,来判断是否执行其包含的代码块. 通常会配合else.elif一起使用,达到根据条件进行多个代码块的执行操作. 简单的if score = ...

  6. python学习笔记(二)---for循环与操作列表

    内容概要 for循环 range(start,end,step)函数 生成随机数列表 list()函数 将range()的结果整合到某个列表 列表的操作 切片(start: end :step) 元组 ...

  7. Python学习笔记 第二课 循环

    >>> movies=["The Holy Grail", 1975, "The Life of Brian", 1979, "Th ...

  8. python学习笔记2_二元运算符和比较运算

    一.二元操作符 a+b : a加b a-b :  a减b a*b :  a乘b a/b : a除以b a//b:a整除以b,表示的是返回a除以b的结果的整数部分,而不是证明了a能被b整除.要证明a能被 ...

  9. Python学习笔记2_一些小程序

    counts = [98,12,3,4,1,4,9,3821] minNum = min(counts) #print minNum minNum_index = counts.index(minNu ...

随机推荐

  1. 项目升级-oracle改版sql server问题点汇总

    目录 1.符号使用 1.1 :->@ 1.2 mod()->% 1.3 ||->+ 1.4 off等表别名 1.5 columnnum=1->top 1 1.6 minus-& ...

  2. SSIS-导入Excel文件时记录行号

    SSIS导入Excel时记录行号 1. "Excel源"后添加"脚本组件" 2. "脚本组件"中新增输出列,命名为"RowNumb ...

  3. .net momeryStream 读取为空问题

    问题 stream读取错误 我需要把用户上传的图片,加水印,然后保存到阿里云的oss.保存成功,但是保存的数据为空.唯一的异常 :ReadTimeout = “newPicStream.ReadTim ...

  4. Netty1:初识Netty

    为什么使用Netty Netty是业界最流行的NIO框架之一,它的健壮性.功能.性能.可定制性.可扩展性在同类框架中都是首屈一指的,它已经得到了成百上千的商用项目的证明.对于为什么使用Netty这个话 ...

  5. 第3章 简单的C程序设计——顺序程序设计

    3.1 顺序程序设计举例 例:有人用温度计测量出用华氏法表示的温度(如64F),今要求把它转换为一摄氏法表示的温度(如17.8C) 解题思路:问题的关键在于找到两者的转换公式.根据物理学知识,公式为c ...

  6. 从壹开始微服务 [ DDD ] 之七 ║项目第一次实现 & CQRS初探

    前言 哈喽大家周五好,我们又见面了,感谢大家在这个周五读我的文章,经过了三周的时间,当然每周两篇的速度的情况下,咱们简单说了下DDD领域驱动设计的第一部分,主要包括了,<项目入门DDD架构浅析& ...

  7. JS中some()和every()和join()和concat()和pop(),push(),shift(),unshfit()和map()和filter()

    一.Array 1.some()和every() some()是对数组中每一项运行指定函数,如果该函数对任一项返回true,则返回true. every()是对数组中的每一项运行给定函数,如果该函数对 ...

  8. KnockoutJS-绑定元素

    工作变更,又走回了WPF,一个来月没有接触web开发了,之前的KnockoutJS却不想放弃,继续进行知识的巩固,下个月开始重新走回web开发之路,还是得用回一些习惯了的工具.本次开始接触各绑定元素功 ...

  9. 完美解决phpstudy安装后mysql无法启动(无需删除原数据库,无需更改任何配置,无需更改端口)直接共存

    PHPstudy与原Mysql兼容解决 一.前言 今天学习php,当然是要先安装好运行环境了,phpstyudy是一个运行php的集成环境, 一键安装对新手很友好,与时作为一个新手,便跟着教程安装了p ...

  10. [SpringBoot guides系列翻译]调用RESTfulWebService

    原文 参考链接 CommandLineRunner Bean 翻译如何调用RESTful WebService 这节将演示如何在SpringBoot里面调用RESTful的WebService. 构建 ...