Python基础课件(共282张PPT)_第1页
Python基础课件(共282张PPT)_第2页
Python基础课件(共282张PPT)_第3页
Python基础课件(共282张PPT)_第4页
Python基础课件(共282张PPT)_第5页
已阅读5页,还剩277页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python第一页,共二百八十二页。第一章 进入(jnr)python3.5的精彩世界第二页,共二百八十二页。前言(qin yn)Python 简介(jin ji)Python 安装(nzhung)2本节内容第三页,共二百八十二页。进入(jnr)Python编程世界Python的官网网站(wn zhn):Unix衍生系统可能已经安装了Python,在命令行对话框中键入“python”即可显示版本信息。Windows下安装Python和安装其他软件一样,很easy!编码方面:Python3.x默认utf-8。语法方面有改动,数据类型方面有调整。面向对象、异常处理和模块(m kui)等方面也有改动

2、。本教学使用Python3.5。Python 下载与安装Python2.x vs Python 3.x第四页,共二百八十二页。Python安装(nzhung)python官网有几个下载(xi zi)文件,有什么区别?Python 3.6.0a1 - 2016-05-17Download Windows x86 web-based installerDownload Windows x86 executable installerDownload Windows x86 embeddable zip fileDownload Windows x86-64 web-based installerD

3、ownload Windows x86-64 executable installerDownload Windows x86-64 embeddable zip file x86是32位,x86-64是64位。可以通过下面3种途径获取python:web-based installer 是需要(xyo)通过联网完成安装的executable installer 是可执行文件(*.exe)方式安装embeddable zip file 嵌入式版本,可以集成到其它应用中第五页,共二百八十二页。安装好python后,在开始菜单栏中会自动(zdng)添加一个名为python3.5的文件夹,点击该文件

4、夹会有如图下图所示的一些子目录。IDLE是Python集成开发环境,也称交互模式。Python3.5是Python的命令控制台,里面只能执行Python命令。第三个是帮助文档,点击后会弹出帮助文档。最后一个是Python的模块文档。本书若无特别指出,示例都是在IDLE中执行的。进入(jnr)Python编程世界第六页,共二百八十二页。打开(d ki)交互模式,如下图所示:若看到,则表示是在Python交互式环境下,在Python交互式环境下,只能输入Python代码并立刻执行。第七页,共二百八十二页。在交互式环境下输入print (Hello,world!),按回车,可以看到输出了Hello,

5、world!。如下图,红色箭头指向(zh xin)为输入部分,红色框为输出。此处print后面带了括号,表示print是一个函数,单引号里面的叫字符串。如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号。第八页,共二百八十二页。我们该怎么去刻意犯呢?我们以前面的“Hello,world!”为示例,如果将print (Hello,world!)修改为print (Hello,world!),去掉后面的单引号,在交互模式下测试一下。输入语句:print (Hello,world!)可以(ky)看到屏幕打印结果如下图

6、所示,这里打印意为在屏幕上输出文本,并非通过打印机打印出来:通过这个错误提示,就能很快就知道问题的原因。第九页,共二百八十二页。 温故知新(wn g zh xn),学以致用(1)回顾一下Python的发展历程,起源和应用(yngyng)场景。(2)在本地安装Python最新版本,安装好后卸载,卸载后再安装,尽量关注一下各个步骤的细节。(3)尝试在不同操作系统上安装Python。(4)在“Hell world!”示例中,尝试将print函数拼写错误,查看输出结果。(5)不要用电脑测试,自己想想print (1+2)的输出结果。第十页,共二百八十二页。Windows下运行(ynxng)Python

7、程序HelloWorld.py# -*- coding: cp936 -*- 支持汉字注释print Hello, world! # 我的第一个Python程序raw_input() # 使cmd框不立刻(lk)退出三种运行方式打开源文件,用Python Shell运行。双击源文件,用CMD运行。在Python Shell中直接写程序运行。进入(jnr)Python编程世界第十一页,共二百八十二页。其他的Python集成(j chn)开发环境1)开源Python Win+Win32 Extensions /crew/skippy/win32 IPython(增强(zngqing)的交互式Pyt

