我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python学习笔记整理(十)Pytho

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python学习笔记整理(十)Pytho

if语句是选取要执行的操作.
一、if语句
1、通用格式
形式是if测试,后面跟着一个或多个可选的elif(else if)测试,以及一个最终选用的else块。测试和else部分可以结合嵌套语句块,缩进列在行首下面。Python会执行第一个结算结果为真的代码块,或者如果所有测试都为假时,就执行else块。
if语句一般形式如下:
if <test1>:
    <statements1>
elif <test2>:
    <statements2>
else:
    <statements3>
2、基本列子
除了开头的if测试及其关联的语句外,其他所有部分都是可选择。
>>> if 1:
...  print 'True'
...
True
需要处理测试为假的情况,需要else。else就是所有测试条件都不满足情况下的默认选择
>>> if not 1:      
...     print 'true'
... else:
...     print 'false'
...
false

3、多路分支
>>> x='killer rabbit'        
>>> if x == 'roger':           
...     print "how's jessica?"
... elif x == 'bugs':        
...     print "what's up doc?"
... else:
...     print "Run away!"*2  
...
Run away!Run away!
Ptyhon中没有swith和case语句。在Ptyhon多路分支写成一系列的if/elif测试。或者对字典进行索引运算或者搜索列表。因为字典和列表可以在运行时创建,有时会比硬编码的if逻辑更具有灵活性.
>>> choice='ham' 
>>> print {'spam':1.25,
...        'ham': 1.99,
...        'eggs':0.99,
...        'bacon':1.10}[choice]
1.99
这个字典是多路分支,根据键的选择进行索引,在分支到这组值的其中一个。比起C语言的switch,两者等效,也可以使用Python语句表达。不过使用if表达不够简洁。
字典默认值能够通过has_keys测试,get方法调用或异常捕捉来处理。在字典式的多路分支中用于编写默认动作。这里通过get支持处理默认值
的情况
>>> Ptest={'name':'diege','age':18,'sex':'M'}
>>> print Ptest.get('name','Bad choice')
diege
>>> print Ptest.get('class','Bad choice')     
Bad choice
后面会学到字典也可以包含函数,从而代表更为复杂的分支动作,并实现一般的跳跃表格。这类函数做为字典的值,通常写成lamdba,通过增加括号调用来触发器动作
再来一个例子

###对比shell中的条件表达式######
if  [test1]
then
        do something1
elif [test2]
then
    do something2
else
        do something3
fi
二、Python语法规则
Python都有简单和基本的语句语法,但是,有些特定是我们需要知道的。
* 语句是逐个运行,除非你不这样写
* 块和语句的边际会自动被检测
* 复合语句=首行+“:”+缩进语句
* 空白行,空格,以及注释通常都会被忽略。
* 文档字符串(docstring)会被忽略,但会被保存并由工具显示。
Pyton支持另外一种注释,称为文档字符串。
1、代码块分隔符
自动以行缩进检测块的边际。缩进至右侧相同距离的所有语句属于同一块的代码。块内的语句都会垂直对齐,好像是在一个栏之内。
2、语句分隔符
Python的语句一般都是在其所在行的末尾结束的,不过,当语句太长了,难以单放在一行时,有些特殊的规则可以用于其位于多行之中。
1)如果使用语法括号对,语句就可以横跨数行。如在封闭的(),{},[]这类配对中编写代码。紧接着的行可以在任何缩进层次开始,而且应该全部垂直对齐。
2) 如果语句以反斜线结尾,就可以横跨数行。
3)三重引号字符串常量可以横跨数行
4)其他规则:有关语句分隔符。注释和空白也能出现在文件的任意之处。注释则出现在行的末尾终止
3、一些特殊情况
if (a==b and c==d and
    d==e and ee==f):
    print "new"
Python允许在相同行上编写一个以上的非复合语句(语句内未嵌套其他语句),有分号隔开。
>>> x=3;y=2;print x*y
6
三、真值测试
在Python中:
* 任何非0数字或非空对象对象都是真
* 数字0,空对象以及特殊对象None都被认作是假
* 比较和相等测试会递归地应用在数据结构中。
* 比较和相等测试会返回True或False(1和0的特殊版本)
* 布尔and和or运算符会返回真或假的操作对象
布尔运算符是用于结合其他测试的结果,Python中有三种布尔表达式运算符:
X and Y
    如果X和Y都为真,就是真
