Python基础ppt课件_第1页
Python基础ppt课件_第2页
Python基础ppt课件_第3页
Python基础ppt课件_第4页
Python基础ppt课件_第5页
已阅读5页,还剩276页未读 继续免费阅读

下载本文档

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

文档简介

1、12前言前言Python 简介简介Python 安装安装23-Python的官网网站:的官网网站:-Unix衍生系统可能已经安装了衍生系统可能已经安装了Python,在命令行对话框,在命令行对话框中键入中键入“python”即可显示版本信息。即可显示版本信息。-Windows下安装下安装Python和安装其他软件一样,很和安装其他软件一样,很easy!-编码方面:Python3.x默认utf-8。-语法方面有改动,数据类型方面有调整。-面向对象、异常处理和模块等方面也有改动。-本教学使用Python3.5。Python 下载与安装下载与安装Python2

2、.x vs Python 3.x4python官网有几个下载文件,有什么区别?官网有几个下载文件,有什么区别?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 installerDownload Windows x86-64 executable installerDownload W

3、indows x86-64 embeddable zip file x86是是32位,位,x86-64是是64位。位。可以通过下面可以通过下面3种途径获取种途径获取python:web-based installer 是需要通过联网完成安装的是需要通过联网完成安装的executable installer 是可执行文件是可执行文件(*.exe)方式安装方式安装embeddable zip file 嵌入式版本,可以集成到其它应用中嵌入式版本,可以集成到其它应用中5 安装好python后,在开始菜单栏中会自动添加一个名为python3.5的文件夹,点击该文件夹会有如图下图所示的一些子目录。 ID

4、LE是Python集成开发环境,也称交互模式。 Python3.5是Python的命令控制台,里面只能执行Python命令。 第三个是帮助文档,点击后会弹出帮助文档。 最后一个是Python的模块文档。本书若无特别指出,示例都是在IDLE中执行的。6 打开交互模式,如下图所示: 若看到,则表示是在Python交互式环境下,在Python交互式环境下,只能输入Python代码并立刻执行。7 在交互式环境下输入print (Hello,world!),按回车,可以看到输出了Hello,world!。如下图,红色箭头指向为输入部分,红色框为输出。 此处print后面带了括号,表示print是一个函数

5、,单引号里面的叫字符串。如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号。8 我们该怎么去刻意犯呢? 我们以前面的“Hello,world!”为示例,如果将print (Hello,world!)修改为print (Hello,world!),去掉后面的单引号,在交互模式下测试一下。 输入语句: print (Hello,world!) 可以看到屏幕打印结果如下图所示,这里打印意为在屏幕上输出文本,并非通过打印机打印出来: 通过这个错误提示,就能很快就知道问题的原因。9 (1)回顾一下Python的发展历程,

6、起源和应用场景。 (2)在本地安装Python最新版本,安装好后卸载,卸载后再安装,尽量关注一下各个步骤的细节。 (3)尝试在不同操作系统上安装Python。 (4)在“Hell world!”示例中,尝试将print函数拼写错误,查看输出结果。 (5)不要用电脑测试,自己想想print (1+2)的输出结果。10HelloWorld.pyHelloWorld.py# -*- coding: cp936 -*- 支持汉字注释print Hello, world! # 我的第一个Python程序raw_input() # 使cmd框不立刻退出三种运行方式三种运行方式打开源文件,用Python S

7、hell运行。双击源文件,用CMD运行。在Python Shell中直接写程序运行。111 1)开源)开源Python Win+Win32 Extensions http:/ IPython(增强的交互式Python) IDE Studio(IDLE以及更多) http:/ Eclipse http:/pydew.sf.ent 2 2)商业)商业WingIDE(WinWare公司)http:/ Komodo(ActiveState公司) http:/ 12简明简明PythonPython教程教程http:/:9

8、081/doc/abyteofpython_cn/chinese/index.htmlhttp:/ 章章主主 题题操作符,赋值,数据类型缩进,循环语句,条件语句文件操作,错误处理函数,类,模块14 print (“Hello world!“) # Python Shell提示符Hello world! abs(-4) # abs(): 内建函数,取绝对值4 myString = Hello world! # 单引号、双引号成对使用 print myStringHello world! myStringHello world! # 显示结果带引号 _ # 下划线含义:表示最后一个表达式Hello