8、hon) IDE Studio(IDLE以及更多) /crew/mike/Idle Eclipse http:/pydew.sf.ent 2)商业WingIDE(WinWare公司) Komodo(ActiveState公司) /Products/Komodo 进入(jnr)Python编程世界第十二页,共二百八十二页。Python学习(xux)资源免 费资 源简明(jinmng)Python教程啄木鸟社区(sh q)CSDN下载其他:9081/doc/abyteofpython_cn/chinese/index.html/moin/htp:/第十三页,共二百八十二页。Python快速(kui

9、 s)入门输入输出,注释(zhsh)本 章主 题操作符,赋值,数据类型缩进,循环(xnhun)语句,条件语句文件操作,错误处理函数,类,模块第十四页,共二百八十二页。print输出(shch),注释 print (“Hello world!“) # Python Shell提示符Hello world! abs(-4) # abs(): 内建函数,取绝对值4 myString = Hello world! # 单引号、双引号成对使用 print myStringHello world! myStringHello world! # 显示结果带引号 _ # 下划线含义:表示(biosh)最后一个

10、表达式Hello world!Python快速(kui s)入门第十五页,共二百八十二页。print输出(shch),注释 print (“%s is %d years old.” % (“李书豪”, 26))李书豪 is 26 years old.# %s 字符串;%d 整型;%f 浮点型# Python非常灵活,即使将数字传递给%s,也不会引发严重后果 logFile = open(myLogFile.txt, a) # 打开(d ki)文件 print logFile, Python让程序员的工作更轻松。# 重定向输出符号 logFile.close() # 关闭文件Python快速(k

11、ui s)入门第十六页,共二百八十二页。raw_input()输入(shr) userName = raw_input(输入登录名:)输入登录名:李书豪 print 你的登录名为, userName 你的登录名为 李书豪 # 自动加空格# raw_input():从用户(yngh)那里得到数据输入; myNumber = raw_input(输入一个数字:)输入一个数字:1024 print 你输入数字的2倍是:%d % (int(myNumber) * 2)你输入数字的2倍是:2048# int() 字符串转换为整型Python快速(kui s)入门第十七页,共二百八十二页。操作符标准算术操

12、作符:+ - * / /取整 %取余 *乘方 print -2 * 3 + 2010 / 4 * 2 print (-2 * 3) + (2010 / (4 * 2) # 括号增加可读性标准比较(bjio)操作符: = = != 3.14 3.14 != 3.14 # 渐渐被淘汰False逻辑操作符:and or not (2 4) and (2 = 4) or (not (3 4 5)False # 3 4 5 等价于 3 4 and 4 pptname = “Introction to Python” pptName = “Python入门” height = 1.71 age = 26

13、n = height n *= 100 # 等价于 n = n * 100五种基本数字类型:int long bool float complex复数0102 -128 0 x80 -0XA9; 12345678902010L -0 xABCDEF123456L;True False; 3.1415926 -1.2E-14 10. 32.1e10;6.54+3.21j -1.23+45.6J 0+1j 99-88j -0.142857+0jPython快速(kui s)入门第十九页,共二百八十二页。数据类型字符串字符串:索引操作符 :切片操作符 +连接运算 *重复运算 strPython =

14、Python strIsCool = is cool! strPython0 # 第一个字符(z f) strPython2:5: thoP strIsCool-1 # 最后一个字符 strIsCool:2: is! strPython + + strIsCool # n:回车Python is cool! - * 30-Python快速(kui s)入门第二十页,共二百八十二页。数据类型列表(li bio)、元组、字典列表(list)和元组(tuple):可以(ky)看成普通的“数组” numberList = 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 mixList = L

15、i Shuhao, 26, 1.71 mixTuple = (Python, is, cool)# 元组可以看成只读的列表,如:mixTuple0 = C+, 出错! print mixTuple0, mixTuple1, mixTuple-1Python is cool字典(dictionary):由键值对(Key-Value)构成 myDict = name:LiShuhao, height:171, age:26 for mKey in myDict: print mKey, myDictmKey # 缩进: Tab,空格Python快速(kui s)入门第二十一页,共二百八十二页。缩进

16、(su jn),while循环语句,if条件语句缩进:简洁、可读性好循环语句:whilewhile expression: # expression 条件表达式 while_suite # 根据条件循环执行(zhxng)的语句条件语句:if elif elseif expression1: # 蓝色部分可以单独用 if_suiteelif expression2: # 绿色部分可以省略,也可以重复多个 elif_suiteelse expression3: # 用elif,最后必须有else else_suite # Python没有switch-casePython快速(kui s)入门第二

17、十二页,共二百八十二页。for循环(xnhun)语句循环语句:for range()内建函数Python中的for循环与传统的for循环不太一样,不是计数循环,更像迭代循环,如:for nItem in 123, email, homework: print nItemfor nItem in range(5): # range(5)等价于1, 2, 3, 4, 5 print nItem, # print不自动换行方法:加逗号(duho)for nChar in myString: # myString = abc print nCharfor i in range(len(myString

18、): # len() 字符串长度 print (%d) % (i), myStringi # 输出:(0) a Python快速(kui s)入门第二十三页,共二百八十二页。for循环(xnhun)语句循环语句:for enumerate()内建函数# enumerate()突破(tp)约束:索引、元素双循环for i, nChar in enumerate(myString): print (%d) % (i), myStringi列表解析:for语句squared = item * 2 for item in range(5)# 0 1 4 9 16 complexTuple = (ite