X or Y
    如果X或Y为真,就是真
not X
    如果X为假,那就为真(表达式返回True或False)
X和Y可以是任何真值或返回真值的表达式(如相等测试,范围比较等)。此外布尔and和or运算符在Python中返回真或假对象,
而不是True或False.返回and或or运算符左侧或者右侧的对象。(注意:每一个对象不是真就是假)
对or而言,从左到右求运算操作对象,然后返回第一个为真的操作对象。Ptyhon会在其找到第一个真值地方停止。【如果没有为真的呢?】
对and而言,计算所有为真时才会真,返回最后一个为真的对象。停止在第一个为假的对象上
1、if/else三元表达式
Python2.5引入的新的表达式
A=Y if X else Z
只有当X为真时才会执行表达式Y,而只有当X为假时,才会执行表达式Z
>>> A='t' if 'diege' else 'f'
>>> A
't'
>>> A='t' if '' else 'f'    
>>> A
'f'

>>> x=""            
>>> y=1
>>> z=2
>>> y if x else z
2
>>> x=9 
>>> y if x else z
1

2.5版本以前,相同效果可以小心使用and和or
A=((X and Y) or Z)
使用下列表达式也类似的,因为bool函数会把X转换成对应的整数1或0,然后用于从列表中挑选真假值。
A=[Z,Y][bool(X)]
>>> ['f','t'][bool("")]
'f'
C的语法,也是shell的
Y?X:Z
2、为什么要在意布尔值
X=A or B or C or None
这样的语句会把X设置A,B以及C中第一个非空(为真)的对象,或者如果所有对象都未空,就设置为None.
这样可行是因为or运算符返回两对象之一。这成为Python中相当常见的编写代码手法:从一个固定大小的集合中选择非空的对象只要在其串在一个or表达式中即可。
短路计算也很重要,因为布尔运算右侧的表达式肯能会调用函数来执行实质或重要的工作。不然,如果短路规则生效,附加效果就不会发生了。
if f1() or f2():...
这里如果f1返回真值(非空),python将不会再执行f2(),为了保证两个函数都会执行,要再or之前调用它们。
tmp1,tmp2=f1(),f2()
if tmp1 or tmp2:...

用来模拟if/else语句:((A and B) or C )
假定B真,A为真返回B【A,B都为真返回B,B为真,直接返回B,不计算C】,如果不是指返回C

最后,因为所有对象本质都是真或假,Python中,直接测试对象 ( if X:),而不是和空值比较(if X !='':), 前者更常见也更简单,就字符串而言,测试是等效的。

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python学习笔记整理(十)Pytho

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python学习笔记整理(十)Pytho

if语句是选取要执行的操作.一、if语句1、通用格式形式是if测试,后面跟着一个或多个可选的elif(else if)测试,以及一个最终选用的else块。测试和else部分可以结合嵌套语句块,缩进列在行首下面。Python会执行第一个结算结
2023-01-31

Python学习笔记整理(九)Pytho

赋值语句,表达式语句,打印一、赋值语句赋值语句给对象命名,基本形式是在等号左边写赋值语句的目标,右边写赋值的对象。左边可以是变量名或对象元素,而右侧的对象可以是任何会计算得到的对象表达式 。1、赋值语句的特性* 赋值语句建立对象引用值。建立
2023-01-31

Python学习笔记整理(六)Pytho

一、字典介绍字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。1、字典的主要属性*通过键而不
2023-01-31

Python学习笔记整理(七)Pytho

一、元组介绍元组(tuple)是无法修改的其他对象的结合.元组由简单的对象构成,元组与列表类似,不过元组不能在原处修改。通常写成圆括号中的一系列项。1、元组的属性*任意对象的有序集合与字符串和列表类似,元组是一个位置有序的对象集合。与列表相
2023-01-31

Python学习笔记整理(四)Pytho

字符串是一个有序的字符集合,用于存储和表现基于文本的信息。常见的字符串常量和表达式T1=‘’ 空字符串T2="diege's" 双引号T3="""...""" 三重引号块T4=r'\temp\diege' Raw字符串 抑制(取消)转义,完
2023-01-31

Python学习笔记整理(五)Pytho

