简明python教程_个人学习笔记-.pdf
《简明python教程_个人学习笔记-.pdf》由会员分享,可在线阅读,更多相关《简明python教程_个人学习笔记-.pdf(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、简明 python教程使用带提示符的解释器在命令行的 shell提示符下键入 python,启动解释器。现在输入print Hello World,然后按 Enter 键。你应该可以看到输出的单词Hello World。对于 Windows用户,只要你正确的设置了PATH 变量,你应该可以从命令行启动解释器。或者你可以选择使用IDLE 程序。IDLE是集成开发环境的缩写。点击开始-程序-Python 2.3-IDLE(Python GUI)。Linux 用户也可以使用IDLE。注意,是你键入 Python 语句的提示符。例 3.1 使用带提示符的 Python 解释器$python Pytho
2、n 2.3.4(#1,Oct 26 2004,16:42:40)GCC 3.4.2 20041017(Red Hat 3.4.2-6.fc3)on linux2 Type help,copyright,credits or license for more information.print hello world hello world 注意,Python 会在下一行立即给出你输出!你刚才键入的是一句Python 语句。我们使用 print(不要惊讶)来打印你提供给它的值。这里,我们提供的是文本Hello World,它被迅速地打印在屏幕上。如何退出 Python 提示符如果你使用的是 Li
3、nux/BSD shell,那么按 Ctrl-d退出提示符。如果是在 Windows命令行中,则按Ctrl-z再按 Enter。#!/usr/bin/python#Filename:helloworld.pyprintHello World 让我们思考一下这个程序的前两行。它们被称作注释 任何在#符号右面的内容都是注释。注释主要作为提供给程序读者的笔记。Python 至少应当有第一行那样的特殊形式的注释。它被称作组织行 源文件的头两个字符是#!,后面跟着一个程序。这行告诉你的Linux/Unix系统当你执行 你的程序的时候,它应该运行哪个解释器。这会在下一节 做详细解释。注意,你总是可以通过直
4、接在命令行指定解释器,从而在任何平台上运行你的程序。就如同命令 python helloworld.py一样。数在 Python 中有 4 种类型的数整数、长整数、浮点数和复数。2 是一个整数的例子。长整数不过是大一些的整数。3.23 和 52.3E-4 是浮点数的例子。E标记表示 10的幂。在这里,52.3E-4表示 52.3*10-4。(-5+4j)和(2.3-4.6j)是复数的例子。字符串字符串是字符的序列。字符串基本上就是一组单词。我几乎可以保证你在每个Python 程序中都要用到字符串,所以请特别留心下面这部分的内容。下面告诉你如何在Python 中使用字符串。使用单引号()你可以用
5、单引号指示字符串,就如同Quote me on this这样。所有的空白,即空格和制表符都照原样保留。使用双引号()在双引号中的字符串与单引号中的字符串的使用完全相同,例如Whats your name?。使用三引号(或)利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。例如:This is a multi-line string.This is the first line.This is the second line.Whats your name?,I asked.He said Bond,James Bond.转义符假设你想要在一个字符串中包含一个单引
6、号(),那么你该怎么指示这个字符串?例如,这个字符串是Whats your name?。你肯定不会用Whats your name?来指示它,因为Python 会弄不明白这个字符串从何处开始,何处结束。所以,你需要指明单引号而不是字符串的结尾。可以通过转义符来完成这个任务。你用 来指示单引号注意这个反斜杠。现在你可以把字符串表示为Whats your name?。另一个表示这个特别的字符串的方法是Whats your name?,即用双引号。类似地,要在双引号字符串中使用双引号本身的时候,也可以借助于转义符。另外,你可以用转义符来指示反斜杠本身。值得注意的一件事是,在一个字符串中,行末的单独一
7、个反斜杠表示字符串在下一行继续,而不是开始一个新的行。例如:This is the first sentence.This is the second sentence.等价于 This is the first sentence.This is the second sentence.自然字符串如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r 或 R来指定。例如 rNewlines are indicated by n。Unicode 字符串Unicode 是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语
8、写文本,那么你需要有一个支持Unicode 的编辑器。类似地,Python 允许你处理 Unicode 文本你只需要在字符串前加上前缀u或 U。例如,uThis is a Unicode string.。记住,在你处理文本文件的时候使用Unicode 字符串,特别是当你知道这个文件含有用非英语的语言写的文本。字符串是不可变的这意味着一旦你创造了一个字符串,你就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。我们将会在后面的程序中看到为什么我们说它不是一个缺点。按字面意义级连字符串如果你把两个字符串按字面意义相邻放着,他们会被Python 自动级连。例如,Whats your name
9、?会被自动转为 Whats your name?。给 C/C+程序员的注释在 Python 中没有专门的 char 数据类型。确实没有需要有这个类型,我相信你不会为此而烦恼。标识符的命名变量是标识符的例子。标识符 是用来标识某样东西 的名字。在命名标识符的时候,你要遵循这些规则:标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(_)。标识符名称的其他部分可以由字母(大写或小写)、下划线(_)或数字(0-9)组成。标识符名称是对大小写敏感的。例如,myname 和 myName 不是 一个标识符。注意前者中的小写n 和后者中的大写 N。有效 标识符名称的例子有i、_my_nam
10、e、name_23和 a1b2_c3。无效 标识符名称的例子有2things、this is spaced out和 my-name。给 Perl/PHP 程序员的注释记住,单引号和双引号字符串是完全相同的它们没有在任何方面有不同。给正则表达式用户的注释一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以写成 1或 r1。如何编写Python 程序下面是保存和运行Python 程序的标准流程。1.打开你最喜欢的编辑器。2.输入例子中的程序代码。3.用注释中给出的文件名把它保存为一个文件。我按照惯例把所有的Python 程序都以扩展名.py保存。4.运行解释器命令p
11、ython program.py 或者使用IDLE运行程序。你也可以使用先前介绍的可执行的方法。如何缩进不要 混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。我强烈建议你在每个缩进层次使用单个制表符或两个或四个空格。选择这三种缩进风格之一。更加重要的是,选择一种风格,然后 一贯地 使用它,即只使用这一种风格。运算符与它们的用法运算符名称说明例子+加两个对象相加3+5 得到 8。a+b得到ab。-减得到负数或是一个数减去另一个数-5.2 得到一个负数。50-24得到 26。*乘两个数相乘或是返回一个被重复若干次的字符串2*3得到 6。la*3得到lalala。*幂返回 x
12、 的 y 次幂3*4得到 81(即 3*3*3*3)/除x 除以 y 4/3 得到 1(整数的除法得到整数结果)。4.0/3 或 4/3.0 得到1.3333333333333333/取整除返回商的整数部分4/3.0得到 1.0%取模返回除法的余数8%3 得到 2。-25.5%2.25 得到 1.5 左移把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0 和 1)2 右移把一个数的比特向右移一定数目11 1 得到 5。11 按比特表示为 1011,向右移动 1 比特后得到 101,即十进制的 5。&按位与数的按位与5&3 得到 1。|按位或数的按位或5|3得到 7。按位
13、异或数的按位异或5 3 得到 6 按位翻转x 的按位翻转是-(x+1)5得到 6。小于返回 x 是否小于 y。所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量True和 False 等价。注意,这些变量名的大写。5 3 返回 0(即 False)而 3 5 返回 1(即 True)。比较可以被任意连接:3 5 大于返回 x 是否大于 y 5 3 返回 True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回 False。=小于等于返回 x 是否小于等于 y x=3;y=6;x=大于等于返回 x 是否大于等于 y x=4;y=3;x=y 返回 Tru
14、e。=等于比较对象是否相等x=2;y=2;x=y 返回 True。x=str;y=stR;x=y返回 False。x=str;y=str;x=y返回 True。!=不等于比较两个对象是否不相等x=2;y=3;x!=y 返回 True。not 布尔“非”如果 x 为 True,返回 False。如果 x 为 False,它返回 True。x=True;not y返回 False。and 布尔“与”如果 x 为 False,x and y 返回False,否则它返回 y 的计算值。x=False;y=True;x and y,由于 x 是 False,返回 False。在这里,Python 不会计
15、算 y,因为它知道这个表达式的值肯定是 False(因为 x 是 False)。这个现象称为短路计算。or 布尔“或”如果 x 是 True,它返回 True,否则它返回 y 的计算值。x=True;y=False;x or y返回 True。短路计算在这里也适用。结合规律运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算。例如,2+3+4被计算成(2+3)+4。一些如赋值运算符那样的运算符是由右向左结合的,即a=b=c被处理为 a=(b=c)。使用 if语句#!/usr/bin/python#Filename:if.py number=23 guess=int(raw_i
16、nput(Enter an integer:)if guess=number:print Congratulations,you guessed it.#New block starts here print(but you do not win any prizes!)#New block ends here elif guess number to reach here print Done#This last statement is always executed,after the if statement is executed 我们为内建的raw_input函数提供一个字符串,这
17、个字符串被打印在屏幕上,然后等待用户的输入。一旦我们输入一些东西,然后按回车 键之后,函数返回输入。对于raw_input函数来说是一个字符串。我们通过int把这个字符串转换为整数,并把它存储在变量guess中。事实上,int是一个类,不过你想在对它所需了解的只是它把一个字符串转换为一个整数(假设这个字符串含有一个有效的整数文本信息)。使用 while 语句#!/usr/bin/python#Filename:while.py number=23 running=True while running:guess=int(raw_input(Enter an integer:)if guess=
18、number:print Congratulations,you guessed it.running=False#this causes the while loop to stop elif guess number:print No,it is a little higher than that else:print No,it is a little lower than that else:print The while loop is over.#Do anything else you want to do here print Done 使用 for 语句#!/usr/bin/
19、python#Filename:for.pyfor i in range(1,5):print ielse:print The for loop is over它如何工作在这个程序中,我们打印了一个序列 的数。我们使用内建的 range 函数生成这个数的序列。我们所做的只是提供两个数,range 返回一个序列的数。这个序列从第一个数开始到第二个数为止。例如,range(1,5)给出序列 1,2,3,4。默认地,range的步长为 1。如果我们为 range 提供第三个数,那么它将成为步长。例如,range(1,5,2)给出1,3。记住,range 向上 延伸到第二个数,即它不包含第二个数。fo
20、r 循环在这个范围内递归for i in range(1,5)等价于 for i in 1,2,3,4,这就如同把序列中的每个数(或对象)赋值给i,一次一个,然后以每个i的值执行这个程序块。在这个例子中,我们只是打印i 的值。记住,else 部分是可选的。如果包含 else,它总是在 for 循环结束后执行一次,除非遇到 break 语句。使用 break 语句如果你从for或while循环中终止,任何对应的循环else块将 不执行#!/usr/bin/python#Filename:break.pywhile True:s=raw_input(Enter something:)if s=qu
21、it:break print Length of the string is,len(s)print Done 使用 continue语句#!/usr/bin/python#Filename:continue.pywhile True:s=raw_input(Enter something:)if s=quit:break if len(s)b:print a,is maximum else:print b,is maximumprintMax(3,4)#directly give literal valuesx=5y=7printMax(x,y)#give variables as argu
22、ments 局部变量当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部 的。这称为变量的作用域。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。使用局部变量#!/usr/bin/python#Filename:func_local.py def func(x):print x is,x x=2 print Changed local x to,x x=50 func(x)print x is still,x global语句被用来声明 x 是全局的因此,当我们在函数内把值赋给x 的时候,这个变化也反映在我们在主块中使用x
23、 的值的时候。你可以使用同一个global语句指定多个全局变量。例如global x,y,z。#!/usr/bin/python#Filename:func_global.pydef func():global x print x is,x x=2 print Changed local x to,xx=50func()print Value of x is,x 默认参数值对于一些函数,你可能希望它的一些参数是可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。注意,
24、默认参数值应该是一个参数。更加准确的说,默认参数值应该是不可变的这会在后面的章节中做详细解释。从现在开始,请记住这一点。使用默认参数值#!/usr/bin/python#Filename:func_default.pydef say(message,times=1):print message*times#字符串乘以整数,就是把字符串打印多少遍的意思say(Hello)say(World,5)使用关键参数#!/usr/bin/python#Filename:func_key.py def func(a,b=5,c=10):print a is,a,and b is,b,and c is,c f
25、unc(3,7)func(25,c=24)func(c=50,a=100)#赋值的时候要么用默认值,要么就一定要给没有默认值的参数赋值return语句return语句用来从一个函数返回 即跳出函数。我们也可选从函数返回一个值。使用字面意义上的语句#!/usr/bin/python#Filename:func_return.pydef maximum(x,y):if x y:return x else:return yprint maximum(2,3)注意,没有返回值的return语句等价于 return None。None是 Python 中表示没有任何东西的特殊类型。例如,如果一个变量的值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简明 python 教程 个人 学习 笔记
限制150内