9、 world!15 print (“%s is %d years old.” % (“李书豪”, 26))李书豪 is 26 years old.# %s 字符串;%d 整型;%f 浮点型# Python非常灵活,即使将数字传递给%s,也不会引发严重后果 logFile = open(myLogFile.txt, a) # 打开文件 print logFile, Python让程序员的工作更轻松。# 重定向输出符号 logFile.close() # 关闭文件16 userName = raw_input(输入登录名:)输入登录名:李书豪 print 你的登录名为, userName 你的登录

10、名为 李书豪 # 自动加空格# raw_input():从用户那里得到数据输入; myNumber = raw_input(输入一个数字:)输入一个数字:1024 print 你输入数字的2倍是:%d % (int(myNumber) * 2)你输入数字的2倍是:2048# int() 字符串转换为整型17标准算术操作符:+ - * / /取整 %取余 *乘方 print -2 * 3 + 2010 / 4 * 2 print (-2 * 3) + (2010 / (4 * 2) # 括号增加可读性标准比较操作符: = = != 3.14 3.14 != 3.14 # 渐渐被淘汰False逻辑

11、操作符: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 n = height n *= 100 # 等价于 n = n * 100五种基本数字类型:int long bool float complex复数0102 -128 0 x80 -0XA9; 12345678902010L -0 xABCDEF123456L;True False; 3.1

12、415926 -1.2E-14 10. 32.1e10;6.54+3.21j -1.23+45.6J 0+1j 99-88j -0.142857+0j19字符串:索引操作符 :切片操作符 +连接运算 *重复运算 strPython = Python strIsCool = is cool! strPython0 # 第一个字符 strPython2:5: thoP strIsCool-1 # 最后一个字符 strIsCool:2: is! strPython + + strIsCool # n:回车Python is cool! - * 30-20列表(list)和元组(tuple):可以看成

13、普通的“数组” numberList = 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 mixList = Li 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 m

14、Key, myDictmKey # 缩进: Tab,空格21缩进:简洁、可读性好循环语句:whilewhile expression: # expression 条件表达式 while_suite # 根据条件循环执行的语句条件语句:if elif elseif expression1if expression1: # 蓝色部分蓝色部分可以单独用 if_suiteif_suiteelif expression2: elif expression2: # 绿色部分绿色部分可以省略,也可以重复多个 elif_suite elif_suiteelse expression3: # 用elif,最后必

15、须有else else_suite # Python没有switch-case22循环语句: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不自动换行方法:加逗号for nChar in myString: # myString = abc print nCharfor i in range(len

16、(myString): # len() 字符串长度 print (%d) % (i), myStringi # 输出:(0) a 23循环语句:for enumerate()内建函数# enumerate()突破约束:索引、元素双循环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 = (item * 2 for item in range(10) if item %

17、2)# 1 9 25 49 81 24文件操作: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,hFile.close() # close()是文件对象hfile的一个属性# 属性可以是数据值,也可以是函数和方法,类、模块、文件和复数等都有属性。# 本示

18、例适用于较小的文件,否则占用内存太大。25错误和异常:try - except# Python编译时会检查语法错误,运行时检测其他错误。# 当遇到错误,Python解释器就引发异常,并显示详细信息。try: # 你打算管理的代码段 except IOError, e: print 出错原因, e# 程序员也可以用raise有意引发一个异常26函数:def function_name(arguments): # 参数可为空,可有默认值 “optional documentation string” # 可选的函数说明语句 function_suite # 函数代码段 return fun_obj

19、 # 可以没有,自动返回None对象def addMeToMe(me): # 函数示例:神奇的 + 操作 return (me + me) # 小括号不能省略print addMeToMe(3.14) # 6.28print addMeToMe(100) # 200print addMeToMe(Python) # PythonPythonprint addMeToMe(-1, abc) # -1, abc, -1, abc27类:相关数据及逻辑的容器,构建创建真实对象的蓝图。class className(baseClasses): “optional documentation strin

