Python学习基础教程(经典).pdf

上传人:千里 文档编号:2431161 上传时间:2020-03-27 格式:PDF 页数:60 大小:817.26KB
返回 下载 相关 举报
Python学习基础教程(经典).pdf_第1页
第1页 / 共60页
Python学习基础教程(经典).pdf_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《Python学习基础教程(经典).pdf》由会员分享,可在线阅读,更多相关《Python学习基础教程(经典).pdf(60页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! Python 基础教程基础教程 全世界大概有几百种编程语言,而其中著名的只有十几种。Python 就是著名编 程语言之一。它起源于“龟叔”(Guido van Rossum,荷兰人)在 1989 年圣诞 节间的无聊,而为了打发时间所创造。 可见业余时间比工作时间创造出来的东西更容易出名哈,当然,这是开玩笑 的。“龟叔”赋予 Python“优雅、明确、简单”的特点。 那么,Python 适合做什么呢?它主要适用领域:We

2、b 网站和各种网络服务 (YouTube、Instagram、douban、openstack);系统工具和脚本;作为“胶 水”语言把其它语言开发的模块包装起来方便使用。 优点是显著的,但是也少不了缺点。Python 不适用的领域:贴近硬件的代码 (首选 C);移动开发(iOSAndroid 都有各自的开发语言);因为不能做到 告诉渲染,所以不适合游戏开发(首选 CC+)。 Python 和其它语言对比和其它语言对比 语言语言 类型类型 运行速度运行速度 代码量代码量 C 编译为机器码 非常快 非常多 Java 编译为字节码 快 多 Python 解释执行 慢 少 CPU 越来越快,程序的运行

3、速度瓶颈往往不在 Python 的执行,更多受到网络 速度和硬盘速度的制约。 另外,Python 发布程序即发布源代码。 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 安装安装 Python 前往 官网下载 对应平台对应工具。另外 Python2.7 版本和 3.3 版本并不兼容, 所以开发时请注意使用 Python 的版本。 作为 Mac OS X 使用者,其实更推荐 PyCharm IDE 。安装之后直接使用即 可。 数据类型数据类型 计算机顾名思义就是可以做

4、数学计算的机器,因此,计算机程序理所当然地可 以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图 形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据 类型。在 Python 中,能够直接处理的数据类型有以下几种: 整数整数 Python 可以处理任意大小的整数,当然包括负整数,在 Python 程序中,整数 的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进 制用 0 x 前缀和 0-9,a-f 表示,例如:0 xff00,0 xa5b4c3d2,等等。 浮点数浮点数

5、 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个 浮点数的小数点位置是可变的,比如,1.23109 和 12.3108 是相等的。 浮点数可以用数学写法,如 1.23,3.14,-9.01,等等。但是对于很大或很小的 浮点数,就必须用科学计数法表示,把 10 用 e 替代,1.23109 就是 1.23e9,或者 12.3e8,0.000012 可以写成 1.2e-5,等等。 整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除 法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。 上市公司,官网:上市公司,官网:hadoop.aura- 想

6、拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 字符串字符串 字符串是以或”括起来的任意文本,比如abc,”xyz”等等。请注意,或”本身 只是一种表示方式,不是字符串的一部分,因此,字符串abc只有 a,b,c 这 3 个字符。 布尔值布尔值 布尔值和布尔代数的表示完全一致,一个布尔值只有 True、False 两种值,要 么是 True,要么是 False,在 Python 中,可以直接用 True、False 表示布尔 值(请注意大小写),也可以通过布尔运算计算出来。 布尔值可以用 and、or 和 not 运算。 a

7、nd 运算是与运算,只有所有都为 True,and 运算结果才是 True。 or 运算是或运算,只要其中有一个为 True,or 运算结果就是 True。 not 运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。 空值空值 空值是 Python 里一个特殊的值,用 None 表示。None 不能理解为 0,因为 0 是有意义的,而 None 是一个特殊的空值。 此外,Python 还提供了列表、字典等多种数据类型,还允许创建自定义数据类 型。 print 语句语句 print 语句可以向屏幕上输出指定的文字。比如输出hello, world,用代

8、码实现 如下: print hello, world 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 注意: 1.当我们在 Python 交互式环境下编写代码时,是 Python 解释器的提示 符,不是代码的一部分。 2.当我们在文本编辑器中编写代码时,千万不要自己添加 。 print 语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出: print The quick brown fox, jumps over, the lazy dog The qu

9、ick brown fox jumps over the lazy dog print 会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符 串是这样拼起来的: print 也可以打印整数,或者计算结果: print 300 300 #运行结果 print 100 + 200 300 #运行结果 因此,我们可以把计算 100 + 200 的结果打印得更漂亮一点: print 100 + 200 =, 100 + 200 100 + 200 = 300 #运行结果 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据

10、开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 注意: 对于 100 + 200,Python 解释器自动计算出结果 300,但是,100 + 200 =是字符串而非数学公式,Python 把它视为字符串,请自行解释上述打印结 果。 Python 的注释的注释 任何时候,我们都可以给程序加上注释。注释是用来说明代码的,给自己或别 人看,而程序运行的时候,Python 解释器会直接忽略掉注释,所以,有没有注 释不影响程序的执行结果,但是影响到别人能不能看懂你的代码。 Python 的注释以 # 开头,后面的文字直到行尾都算注释 # 这一行全部都是注释. print hello #

11、这也是注释 注释还有一个巧妙的用途,就是一些代码我们不想运行,但又不想删除,就可 以用注释暂时屏蔽掉: # 暂时不想运行下面一行代码: # print hello, python. 变量变量 在 Python 中,变量的概念基本上和初中代数的方程变量是一致的。 例如,对于方程式 y=x*x ,x 就是变量。当 x=2 时,计算结果是 4, 当 x=5 时,计算结果是 25。 只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。 在 Python 程序中,变量是用一个变量名表示,变量名必须是 大小写英文、数 字和下划线(_)的组合,且不能用数字开头 ,比如: a = 1 上市公司,官网

12、:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 变量 a 是一个整数。 t_007 = T007 变量 t_007 是一个字符串。 在 Python 中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变 量可以反复赋值,而且可以是不同类型的变量,例如: a = 123 # a 是整数 print a a = Chars # a 变为字符串 print a 这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。 静态语言在定义变量时必须指定变量类型,如果赋值的时

13、候类型不匹配,就会 报错。例如 Java 是静态语言,赋值语句如下(/ 表示注释): int a = 123; / a 是整数类型变量 a = Chars; / 错误:不能把字符串赋给整型变量 和静态语言相比,动态语言更灵活,就是这个原因。 请不要把赋值语句的等号等同于数学的等号。比如下面的代码: x = 10 x = x + 2 如果从数学上理解 x = x + 2 那无论如何是不成立的,在程序中,赋值语句先 计算右侧的表达式 x + 2 ,得到结果 12,再赋给变量 x。由于 x 之前的值是 10,重新赋值后,x 的值变成 12。 最后,理解变量在计算机内存中的表示也非常重要。当我们写:

14、a = ABC 时,Python 解释器干了两件事情: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 1. 在内存中创建了一个ABC的字符串; 2. 在内存中创建了一个名为 a 的变量,并把它指向ABC。 也可以把一个变量 a 赋值给另一个变量 b,这个操作实际上是把变量 b 指向变 量 a 所指向的数据,例如下面的代码: a = ABC b = a a = XYZ print b 最后一行打印出变量 b 的内容到底是 ABC 呢还是 XYZ ?如果从数学意义上

15、理解,就会错误地得出 b 和 a 相同,也应该是 XYZ ,但实际上 b 的值 是 ABC ,让我们一行一行地执行代码,就可以看到到底发生了什么事: 执行 a = ABC ,解释器创建了字符串 ABC 和变量 a ,并把 a 指向 ABC : 执行 b = a ,解释器创建了变量 b,并把 b 指向 a 指向的字符串 ABC : 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 执行 a = XYZ ,解释器创建了字符串 XYZ ,并把 a 的指向改为 XYZ ,但

16、b 并没有更改: 所以,最后打印变量 b 的结果自然是 ABC 了。 字符串字符串 定义字符串定义字符串 前面我们讲解了什么是字符串。字符串可以用 或者 括起来表示。 如果字符串本身包含怎么办?比如我们要表示字符串 Im OK ,这时,可以用 括起来表示: Im OK 类似的,如果字符串包含”,我们就可以用 括起来表示: Learn Python in Charss Blog 如果字符串既包含又包含”怎么办? 这个时候,就需要对字符串的某些特殊字符进行“转义”,Python 字符串用 进 行转义。 要表示字符串 Bob said Im OK . 上市公司,官网:上市公司,官网:hadoop.a

17、ura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 由于 和 “ 会引起歧义,因此,我们在它前面插入一个 表示这是一个普通 字符,不代表字符串的起始,因此,这个字符串又可以表示为 Bob said Im OK. 注意:转义字符 不计入字符串的内容中。 常用的转义字符还有: n 表示换行 t 表示一个制表符 表示 字符本身 raw 字符串与多行字符串字符串与多行字符串 如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻 烦。为了避免这种情况,我们可以在字符串前面加个前缀 r ,表示这是一个 raw 字符

18、串,里面的字符就不需要转义了。例如: r(_)/ (_)/ 但是 r. 表示法不能表示多行字符串,也不能表示包含 和 的字符串 (为什么?) 如果要表示多行字符串,可以用 . 表示: Line 1 Line 2 Line 3 上面这个字符串的表示方法和下面的是完全一样的: Line 1nLine 2nLine 3 还可以在多行字符串前面添加 r ,把这个多行字符串也变成一个 raw 字符串: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! rPython is cr

19、eated by Guido. It is free and easy to learn. Lets start learn Python in Charss Blog! Unicode 字符串字符串 字符串还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能 处理。最早的计算机在设计时采用 8 个比特(bit)作为一个字节(byte),所 以,一个字节能表示的最大的整数就是 255(二进制 11111111=十进制 255),0 255 被用来表示大小写英文字母、数字和一些符号,这个编码表被 称为 ASCII 编码,比如大写字母 A 的编码是 65,小写字

20、母 z 的编码是 122。 如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和 ASCII 编码冲突,所以,中国制定了 GB2312 编码,用来把中文编进去。 类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码, Unicode 应运而生。Unicode 把所有语言都统一到一套编码里,这样就不会再 有乱码问题了。 Unicode 通常用两个字节表示一个字符,原有的英文编码从单字节变成双字 节,只需要把高字节全部填为 0 就可以。 因为 Python 的诞生比 Unicode 标准发布的时间还要早,所以最早的 Python 只 支持 ASCII 编码,普通的字符串

21、ABC在 Python 内部都是 ASCII 编码的。 Python 在后来添加了对 Unicode 的支持,以 Unicode 表示的字符串用 u表 示,比如: print u中文 中文 注意: 不加 u ,中文就不能正常显示。 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! Unicode 字符串除了多了一个 u 之外,与普通字符串没啥区别,转义字符和多 行表示法仍然有效: 转义: u中文n 日文n 韩文 多行: u第一行 第二行 raw+多行: urPytho

22、n 的 Unicode 字符串支持中文, 日文, 韩文等多种语言 如果中文字符串在 Python 环境下遇到 UnicodeDecodeError ,这是因为.py 文 件保存的格式有问题。可以在第一行添加注释 # -*- coding: utf-8 -*- 目的是告诉 Python 解释器,用 UTF-8 编码读取源代码。然后用 Notepad+ 另存为 并选择 UTF-8 格式保存。 List 创建创建 list Python 内置的一种数据类型是列表:list。list 是一种有序的集合,可以随时添 加和删除其中的元素。 比如,列出班里所有同学的名字,就可以用一个 list 表示: Mi

23、chael, Bob, Tracy 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! Michael, Bob, Tracy list 是数学意义上的有序集合,也就是说,list 中的元素是按照顺序排列的。 构造 list 非常简单,按照上面的代码,直接用 把 list 的所有元素都括起来, 就是一个 list 对象。通常,我们会把 list 赋值给一个变量,这样,就可以通过变 量来引用 list: classmates = Michael, Bob, Tracy c

24、lassmates # 打印 classmates 变量的内容 Michael, Bob, Tracy 由于 Python 是动态语言,所以 list 中包含的元素并不要求都必须是同一种数据 类型,我们完全可以在 list 中包含各种数据: L = Michael, 100, True 一个元素也没有的 list,就是空 list: empty_list = 按照索引访问按照索引访问 list 由于 list 是一个有序集合,所以,我们可以用一个 list 按分数从高到低表示出班 里的 3 个同学: L = Adam, Lisa, Bart 那我们如何从 list 中获取指定第 N 名的同学呢

25、?方法是通过索引来获取 list 中 的指定元素。 需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是 0,第二 个元素的索引是 1,以此类推。 因此,要打印第一名同学的名字,用 L0: print L0 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! Adam 要打印第二名同学的名字,用 L1: print L1 Lisa 要打印第三名同学的名字,用 L2: print L2 Bart 要打印第四名同学的名字,用 L3: print L3 Trace

26、back (most recent call last): File , line 1, in IndexError: list index out of range 报错了!IndexError 意思就是索引超出了范围,因为上面的 list 只有 3 个元 素,有效的索引是 0,1,2。 所以,使用索引时, 千万注意不要越界千万注意不要越界 。 倒序访问倒序访问 list 我们还是用一个 list 按分数从高到低表示出班里的 3 个同学: L = Adam, Lisa, Bart 这时,老师说,请分数最低的同学站出来。 要写代码完成这个任务,我们可以先数一数这个 list,发现它包含 3 个

27、元素, 因此,最后一个元素的索引是 2: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! print L2 Bart 有没有更简单的方法?有! Bart 同学是最后一名,俗称倒数第一,所以,我们可以用 -1 这个索引来表示 最后一个元素: print L-1 Bart Bart 同学表示躺枪。 类似的,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示: print L-2 Lisa print L-3 Adam print L-4 Traceb

28、ack (most recent call last): File , line 1, in IndexError: list index out of range L-4 报错了,因为倒数第四不存在,一共只有 3 个元素。 使用倒序索引时,也要 注意不要越界注意不要越界 。 添加新元素添加新元素 现在,班里有 3 名同学: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! L = Adam, Lisa, Bart 今天,班里转来一名新同学 Paul,如何把新同学添加

29、到现有的 list 中呢? 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾: L = Adam, Lisa, Bart L.append(Paul) print L Adam, Lisa, Bart, Paul append()总是把新的元素添加到 list 的尾部。 如果 Paul 同学表示自己总是考满分,要求添加到第一的位置,怎么办? 方法是用 list 的 insert()方法,它接受两个参数,第一个参数是索引号,第二个 参数是待添加的新元素: L = Adam, Lisa, Bart L.insert(0, Paul) print L Paul,

30、 Adam, Lisa, Bart L.insert(0, Paul) 的意思是,Paul将被添加到索引为 0 的位置上(也就是第 一个),而原来索引为 0 的 Adam 同学,以及后面的所有同学,都自动向后 移动一位。 删除元素删除元素 Paul 同学刚来几天又要转走了,那么我们怎么把 Paul 从现有的 list 中删除 呢? 如果 Paul 同学排在最后一个,我们可以用 list 的 pop()方法删除: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! L =

31、 Adam, Lisa, Bart, Paul L.pop() Paul print L Adam, Lisa, Bart pop()方法总是删掉 list 的最后一个元素,并且它还返回这个元素,所以我们执 行 L.pop() 后,会打印出 Paul。 如果 Paul 同学不是排在最后一个怎么办?比如 Paul 同学排在第三: L = Adam, Lisa, Paul, Bart 要把 Paul 踢出 list,我们就必须先定位 Paul 的位置。由于 Paul 的索引是 2, 因此,用 pop(2)把 Paul 删掉: L.pop(2) Paul print L Adam, Lisa, Ba

32、rt 替换元素替换元素 假设现在班里仍然是 3 名同学: L = Adam, Lisa, Bart 现在,Bart 同学要转学走了,碰巧来了一个 Paul 同学,要更新班级成员名单, 我们可以先把 Bart 删掉,再把 Paul 添加进来。 另一个办法是直接用 Paul 把 Bart 给替换掉: L2 = Paul 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! print L L = Adam, Lisa, Paul 对 list 中的某一个索引赋值,就可以直接用

33、新的元素替换掉原来的元素,list 包 含的元素个数保持不变。 由于 Bart 还可以用 -1 做索引,因此,下面的代码也可以完成同样的替换工 作: L-1 = Paul Tuple 创建创建 tuple tuple 是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但 是,tuple 一旦创建完毕,就不能修改了。 同样是表示班里同学的名称,用 tuple 表示如下: t = (Adam, Lisa, Bart) 创建 tuple 和创建 list 唯一不同之处是用( )替代了 。 现在,这个 t 就不能改变了,tuple 没有 append()方法,也没有 in

34、sert()和 pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也 不行。 获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t0,t-1等 索引方式访问元素,但是不能赋值成别的元素,不信可以试试: t0 = Paul Traceback (most recent call last): File , line 1, in TypeError: tuple object does not support item assignment 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行

35、业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 创建单元素创建单元素 tuple tuple 和 list 一样,可以包含 0 个、1 个和任意多个元素。 包含多个元素的 tuple,前面我们已经创建过了。 包含 0 个元素的 tuple,也就是空 tuple,直接用 ()表示: t = () print t () 创建包含 1 个元素的 tuple 呢?来试试: t = (1) print t 1 好像哪里不对!t 不是 tuple ,而是整数 1。为什么呢? 因为()既可以表示 tuple,又可以作为括号表示运算时的优先级,结果 (1) 被 Python 解

36、释器计算出结果 1,导致我们得到的不是 tuple,而是整数 1。 正是因为用()定义单元素的 tuple 有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义: t = (1,) print t (1,) 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 可变的可变的 tuple 前面我们看到了 tuple 一旦创建就不能修改。现在,我们来看一个“可变”的 tuple: t = (a, b, A, B) 注意到 t 有 3 个

37、元素:a,b和一个 list:A, B。list 作为一个整体是 tuple 的第 3 个元素。list 对象可以通过 t2 拿到: L = t2 然后,我们把 list 的两个元素改一改: L0 = X L1 = Y 再看看 tuple 的内容: print t (a, b, X, Y) 不是说 tuple 一旦定义后就不可变了吗?怎么现在又变了? 别急,我们先看看定义的时候 tuple 包含的 3 个元素: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 当我们

38、把 list 的元素A和B修改为X和Y后,tuple 变为: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 表面上看,tuple 的元素确实变了,但其实变的不是 tuple 的元素,而是 list 的 元素。 tuple 一开始指向的 list 并没有改成别的 list,所以,tuple 所谓的“不变”是说, tuple 的每个元素,指向永远不变。即指向a,就不能改成指向b,指向一个 list,就不能改成指向其他对象,但指向的这个 list 本身是可变的! 理解了

39、“指向不变”后,要创建一个内容也不变的 tuple 怎么做?那就必须保证 tuple 的每一个元素本身也不能变。 条件判断和循环条件判断和循环 条件判断条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。 if 语句语句 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 比如,输入用户年龄,根据年龄打印不同的内容,在 Python 程序中,可以用 if 语句实现: age = 20 if age = 18: print your age is, ag

40、e print adult print END 注意: Python 代码的缩进规则。具有相同缩进的代码被视为代码块,上面的 3,4 行 print 语句就构成一个代码块(但不包括第 5 行的 print)。如果 if 语 句判断为 True,就会执行这个代码块。 缩进请严格按照 Python 的习惯写法:4 个空格,不要使用 Tab,更不要混合 Tab 和空格,否则很容易造成因为缩进引起的语法错误。 注意: if 语句后接表达式,然后用:表示代码块开始。 如果你在 Python 交互环境下敲代码,还要特别留意缩进,并且退出缩进需要 多敲一行回车: age = 20 if age = 18:

41、. print your age is, age . print adult . your age is 20 adult if-else 语句语句 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 当 if 语句判断表达式的结果为 True 时,就会执行 if 包含的代码块: if age = 18: print adult 如果我们想判断年龄在 18 岁以下时,打印出 teenager,怎么办? 方法是再写一个 if: if age = 18: print tee

42、nager 细心的读者可以发现,这两种条件判断是“非此即彼”的,要么符合条件 1,要么 符合条件 2,因此,完全可以用一个 if . else . 语句把它们统一起来: if age = 18: print adult else: print teenager 利用 if . else . 语句,我们可以根据条件表达式的值为 True 或者 False ,分别执行 if 代码块或者 else 代码块。 注意: else 后面有个“:”。 if-elif-else 语句语句 有的时候,一个 if . else . 还不够用。比如,根据年龄的划分: 条件 1:18 岁或以上:adult 上市公司,

43、官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! 条件 2:6 岁或以上:teenager 条件 3:6 岁以下:kid 我们可以用一个 if age = 18 判断是否符合条件 1,如果不符合,再通过一个 if 判断 age = 6 来判断是否符合条件 2,否则,执行条件 3: if age = 18: print adult else: if age = 6: print teenager else: print kid 这样写出来,我们就得到了一个两层嵌套的 if . e

44、lse . 语句。这个逻辑 没有问题,但是,如果继续增加条件,比如 3 岁以下是 baby: if age = 18: print adult else: if age = 6: print teenager else: if age = 3: print kid else: 上市公司,官网:上市公司,官网:hadoop.aura- 想拿想拿高薪高薪,选对选对行业很重要!行业很重要!学大数据开发,工资高,前景好,发展空间大工资高,前景好,发展空间大! print baby 这种缩进只会越来越多,代码也会越来越难看。 要避免嵌套结构的 if . else . ,我们可以用 if . 多个 eli

45、f . else . 的结构,一次写完所有的规则: if age = 18: print adult elif age = 6: print teenager elif age = 3: print kid else: print baby elif 意思就是 else if。这样一来,我们就写出了结构非常清晰的一系列条件判 断。 特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执 行完对应的代码块,后面的条件判断就直接忽略,不再执行了。 循环循环 for 循环循环 list 或 tuple 可以表示一个有序集合。如果我们想依次访问一个 list 中的每一个 元素呢?比如 list: L = Adam, Lisa, Bart print L0 上市公司,官网:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 其他资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com