列表和字段,这两种类型几乎是Python所有脚本的主要工作组件。他们都可以在原处进行修改,可以按需求增加或缩短,而且包含任何种类的对象或者被嵌套。一、列表列表的主要属性:*任意对象的有序集合从功能上看,列表就是收集其他对象的地方,可以把它看
2023-01-31

Python学习笔记整理(二)pytho

一、Python的数字类型1、数字常量python数字类型在程序中如何显示(换句话说,作为常量)数字            常量1234,-23,0        一般整数99999999999L        长整型数(无限大小)1.23
2023-01-31

Python学习笔记整理(一)pytho

Python对象类型说明:python程序可以分解成模块,语句,表达式以及对象。1)、程序由模块构成2)、模块包含语句3)、语句包含表达式4)、表达式建立并处理对象一、使用内置类型除非有内置类型无法提供的特殊对象需要处理,最好总是使用内置对
2023-01-31

Python学习笔记整理(八)Pytho

程序由模块构成模块包含语句语句包含表达式表达式建立并处理对象一、Python语句语句角色列子赋值创建引用a,b,c='good','bad','ok'调用执行函数log.write('diege,test\n')print打印对象print
2023-01-31

Python学习笔记 --- pytho

对于python操作scp不输入密码还有一个很好的解决方案:就是利用python中的 pexpect ,类似于linux下expect这个包。使用方式如下:上面的file_transfer()就是使用了免密的方式。想看源码,请访问我的Git
2023-01-31

Python学习笔记整理(十一)pyth

while语句,提供了编写通用循环的一种方法,而for语句是用来遍历序列对象内的元素,并对每个元素运行一个代码块。break,continue用在循环内,跳出整个循环或者跳出一次循环。一、while循环1、一般格式格式:首行以及测试表达式,
2023-01-31

python学习笔记(1)--pytho

Python 语言概述面向对象、解释型计算机程序设计语言。语法简洁、清晰、丰富和强大的类,能够把用其他语言(如c++/c)制作的各种模块很轻松的连接起来(胶水语言)。是纯粹的自由软件,源代码和解释器Cpython均遵循GPL(General
2023-01-31

Python学习笔记整理(十二)Pyth

一、函数基础函数可以计算出一个返回值。作用:最大化代码重用,最小化代码冗余,流程的分解1、函数相关的语句和表达式语句        例子Calls        myfunc(‘diege','eggs',meat=lit) #使用函数de
2023-01-31

Python学习笔记整理(十三)Pyth

一、模块模块是Pyhon最高级别的程序组织单元,它将程序代码和数据封装起来以便重用。实际的角度,模块往往对应Python程序文件。每个文件都是一个模块,并且模块导入其他模块之后就可以使用导入模块定义的变量名。模块可以由两个语句和一个重要的内
2023-01-31

Python学习笔记(29)-Pytho

一,简介上一篇已经介绍了python-docx模块的安装和导入,本篇直接介绍如何创建并写入word文档,需要注意的是:创建word并写入之后,操作的都是内存中的对象,最后需要保存到文件,才能看到真实的文件。二,代码演示非常简单,直接演示代码
2023-01-31

Python学习笔记整理(十七)异常处理

一、异常基础try/except:捕捉由代码中的异常并恢复,匹配except里面的错误,并自行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常后,不会中断程序,继续执行try语句后面的程序)try/finall
2023-01-31

Python学习笔记—第一章—Pytho

书目:Python(Unix和Linux系统管理指南)学习日期:20120627知识点总结:Python的优势:既简单易学,也可以完成任何复杂任务可读性好(严格的代码缩进格式)支持面向对象编程(OOP)强大的Python社区强大的Pytho
2023-01-31

python学习笔记1——安装pytho

python学习笔记1——安装pythoncentos和ubuntu的python2.7的安装方法参考:http://daixuan.blog.51cto.com/5426657/17673251、查看当前python版本并且[root@l
2023-01-31

Python学习笔记整理(十五)类的编写

类代码编写细节一、class语句一般形式class    (superclass,...):    data=value    def mothod(self,...):        self.member=value在cla
2023-01-31

Python学习笔记整理(十六)类的设计

如何使用类来对有用的对象进行建模?一、Python和OOPPython和OOP实现可以概括为三个概念。继承    继承是基于Python中属性查找(在X.name表达式中)多态    在X.method方法中,method的意义取决于X的类
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录