20、g” # 说明性文字(可选) static_member_declarations # 静态成员定义 method_declarations # 方法定义模块:一种组织形式,将有联系的代码组织到独立文件中# 模块可以包含可执行代码、函数和类。import sys # 导入方法,sys为模块名称sys.stdout.write(Hello world!)sys.platform # win32sys.version # 2.6.5 (r265:79096,28 本章主要介绍一些Python的基本知识和一些基本概念的介绍,为后续章节学习相关内容做铺垫。29 旅行前,我们要先熟悉地名,知道要去哪里,

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

22、列表)、(列表)、Tuple(元组)、(元组)、Sets(集合)、(集合)、Dictionary(字典)。(字典)。本节将讲解Number(数字)数据类型,其它五种数据类型由后续相关章节进行介绍。 Python3支持三种不同的数值类型: 整型(整型(int)、浮点型()、浮点型(float)、复数)、复数(complex)。)。33 整型(int),通常被称为是整型或整数,是正或负整数,不带小数点。 例如交互模式下输入如下: 51 51 这里使用的就是整型。 整型加法如下: 25+25 5034 整型减法: 51-50 1 整型乘法: 51*2 102 整型除法: 153/51 3.0 155

23、/51 3.0392156862745097 此处出现除不尽的情况了。35 在整数除法中,除法(/)计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用地板除(/),整数的地板除(地板除(/)永远是整数)永远是整数,即使除不尽。 改成如下写法: 153/51 3 155/51 336 地板除(/)只取结果的整数部分,Python还提供一个余数运算,可以得到两个整数相除的余数。如下: 153%51 0 155%51 237 浮点型(float),浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示。 先看示例: 3.3*102