19、m * 2 for item in range(10) if item % 2)# 1 9 25 49 81 Python快速(kui s)入门第二十四页,共二百八十二页。文件(wnjin)操作文件操作:open() file() readlines() close()handle = open(file_name, access_mode = r) # 默认 r# r:读取;w:写入;a:添加;+:读写;b:二进制访问。filename = raw_input(请输入文件名:)hFile = file(filename, r)for nLine in hFile: print nLine,h

20、File.close() # close()是文件对象hfile的一个属性# 属性可以是数据值,也可以是函数和方法,类、模块、文件和复数等都有属性。# 本示例适用于较小的文件,否则占用(zhn yn)内存太大。Python快速(kui s)入门第二十五页,共二百八十二页。错误处理错误和异常:try - except# Python编译时会检查语法错误,运行时检测其他(qt)错误。# 当遇到错误,Python解释器就引发异常,并显示详细信息。try: # 你打算管理的代码段 except IOError, e: print 出错原因, e# 程序员也可以用raise有意引发一个异常Python快

21、速(kui s)入门第二十六页,共二百八十二页。函数(hnsh)函数:def function_name(arguments): # 参数可为空,可有默认值 “optional documentation string” # 可选的函数说明语句(yj) function_suite # 函数代码段 return fun_obj # 可以没有,自动返回None对象def addMeToMe(me): # 函数示例:神奇的 + 操作 return (me + me) # 小括号不能省略print addMeToMe(3.14) # 6.28print addMeToMe(100) # 200pri

22、nt addMeToMe(Python) # PythonPythonprint addMeToMe(-1, abc) # -1, abc, -1, abcPython快速(kui s)入门第二十七页,共二百八十二页。类,模块(m kui)类:相关(xinggun)数据及逻辑的容器,构建创建真实对象的蓝图。class className(baseClasses): “optional documentation string” # 说明性文字(可选) static_member_declarations # 静态成员定义 method_declarations # 方法定义模块:一种组织形式,

23、将有联系的代码组织到独立文件中# 模块可以包含可执行代码、函数和类。import sys # 导入方法,sys为模块名称sys.stdout.write(Hello world!)sys.platform # win32sys.version # 2.6.5 (r265:79096,Python快速(kui s)入门第二十八页,共二百八十二页。第二章 开启(kiq)Python之旅本章主要介绍一些Python的基本知识和一些基本概念的介绍,为后续章节学习相关(xinggun)内容做铺垫。第二十九页,共二百八十二页。2.1 “旅行(lxng)”第一步认识程序旅行前,我们要先熟悉地名,知道要去哪里

