一、条件循环和其他语句

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. C++基础——类继承

    一.前言  好吧,本系列博客已经变成了<C++ Primer Plus>的读书笔记,尴尬.在使用C语言时,多通过添加库函数的方式实现代码重用,但有一个弊端就是原来写好的代码并不完全适用于现 ...

  2. 数据库 【redis】 命令大全

    以下纯属搬砖,我用Python抓取的redis命令列表页内容 如果想看命令的具体使用可查去官网查看,以下整理为个人查找方便而已 地理位置GEOADD 将指定的地理空间位置(纬度.经度.名称)添加到指定 ...

  3. CentOS7 使用firewalld打开关闭防火墙与端口

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...

  4. CYQ.Data 支持分布式数据库(主从备)高可用及负载调试

    前言: 继上一篇,介绍 CYQ.Data 在分布式缓存上支持高可用,详见:CYQ.Data 对于分布式缓存Redis.MemCache高可用的改进及性能测试 本篇介绍 CYQ.Data 在对数据库层面 ...

  5. 【死磕 Spring】—– IOC 之解析Bean:解析 import 标签

    原文出自:http://cmsblogs.com 在博客[死磕Spring]----- IOC 之 注册 BeanDefinition中分析到,Spring 中有两种解析 Bean 的方式.如果根节点 ...

  6. js取数组最大值的四种方式

    var arr = [7,2,0,-3,5];1.apply()应用某一对象的一个方法,用另一个对象替换当前对象 var max = Math.max.apply(null,arr);console. ...

  7. Android USB Headset: Device Specification

    For USB headsets to work seamlessly across the Android ecosystem, Android devices must support them ...

  8. 【工利其器】必会工具之(一)Source Insight篇

    前言         “Source Insight(以下简称SI)是世界上最好的编辑器”,说这句话不知道会不会出门被打呢?-_- 中国古话说得好,“文无第一,武无第二”,所以不敢说SI是最好的,但是 ...

  9. 使用Atlas进行元数据管理之Atlas简介

    背景:笔者和团队的小伙伴近期在进行数据治理/元数据管理方向的探索, 在接下来的系列文章中, 会陆续与读者们进行分享在此过程中踩过的坑和收获. 元数据管理系列文章: [0] - 使用Atlas进行元数据 ...

  10. Python3+Selenium2完整的自动化测试实现之旅(一):自动化测试环境搭建

    1     环境搭建准备 (1)    下载Python3版本的安装包,直接官网下载即可:Python官网:https://www.python.org/ (2)    下载Python的基础工具包p ...