24、336.59999999999997 按预计应该一位小数,但输出结果却有这么多位小数。是因为整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。38 如下输入: 3.3*102+15.5 352.09999999999997 浮点除法: 153/51.0 3.0 155/51.0 3.0392156862745097 浮点地板除: 155/51.0 3.0 155%51.0 2.039 复数( (complex),复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。 Pytho

25、n支持复数,Python的复数我们当前阶段使用或接触的比较少,此处就不做具体的讲解,读者有一个概念即可,有兴趣可以自行查阅相关资料。40 有时候,我们需要对数据内置的类型进行转换,数据类型的转换数据类型的转换,你只需要将数据类型作为函数据类型作为函数名即可数名即可。 关于数据的类型转换,有如下几个函数可以使用: int(x) 将x转换为一个整数。 float(x) 将x转换到一个浮点数。 complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。 complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。41 int(

26、x)示例: int(352.1) 352 float(x)示例: float(352.1) 352.1 float(int(352.1) 352.0 这里先把352.1取整得到整数352,再用float将352转换成浮点数352.0,这样就得到我们需要的结果。42 所谓常量就是不能变的变量,比如常用的数学常数就是一个常量。在Python中,通常用全部大写的变量名表示常量。 Python中有两个比较常见的常量,分别为:PI和E。 PI:数学常量 pi(圆周率,一般以来表示)。 E:数学常量 e,e即自然常数(自然常数)。 这两个常量将会在后续章节中被使用,具体的用法在使用中进行体现。43 编程语

27、言最强大的功能之一是操纵变量的能力。变量(variable)是一个需要熟知的概念。如果你觉得数学是让你抓狂的话,别担心,Python中的变量很好理解。变量基本上就是代表某值的名字。44 在Python中,变量的使用环境非常宽松。没有 在Python中,等号( = )是赋值语句,可以把任意数据类型赋值给变量。 如下为定义一个名为xiaohong的变量: xiaohong=XiaoHong 此操作解释:xiaohong是我们创建的变量,=是赋值语句,XiaoHong是变量值,需要用引号标记。整句话的意思为:创建变量xiaohong并赋值为XiaoHong。(注意:字符串必须以引号标记开始,并以引号

28、标记结束。)45 打印变量结果: print(xiaohong) XiaoHong 在使用变量前,需要对其赋值,没有值的变量是没有意义的,编译器也不会编译通过。例如我定义一个变量为abc,不赋任何值,输入及结果如下: abc Traceback (most recent call last): File , line 1, in abc NameError: name abc is not defined46 同一个变量可以反复赋值,而且可以是不同类型的变量,输入如下: a = 123 123 a=ABC print(a) ABC 这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语

29、言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。和静态语言相比,动态语言更灵活,就是这个原因。47 当不能确定变量或数据的类型时,可以借助解释器内置的函数type进行确认。在交互模式下可以如下输入: type(Hello,world!) type(100) type(3.0) a=test type type(a) 48 请不要把赋值语句的等号等同于数学的等号。比如下面的代码: a = 100 a = a + 200 在编程语言中,赋值语句先计算右侧的表达式a + 200,得到结果300,再赋给变量a。由于a之前的值是100,重新赋值后,a的值变成300。我们通过

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

31、代码,就可以看到到底发生了什么事。50 执行a = ABC,解释器创建了字符串ABC和变量a,并把a指向ABC,如下图所示:执行b = a,解释器创建了变量b,并把b指向a指向的字符串ABC,如图2-4所示:执行a = XYZ,解释器创建了字符串XYZ,并把a的指向改为XYZ,但b并没有更改,如图2-5所示:所以,最后打印变量b的结果自然是ABC了。51 变量名可以是由数字或字符组成的任意长度的由数字或字符组成的任意长度的字符串,但必须以字母开头。字符串,但必须以字母开头。使用大写字母是合法的,但变量名使用小写字母开头是个好主意。python是区分大小写的是区分大小写的。举个例子来说,Name

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

33、 如果给变量取非法的名称,解释器显示语法错误。请看下面的示例: 2wrongtest=just for test SyntaxError: invalid syntax 该示例提示语法错误,错误信息为无效的语法,原因是它不是以字母开头。 xiaomingme=surprised SyntaxError: cant assign to operator 该示例提示语法错误,错误信息为不能做指定操作,原因为它包含了一个非法字符。53 from=from SyntaxError: invalid syntax from是Python的一个关键字。解释器通过关键字来识别程序的结构,并且它们不能用来作为

34、变量名称。 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 raise return try while with yield54 语句是Python解释器可以运行的一个代码单元,也可以理解为可以执行的命令。我们目前已经使用过了两种语句:print打印语句和赋值语句。 赋值语句有两个作用:一是建立新的变量,二是将值赋予变量

35、。任何变量在使用时,都必须赋值。否则,被视为不存在的变量。 advice=boss,we want have a lunch type(advice) 这个语句中的advice的类型是字符串(str)类型的。55 一般的情况下,我们用状态图表示变量的状态。左边是变量的名称,右边是变量值,中间的箭头指向值。状态图显示了赋值语句的最终操作结果。 advice=boss,we want have a lunch money=99999999 spend=1.11111111 如上面几条语句对应的状态图如下图所示:56 表达式是值、变量和操作符的组合。单独一个值也被看作一个表达式。单独的变量也可以看作

36、一个表达式。 表达式和语句一般不容易区分,很多人会将两者混在一起。那么语句和表达式之间有什么区别? 表达式是某事,而语句是做某事,说的通俗点就是告诉计算机做什么。比如3*3是9,而print(3*3)打印出来是9。那么区别在哪里? 比如我们在交互模式下输入如下: 3*3 9 print(3*3) 957 在交互模式下,其结果都是一样的。但这只是因为解释器总是把所有表达式的值打印出来而已(其内部都使用了相同的函数对结果进行呈现,后面会有细致的介绍)。一般情况下,Python不会这么做,毕竟3*3这样的表达式并不能做什么有趣的事情,而编写print(3*3)会有一个显示的。 语句和表达式之间的区别

37、在赋值时会表现的更加明显一些。因为语句不是表达式,所以没有值可供交互式解释器打印出来。比如在交互模式下输入如下: a=100 10*10 100打印出9的结果。 赋值语句输入完成后,下面立刻出现了新的提示输入符。而表达式输入完成后,下面立刻得到了结果。不过对于赋值语句,有些东西已经变了,变量a现在绑定了一个值100。58 这个是语句特性的一般定义:它们改变了它们改变了事物事物。比如,赋值语句改变了变量,print语句改变了屏幕显示的内容。 赋值语句可能是任何计算机程序设计语言中最重要的语句类型,尽管现在还难以说清它们的重要性。59 运算符和操作对象是计算机中比较常见的,任何的计算,都涉及到运算

38、符和操作对象。本节将介绍Python中的运算符和操作对象。60 运算符我知道,我们前面学习的加(+)、减(-)、乘(*)、除(/)、地板除(/)、取余(%)等都是运算符,是一些特殊符号的集合。操作对象就是由运算符连接起来的对象。 Python支持以下8种运算符: (1)算术运算符。(2)比较(关系)运算符。 (3)赋值运算符。(4)逻辑运算符。 (5)位运算符。 (6)成员运算符。 (7)身份运算符。(8)运算符优先级。61 以下变量a为10,变量b为5:运 算运 算符符描述描述实例实例+加:两个对象相加a + b 输出结果 15-减:得到负数或是一个数减去另一个数a - b 输出结果 5*乘

39、:两个数相乘或是返回一个被重复若干次的字符串a * b 输出结果 50/除:x除以ya / b 输出结果 2%取模:返回除法的余数b % a 输出结果 0*幂:返回x的y次幂a*b 为10的5次方, 输出结果 100000/取整除(地板除):返回商的整数部分9/2 输出结果 4 , 9.0/2.0 输出结果 4.062 交互模式下输入: 2*32/1024/1024/1024 4.0 2*64/1024/1024/10240 2*32是2的32次方,这个就是32位操作系统最大支持的内存的字节数,除以第一个1024是转换为KB,1KB=1024B,除以第二个1024是转

40、换为MB,1MB=1024KB,除以第三个1024是转换为GB,1GB=1024MB。这个结果也就意味着32位的操作系统最大只能支持4GB的内存。现在大家都趋向于选择64位的了,64位的系统能支持多大内存,自己可以算一下。63 以下变量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

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

42、 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/=取整(地板)除赋值运算取整(地板)除赋值运算符符c /= a 等效于等效于 c = c / a66 按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下。以下变量a为60,变量b为13:运 算运 算符符描述描述实例实例&am

43、p;按位与运算符(a & b) 输出结果 12 ,二进制解释: 0000 1100|按位或运算符(a | b) 输出结果 61 ,二进制解释: 0011 1101按位异或运算符: (a b) 输出结果 49 ,二进制解释: 0011 0001按位取反运算符: (a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。 左移动运算符:“右边的数指定移动的位数,高位丢弃,低位补0。a 右移动运算符:右移动运算符: a 2 输出结果输出结果 15 ,二进制解,二进制解释:释: 0000 111167 Python语言支持逻辑运算符,以下变量a为10,变

44、量b为20:运 算运 算符符逻 辑 表逻 辑 表达式达式描述描述实例实例Andx and 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)返回False68 a=10 b=3 list=1,2,3,4 print(a in list) print

45、 (b in list)69 Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。运 算运 算符符描述描述实例实例in如果在指定的序列中找到值返回 True,否则返回 False。x在y序列中,如果x在y序列中返回True。not in如果在指定的序列中没有找到值返回 True,否则返回 False。x不在y序列中,如果x不在y序列中返回 True。70 a=10 b=3 print(a is b) print(a is not b)71 身份运算符用于比较两个对象的存储单元运算运算符符描述描述实例实例isis判断两个标识符是不是引用自一个对象x is y,如果

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

47、is not身份运算符in not in成员运算符not or and逻辑运算符逻辑运算符73 字符串是 Python 中最常用的数据类型。我们可以使用引号(或)来创建字符串。 字符串可以使用操作符+,但其功能和数学中的不一样,它会进行拼接(concatenation)操作,即将前后两个字符首尾连接起来。 如: string1=hello string2=world print(string1+string2) helloworld74 如果想让字符串之间有空格,可以建一个空字符变量,插在相应的字符串之间让它们隔开,或是在字符串中加入相应的空格。交互模式下输入如下: string1=hello

48、 string2=world space= print(string1+space+string2) hello world 或者 string1=hello string2= world print(string1+string2) hello world75 计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。 在最新的Python 3版本中,字符串是以UTF-8编码的,也就是说,Python3的字符串支持多语言。 Python2中默认的编码格式是ASC

49、II格式,在没修改编码格式时无法正确打印汉字,在读取中文时会报错。Python2使用中文的语法是在字符串前面加上前缀 u。76 当程序变的更大更复杂时,读起来也更困难。程序的各部分之间紧密衔接,想依靠部分的代码来了解整个程序要做的,是困难的。在现实中,经常会遇到一段代码,很难弄清楚它在做什么、为什么那么做。 因此,在程序中加入自然语言的笔记来解释程序在做什么,是个不错的主意。这种笔记称为注释(comments),注释必须以符号“#”开始。 注释可以单独占一行,也可以放在语句行的末尾。交互模式下输入如下: # 打印1+1的结果 print(1+1) 2 print(1+1) # 打印1+1的结果

50、 277 比如如下的代码中注释与代码重复,毫无用处: r=10 #将10赋值给r 而下面这段代码注释则包含了代码中隐藏的信息,如果不加注释,很难让人看懂这个是什么意思(虽然在实际中可能可以根据上下文判定,但需要浪费不必要的思考时间)。 r=10 #半径,单位是米 选择好的变量名,可以减少注释的需要,但长名字也会让复杂表达式更难阅读,所以这两者之间需要衡量舍取。78 错误是好的,错误能帮助我们长进。 (1)还记得数字类型转换吗,若用int()转换一个字符,会得到怎样的结果,尝试一下,交互模式下输入如下: int(hello) Traceback (most recent call last):

51、File , line 1, in int(hello) ValueError: invalid literal for int() with base 10: hello 这个是什么意思呢,开动你的大脑,思考一下。79 (2)在变量和关键字中,若变量被命名为关键字会怎样,输入如下: class=你好 SyntaxError: invalid syntax (3)在算术运算符中,若被除数为0,结果会怎样,输入如下: 9/0 Traceback (most recent call last): File , line 1, in 9/0 ZeroDivisionError: division b

52、y zero 跟我们学习过的数学中的一样,被除数不能为0。80 (1)关键字那么多,我都记住吗? 这个可以不用去刻意记忆,随着你逐步的学习,会碰到一些常用关键字,碰多了自然就熟悉了。对于一些不常用的,碰到了再回头看是否是属于关键字。总之,关键字可以在学习和使用中慢慢记忆。 (2)这么多运算符,都需要熟练使用吗? 能熟练使用当然最好了,若不能都熟练使用,也要有所了解,知道怎么使用,在实际解决问题时能知道应该使用什么运算符,该怎么用。当然,也可以碰到具体问题时再详细研究,这也是一个不错的办法。 (3)字符串的操作就只有这么一些吗? 字符串还有很多的操作,这里只是一些简单的入门操作,具体在后面的章节

53、会有详细介绍。81 1. 回顾数据类型相关概念,整型、浮点型、数据类型转换。 2. 回顾变量和关键字相关概念,并尝试记住这些关键字。 3. 回顾运算符和操作对象,并通过不断调试熟悉各种运算符。 4. 回顾字符串的操作及注释,了解编码方式,尝试写注释。 5. 小萌和小智约定,明天小智送一颗糖给小萌,并从后天起,小智每天送比前一天多一倍的糖给小萌,到第16天(包含这天),小萌一共可以收到多少颗糖? 6. 小萌,运算符都学完了,我来考考你,看看你学的怎样,用4个2以及各种运算符,你能得到最大的数是多少? 7. 结合本章所学,并查阅相关资料,看看下面的代码的输出结果是怎样的,并尝试解释其结果。 hab

54、it=Python是一门很有用的编程语言n我想学好它 print(habit) #你认为的结果是 len(habit) #你认为的结果是82 1.#输入a,b,c,d4个整数,计算a+b-c*d的结果 2.#计算一个12.5m*16.7m的矩形房间的面积和周长 3.#怎么得到9/2的小数结果 4.#python计算中7*7*7*7.可以有多少种写法 831.#输入a,b,c,d4个整数,计算a+b-c*d的结果a=input(please input a nimber:)b=input(please input a number:)c=input(please input a number:)

55、d=input(please input a number:)print (a+b-c*d)?注意类型转换 int()输出结果:输出结果:please input a nimber:3please input a number:3please input a number:3please input a number:3-3842.#计算一个12.5m*16.7m的矩形房间的面积和周长a=12.5b=16.7s=a*bc=a+a+b+bprint 面积是%f,周长是%f%(s,c)输出结果是输出结果是面积是208.750000,周长是58.4000003.#怎么得到9/2的小数结果 float

56、(9/2)4.085 第一种: 7*7*7*7 2401 第二种: pow(7,4) 2401 第三种: 7*4 24401 第四种: eval(%s*%s*%s*%s%(7,7,7,7) 2401 eval参数是一个字符串, 可以把这个字符串当成表达式来求值, 86 本章将引入一个新的概念:数据结构。数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些元素可以是数字或者字符。在Python中,最基本的数据结构是序列(sequence)。Python包含6种内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。本章重点讨论最常用的两

57、种:列表和元组。87 在讲解列表和元组之前,本节先介绍Python中序列的通用操作,这些操作在列表和元组中都会用到。 Python中所有序列都可以进行某些特定的操作,这些操作包括:索引(indexing)、分片(sliceing)、序列相加(adding)、乘法(multiplying)、成员资格、长度、最小值和最大值。本节首先讲解对所有序列(包括元组和列表)都通用的操作。88 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字,代表它在序列中的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 序列中所有的元素都是有编号的从0开始递增。可以通过编号分别对序列的元素进行

58、访问。89 通过编号来取元素: greeting=Hello #定义变量greeting,并赋值Hello greeting0 #根据编号取元素,使用格式为在中括号中输入所取元素编号值 H greeting1 e greeting2 l 序列中的元素是从0开始从左向右依自然顺序编号开始从左向右依自然顺序编号的,对元素的访问可以通过编号访问。获取元素的方式为变量后面跟上中括号,中括号中输入所取元素的编号值,这个格式需要记住。 这里的所指的编号就是索引,可以通过索引获取元素这里的所指的编号就是索引,可以通过索引获取元素。所有序列都可以通过这种方式进行索引。90 交互模式下输入如下: greetin

59、g-1 o greeting-2 l greeting-3 l greeting-4 e Python的序列也可以从右边开始索引,最右边的可以从右边开始索引,最右边的一个元素的索引为一个元素的索引为-1,向左开始递减,向左开始递减。 在Python中,从左向右索引称为正数索引,从右向左称为负数索引。使用负数索引时,Python会从最后1个元素开始计数。最后一个元素的位置编号是-1。 最后一个元素的编号不是-0,这个跟数学中的概念一样的,-0=0,-0和0都是指向第一个元素。91 索引用来对单个元素进行访问,使用分片可以对一定范围内的元素进行访问,分片通过冒号分片通过冒号相隔的两个索引来实现相隔

60、的两个索引来实现。在交互模式输入如下: number=1,2,3,4,5,6,7,8,9,10 number1:3 #取索引为第一和第二的元素 2, 3 number-3:-1 #负数表明是从右开始计数,取得倒数第三和倒数第二的元素 8, 9 分片操作既支持正数索引,也支持负数索引,并且分片操作对于提取序列的一部分是很方便的。92 分片操作的实现需要提供两个索引作为边界,第一个索引的元第一个索引的元素是包含在分片内的,第二个则不包含在分片内。 number=1,2,3,4,5,6,7,8,9,10 number-3,-1 8, 9 试试使用索引0作为最后一个元素的下一个元素,输入如下: number-3:0 -3代

温馨提示

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

评论

0/150

提交评论