24、,将会经过哪里。学习编程也一样,在学习之前(zhqin)要先了解程序、调试、语法错误、运行错误、语义错误等。第三十页,共二百八十二页。2.1.1 程序(chngx)程序(chngx)是用语言写成的。语言分高级语言和低级语言。高级语言翻译成机器代码有两种方法:解释和编译。第三十一页,共二百八十二页。编译型语言则是将源代码完整的编译成目标代码后才能执行。以后在执行时就不需要编译了。下图显示了一个编译器的结构。这个有点类似我们乘坐的直达车,所有要乘车的人从起点上车,中途不搭载(d zi)其他乘客。第三十二页,共二百八十二页。2.2 数 据 类 型Python3 中有六个标准的数据类型:Number(

25、数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)。本节将讲解Number(数字)数据类型,其它五种数据类型由后续相关章节进行介绍。Python3支持三种不同的数值类型(lixng):整型(int)、浮点型(float)、复数(complex)。第三十三页,共二百八十二页。2.2.1 整型整型(int),通常被称为是整型或整数,是正或负整数,不带小数点。例如交互模式(msh)下输入如下: 5151这里使用的就是整型。整型加法如下: 25+2550第三十四页,共二百八十二页。整型减法: 51-501整型乘法: 51*2102整型除

26、法(chf): 153/513.0 155/513.0392156862745097此处出现除不尽的情况了。第三十五页,共二百八十二页。在整数除法(chf)中,除法(/)计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用地板除(/),整数的地板除(/)永远是整数,即使除不尽。改成如下写法: 153/513 155/513第三十六页,共二百八十二页。地板除(/)只取结果的整数部分,Python还提供一个(y )余数运算,可以得到两个整数相除的余数。如下: 153%510 155%512第三十七页,共二百八十二页。2.2.2 浮点型浮点型

27、(float),浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示。先看示例(shl): 3.3*102336.59999999999997按预计应该一位小数,但输出结果却有这么多位小数。是因为整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。第三十八页,共二百八十二页。如下(rxi)输入: 3.3*102+15.5352.09999999999997浮点除法: 153/51.03.0 155/51.03.0392156862745097浮点地板除: 155/51.03.0 155%51.02.0第三十九页,共二百八十二页。2.

28、2.3 复数(fsh)复数( (complex),复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。Python支持(zhch)复数,Python的复数我们当前阶段使用或接触的比较少,此处就不做具体的讲解,读者有一个概念即可,有兴趣可以自行查阅相关资料。第四十页,共二百八十二页。2.2.4 数据(shj)类型转换有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。关于数据的类型转换,有如下几个函数可以使用:int(x) 将x转换为一个整数。float(x) 将x转换到一个浮点数。comp

29、lex(x) 将x转换到一个复数,实数部分为 x,虚数(xsh)部分为 0。complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。第四十一页,共二百八十二页。int(x)示例: int(352.1)352float(x)示例: float(352.1)352.1 float(int(352.1)352.0这里先把352.1取整得到整数352,再用float将352转换成浮点数352.0,这样就得到我们(w men)需要的结果。第四十二页,共二百八十二页。2.2.5 常量(chngling)所谓常量就是不能变的变量,比如常用的数学常

30、数就是一个常量。在Python中,通常用全部大写的变量名表示(biosh)常量。Python中有两个比较常见的常量,分别为:PI和E。PI:数学常量 pi(圆周率,一般以来表示)。E:数学常量 e,e即自然常数(自然常数)。这两个常量将会在后续章节中被使用,具体的用法在使用中进行体现。第四十三页,共二百八十二页。2.3 变量(binling)和关键字编程语言最强大的功能(gngnng)之一是操纵变量的能力。变量(variable)是一个需要熟知的概念。如果你觉得数学是让你抓狂的话,别担心,Python中的变量很好理解。变量基本上就是代表某值的名字。第四十四页,共二百八十二页。2.3.1 变量(

31、binling)在Python中,变量的使用环境非常宽松。没有 在Python中,等号( = )是赋值语句,可以把任意数据类型赋值给变量。如下为定义(dngy)一个名为xiaohong的变量: xiaohong=XiaoHong此操作解释:xiaohong是我们创建的变量,=是赋值语句,XiaoHong是变量值,需要用引号标记。整句话的意思为:创建变量xiaohong并赋值为XiaoHong。(注意:字符串必须以引号标记开始,并以引号标记结束。)第四十五页,共二百八十二页。打印变量结果: print(xiaohong)XiaoHong在使用变量前,需要对其赋值,没有值的变量是没有意义的,编译器

32、也不会编译通过。例如我定义一个变量为abc,不赋任何值,输入(shr)及结果如下: abcTraceback (most recent call last): File , line 1, in abcNameError: name abc is not defined第四十六页,共二百八十二页。同一个变量可以(ky)反复赋值,而且可以(ky)是不同类型的变量,输入如下: a = 123 123 a=ABC print(a)ABC这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。和静态语言相比,动态语言更

33、灵活,就是这个原因。第四十七页,共二百八十二页。当不能确定变量或数据的类型时,可以借助解释器内置的函数type进行(jnxng)确认。在交互模式下可以如下输入: type(Hello,world!) type(100) type(3.0) a=test type type(a)第四十八页,共二百八十二页。请不要把赋值语句的等号等同于数学(shxu)的等号。比如下面的代码:a = 100a = a + 200在编程语言中,赋值语句先计算右侧的表达式a + 200,得到结果300,再赋给变量a。由于a之前的值是100,重新赋值后,a的值变成300。我们通过交互模式验证,输入如下: a=100 a=

34、a+200 print(a)300第四十九页,共二百八十二页。理解变量在计算机内存中的表示也非常重要。当我们写: a=ABC时,Python解释器干了两件事情:(1)在内存中创建了一个ABC的字符串;(2)在内存中创建了一个名为a的变量,并把它指向ABC。也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,例如下面的代码: a=ABC b=a a=XYZ print(b)最后一行打印出变量b的内容(nirng)到底是ABC呢还是XYZ?如果从数学意义上理解,就会错误地得出b和a相同,也应该是XYZ,但实际上b的值是ABC,让我们一行一行地执行代码,就可以看到到

35、底发生了什么事。第五十页,共二百八十二页。执行a = ABC,解释器创建了字符串ABC和变量a,并把a指向ABC,如下图所示:执行b = a,解释器创建了变量b,并把b指向a指向的字符串ABC,如图2-4所示:执行a = XYZ,解释器创建了字符串XYZ,并把a的指向改为XYZ,但b并没有更改,如图2-5所示:所以,最后(zuhu)打印变量b的结果自然是ABC了。第五十一页,共二百八十二页。2.3.2 变量(binling)名称变量名可以是由数字或字符组成的任意长度的字符串,但必须以字母(zm)开头。使用大写字母是合法的,但变量名使用小写字母开头是个好主意。python是区分大小写的。举个例子

36、来说,Name和name是两个不同的变量名。交互模式中输入如下: name=study python is happy Name=I aggree with you print(name)study python is happy print(Name)I aggree with you第五十二页,共二百八十二页。下划线“_”可以(ky)出现在变量名中。它经常用于连接多个词组。比如happy_study, do_it_with_more_practice。交互模式输入如下: happy_study=stay hungry stay foolish print(happy_study)stay

37、hungry stay foolish如果给变量取非法的名称,解释器显示语法错误。请看下面的示例: 2wrongtest=just for testSyntaxError: invalid syntax该示例提示语法错误,错误信息为无效的语法,原因是它不是以字母开头。 xiaomingme=surprisedSyntaxError: cant assign to operator该示例提示语法错误,错误信息为不能做指定操作,原因为它包含了一个非法字符。第五十三页,共二百八十二页。 from=fromSyntaxError: invalid syntaxfrom是Python的一个关键字。解释器

38、通过关键字来识别(shbi)程序的结构,并且它们不能用来作为变量名称。Python3中共有33个关键字:False None True and as assert break class continue def del elif else except finally for from global if import in nonlocal lambda is not or pass raisereturn try while with yield第五十四页,共二百八十二页。2.4 语 句语句是Python解释器可以运行的一个代码单元,也可以理解为可以执行的命令。我们目前(mqin)已经使

39、用过了两种语句:print打印语句和赋值语句。赋值语句有两个作用:一是建立新的变量,二是将值赋予变量。任何变量在使用时,都必须赋值。否则,被视为不存在的变量。 advice=boss,we want have a lunch type(advice)这个语句中的advice的类型是字符串(str)类型的。第五十五页,共二百八十二页。一般的情况下,我们(w men)用状态图表示变量的状态。左边是变量的名称,右边是变量值,中间的箭头指向值。状态图显示了赋值语句的最终操作结果。 advice=boss,we want have a lunch money=99999999 spend=1.11111

40、111如上面几条语句对应的状态图如下图所示:第五十六页,共二百八十二页。2.5 表 达 式表达式是值、变量和操作符的组合。单独一个值也被看作一个表达式。单独的变量也可以看作一个表达式。表达式和语句一般(ybn)不容易区分,很多人会将两者混在一起。那么语句和表达式之间有什么区别?表达式是某事,而语句是做某事,说的通俗点就是告诉计算机做什么。比如3*3是9,而print(3*3)打印出来是9。那么区别在哪里?比如我们在交互模式下输入如下: 3*39 print(3*3)9第五十七页,共二百八十二页。在交互模式下,其结果都是一样的。但这只是因为解释器总是把所有表达式的值打印出来而已(其内部都使用(s

41、hyng)了相同的函数对结果进行呈现,后面会有细致的介绍)。一般情况下,Python不会这么做,毕竟3*3这样的表达式并不能做什么有趣的事情,而编写print(3*3)会有一个显示的。语句和表达式之间的区别在赋值时会表现的更加明显一些。因为语句不是表达式,所以没有值可供交互式解释器打印出来。比如在交互模式下输入如下: a=100 10*10100打印出9的结果。赋值语句输入完成后,下面立刻出现了新的提示输入符。而表达式输入完成后,下面立刻得到了结果。不过对于赋值语句,有些东西已经变了,变量a现在绑定了一个值100。第五十八页,共二百八十二页。这个是语句特性的一般定义:它们改变了事物。比如,赋值

42、语句改变了变量,print语句改变了屏幕显示的内容。赋值语句可能是任何计算机程序设计语言中最重要(zhngyo)的语句类型,尽管现在还难以说清它们的重要(zhngyo)性。第五十九页,共二百八十二页。2.6 运算符和操作(cozu)对象运算符和操作对象是计算机中比较常见的,任何(rnh)的计算,都涉及到运算符和操作对象。本节将介绍Python中的运算符和操作对象。第六十页,共二百八十二页。2.6.1 什么是运算符和操作(cozu)对象运算符我知道,我们前面学习的加(+)、减(-)、乘(*)、除(/)、地板除(/)、取余(%)等都是运算符,是一些特殊符号的集合。操作对象就是由运算符连接起来的对象

43、。Python支持以下8种运算符:(1)算术运算符。(2)比较(bjio)(关系)运算符。(3)赋值运算符。(4)逻辑运算符。(5)位运算符。 (6)成员运算符。(7)身份运算符。(8)运算符优先级。第六十一页,共二百八十二页。2.6.2 算术(sunsh)运算符以下(yxi)变量a为10,变量b为5:运算符描述实例+加:两个对象相加a + b 输出结果 15-减:得到负数或是一个数减去另一个数a - b 输出结果 5*乘:两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 50/除:x除以ya / b 输出结果 2%取模:返回除法的余数b % a 输出结果 0*幂:返回x的y次幂

44、a*b 为10的5次方, 输出结果 100000/取整除(地板除):返回商的整数部分9/2 输出结果 4 , 9.0/2.0 输出结果 4.0第六十二页,共二百八十二页。交互模式下输入: 2*32/1024/1024/10244.0 2*64/1024/1024/102417179869184.02*32是2的32次方,这个就是32位操作系统最大支持的内存的字节数,除以第一个1024是转换为KB,1KB=1024B,除以第二个1024是转换为MB,1MB=1024KB,除以第三个1024是转换为GB,1GB=1024MB。这个结果(ji gu)也就意味着32位的操作系统最大只能支持4GB的内存

45、。现在大家都趋向于选择64位的了,64位的系统能支持多大内存,自己可以算一下。第六十三页,共二百八十二页。2.6.3 比较(bjio)运算符以下(yxi)变量a为10,变量b为20:运算符描述实例=等于:比较对象是否相等(a = b) 返回 False。!=不等于:比较两个对象是否不相等(a != b) 返回 True.大于:返回x是否大于y(a b) 返回 False。小于:返回x是否小于y。(a =大于等于:返回x是否大于等于y。(a = b) 返回 False。=小于等于:返回x是否小于等于y。(a = b) 返回 True。第六十四页,共二百八十二页。在一些地方,会看到用1代表True

46、,0代表False,这种是正确也是合理的表示方式,这个大家更多会理解为开和关的意思,就像我们物理中所学习的电流的打开和关闭一样。后面会有更多的地方用到用1和0代表True、False的示例(shl)。另外,在Python2中,有时可能会看到这个符号,其和!=一样,也表示不等于,在Python3中已去除,若以后有看到运算符,那应当使用的是Python2。第六十五页,共二百八十二页。2.6.4 赋值运算符以下(yxi)变量a为10,变量b为20:运算符描述实例=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c+=加法赋值运算符c += a 等效于 c = c + a运算符描

47、述实例-=减法赋值运算符c -= a 等效于 c = c a*=乘法赋值运算符c *= a 等效于 c = c * a/=除法赋值运算符c /= a 等效于 c = c / a%=取模赋值运算符c %= a 等效于 c = c % a*=幂赋值运算符c *= a 等效于 c = c * a/=取整(地板)除赋值运算符c /= a 等效于 c = c / a第六十六页,共二百八十二页。2.6.5 位运算符按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下。以下(yxi)变量a为60,变量b为13:运算符描述实例&按位与运算符(a & b) 输出结果 12 ,二进制解释:

48、0000 1100|按位或运算符(a | b) 输出结果 61 ,二进制解释: 0011 1101按位异或运算符:(a b) 输出结果 49 ,二进制解释: 0011 0001按位取反运算符:(a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。左移动运算符:“右边的数指定移动的位数,高位丢弃,低位补0。a 右移动运算符:a 2 输出结果 15 ,二进制解释: 0000 1111第六十七页,共二百八十二页。2.6.6 逻辑(lu j)运算符Python语言支持逻辑(lu j)运算符,以下变量a为10,变量b为20:运算符逻辑表达式描述实例Andx a

49、nd y布尔与 - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。Orx or y布尔“或” - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。Notnot x布尔“非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b)返回False第六十八页,共二百八十二页。a=10b=3list=1,2,3,4print(a in list)print (b in list)第六十九页,共二百八十二页。2.6.7 成员(

50、chngyun)运算符Python还支持成员运算符,测试(csh)实例中包含了一系列的成员,包括字符串,列表或元组。运算符描述实例in如果在指定的序列中找到值返回 True,否则返回 False。x在y序列中,如果x在y序列中返回True。not in如果在指定的序列中没有找到值返回 True,否则返回 False。x不在y序列中,如果x不在y序列中返回 True。第七十页,共二百八十二页。a=10b=3print(a is b)print(a is not b)第七十一页,共二百八十二页。2.6.8 身份(shn fen)运算符身份运算符用于比较两个(lin )对象的存储单元运算符描述实例i

51、sis判断两个标识符是不是引用自一个对象x is y,如果id(x)等于id(y) ,is返回结果1is notis not用于判断两个标识符是不是引用自不同对象x is not y,如果id(x)不等于id(y).is not返回结果1第七十二页,共二百八十二页。2.6.9 运算符优先级以下(yxi)表格列出了从最高到最低优先级的所有运算符:运算符描述*指数 (最高优先级) + -按位翻转, 一元加号和减号 (最后两个的方法名为 + 和 -)* / % /乘,除,取模和取整除+ -加法减法 右移,左移运算符&位 AND |位运算符= =比较运算符 = !=等于运算符= %= /= /= -=

52、 += *= *=赋值运算符is is not身份运算符in not in成员运算符not or and逻辑运算符第七十三页,共二百八十二页。2.7 字符串操作(cozu)字符串是 Python 中最常用(chn yn)的数据类型。我们可以使用引号(或)来创建字符串。字符串可以使用操作符+,但其功能和数学中的不一样,它会进行拼接(concatenation)操作,即将前后两个字符首尾连接起来。如: string1=hello string2=world print(string1+string2)helloworld第七十四页,共二百八十二页。如果想让字符串之间有空格,可以建一个空字符变量(b

53、inling),插在相应的字符串之间让它们隔开,或是在字符串中加入相应的空格。交互模式下输入如下: string1=hello string2=world space= print(string1+space+string2)hello world或者 string1=hello string2= world print(string1+string2)hello world第七十五页,共二百八十二页。计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。在最

54、新的Python 3版本中,字符串是以UTF-8编码的,也就是说,Python3的字符串支持多语言。Python2中默认的编码格式是ASCII格式,在没修改编码格式时无法正确打印汉字,在读取中文(zhngwn)时会报错。Python2使用中文的语法是在字符串前面加上前缀 u。第七十六页,共二百八十二页。2.8 注 释当程序变的更大更复杂时,读起来也更困难。程序的各部分之间紧密衔接,想依靠部分的代码来了解整个程序要做的,是困难的。在现实中,经常会遇到一段代码,很难弄清楚它在做什么、为什么那么做。因此,在程序中加入自然语言的笔记来解释程序在做什么,是个不错的主意。这种笔记称为注释(comments

55、),注释必须以符号“#”开始。 注释可以单独占一行,也可以放在语句行的末尾。交互(jioh)模式下输入如下: # 打印1+1的结果 print(1+1)2 print(1+1) # 打印1+1的结果2第七十七页,共二百八十二页。比如如下的代码中注释与代码重复,毫无用处: r=10 #将10赋值给r而下面这段代码注释则包含了代码中隐藏的信息,如果不加注释,很难让人看懂这个是什么意思(虽然在实际中可能可以根据上下文判定,但需要浪费不必要的思考时间)。 r=10 #半径,单位是米选择好的变量名,可以减少注释的需要,但长名字(mng zi)也会让复杂表达式更难阅读,所以这两者之间需要衡量舍取。第七十八

56、页,共二百八十二页。2.9 调 试错误是好的,错误能帮助我们长进。(1)还记得数字类型转换吗,若用int()转换一个字符,会得到怎样(znyng)的结果,尝试一下,交互模式下输入如下: int(hello)Traceback (most recent call last): File , line 1, in int(hello)ValueError: invalid literal for int() with base 10: hello这个是什么意思呢,开动你的大脑,思考一下。第七十九页,共二百八十二页。(2)在变量(binling)和关键字中,若变量(binling)被命名为关键字会怎

57、样,输入如下: class=你好SyntaxError: invalid syntax(3)在算术运算符中,若被除数为0,结果会怎样,输入如下: 9/0Traceback (most recent call last): File , line 1, in 9/0ZeroDivisionError: division by zero跟我们学习过的数学中的一样,被除数不能为0。第八十页,共二百八十二页。2.10 问题解答(1)关键字那么多,我都记住吗?这个可以不用去刻意记忆,随着你逐步的学习,会碰到一些常用关键字,碰多了自然就熟悉了。对于一些不常用的,碰到了再回头看是否是属于(shy)关键字。总

58、之,关键字可以在学习和使用中慢慢记忆。(2)这么多运算符,都需要熟练使用吗?能熟练使用当然最好了,若不能都熟练使用,也要有所了解,知道怎么使用,在实际解决问题时能知道应该使用什么运算符,该怎么用。当然,也可以碰到具体问题时再详细研究,这也是一个不错的办法。(3)字符串的操作就只有这么一些吗?字符串还有很多的操作,这里只是一些简单的入门操作,具体在后面的章节会有详细介绍。第八十一页,共二百八十二页。2.11 温故知新(wn g zh xn),学以致用1. 回顾数据类型相关概念,整型、浮点型、数据类型转换。2. 回顾变量和关键字相关概念,并尝试记住这些关键字。3. 回顾运算符和操作对象,并通过不断

59、调试熟悉各种运算符。4. 回顾字符串的操作及注释,了解编码方式,尝试写注释。5. 小萌和小智约定(yudng),明天小智送一颗糖给小萌,并从后天起,小智每天送比前一天多一倍的糖给小萌,到第16天(包含这天),小萌一共可以收到多少颗糖?6. 小萌,运算符都学完了,我来考考你,看看你学的怎样,用4个2以及各种运算符,你能得到最大的数是多少?7. 结合本章所学,并查阅相关资料,看看下面的代码的输出结果是怎样的,并尝试解释其结果。 habit=Python是一门很有用的编程语言n我想学好它 print(habit)#你认为的结果是 len(habit)#你认为的结果是第八十二页,共二百八十二页。练习题

60、1.#输入a,b,c,d4个整数,计算(j sun)a+b-c*d的结果2.#计算一个12.5m*16.7m的矩形房间的面积和周长3.#怎么得到9/2的小数结果4.#python计算中7*7*7*7.可以有多少种写法第八十三页,共二百八十二页。1.#输入a,b,c,d4个整数,计算(j sun)a+b-c*d的结果a=input(please input a nimber:)b=input(please input a number:)c=input(please input a number:)d=input(please input a number:)print (a+b-c*d)?注意

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论