Python笔记(二)

  在昨天学习Python之后,感觉它的的确确挺简洁,也挺容易学习。在昨天的学习中我们了解到了Python中while循环语句以及if...else语句的使用,while语句的使用格式是这样的:while express :,切记不要忘记冒号。if语句和while语句的使用类似。今天我们首先接着昨天的学习,了解Python中的for循环,break语句以及continue语句,之后再简单接触一下函数的使用。废话不多说,我觉得对编程语句的学习最好是对照代码来学习,所以我们先来看下面一段代码:

1 for i in range(1,10,2):        #for循环的使用格式
2     print (i)
3     if i == 7 :
4         break
5 else:
6     print ("The for loop is over!") #这句话在for循环结束时打印,除非遇到break

  在上面代码的第一行中,我们使用中看到了for循环的使用。格式为:for .. in..:先解释一下代码第一行的作用:我们声明了一个变量i,他的取值由rang()函数决定,上面表示i从1开始到10结束,其步长为2,但是不包括10。这就有点类似我们在JAVA中这样使用for循环: 1 for(int i = 1;i < 10;i+=2) 。然后进入循环体,打印出每个i值,但是当i=7的时候,就跳出循环。这里有一点需要注意的是,如果你从for或者while循环中终止,那么任何对应的循环else块将不会被执行,也就是说,当跳出循环后,第六行将不会被执行。结果如下:

  如果我们将第3,4行使用#注释掉,那么结果如下:

  除了要记住上面所说的遇到break语句所产生的不同结果之外,还应该记住,else部分是可选的,如果包含else语句,那么它总是在循环结束执行一次。下面再来看看continue语句,Python中的continue语句和其他语言中(比如JAVA,C....)的continue语句作用是一样的,所以很好理解。它的作用就是跳过当前循环块中剩余的语句,然后继续执行下一轮循环。请看下面代码:

1 while True :
2     s = input(‘‘‘Enter something : ‘‘‘)
3     if s == ‘q‘:
4         break
5     if len(s) < 3:
6         print("string length too short.try again.")
7         continue
8     print ("The string length is :",len(s))    #len()用来求出s的长度
9 print ("Done!")

  在上面代码中,提示用户键入一些东西,如果键入字符‘q‘,那么将会跳出循环,如果不是,那么将判断用户键入的字符串长度,如果长度小于3,用户会得到提示,并结束本次循环,不会打印出字符串的长度,如果长度大于3,那么用户会得到字符串的长度。运行结果如下:

  到此我们已经了解了Python中三种控制流:if,while,for,以及与它们相关的break和continue语句。它们不仅在其他语言中需要熟练掌握,而且在Python中需要熟练掌握的。不需要死记硬背,和你之前熟悉的任何一门语言关联记忆,记住不同之处就很好掌握了。

  下面我们来开始了解Python中的函数。在Python中定义一个函数使用关键字def,后面跟一个函数名,然后一对圆括号,括号中可以有参数,然后以冒号结束。先上一段比较复杂的代码,它的作用是将用户输入的十进制数转为对应的二进制表示。如果不明白这个算法的,可以参看我之前的一篇博客《十进制转二进制》。下面是Python代码:

 1 #定义函数
 2 def tobinary(number):
 3     n = number % 2
 4     if number >= 2:
 5         tobinary(number >> 1)
 6     out = chr(ord(‘0‘)+n)
 7     #chr()将ascii码转为对应的字符
 8     #ord()将字符转为对应的ascii码
 9     print ("%c"%(out),end=‘‘)    #end控制打印间隔
10
11 while True:
12     s = input(‘‘‘Enter a number:(‘q‘ to quit)‘‘‘)
13     if s == ‘q‘:
14         break
15     elif s.isdigit():
16         tobinary(int(s))
17     else:
18         print ("your  input is not correct!")
19     print(end = ‘\n‘)
20
21 print (‘Game over !‘)

  在上面代码第二行中我们使用关键字def定义了一个函数tobinary,它接收一个参数。函数的作用就是将这个参数二进制数打印输出。关于chr()和ord()函数,以及print()中的end,请参看注释。接下来进入while循环,我们判断用户输入的是否为‘q‘,如果是,则退出程序。如果不是,我们再判断用户输入的字符串是否为数字(使用string中的isdigit()函数),如果是数字,那么进入我们定义的函数,将其二进制表示打印。如果用户输入不是数字,则提示用户输入不合法。运行结果如下:

  上面的代码演示了如何定义并使用函数。还是比较简单。下面说说函数参数。在Python中,我们不仅使参数拥有默认值,也可以指定关键参数。所谓默认参数值,就是我们在调用该函数的时候,可以不对其赋值,而让它使用我们设置的默认值。请看下面代码:

1 def say(message,times = 1):
2     print(message * times)
3
4 say(‘hello,‘)
5 say(‘hello,‘,5)

  上面的函数中,我们将times的默认值设置为1,在第四行调用函数的时候,我们没有传入times的值,所以Python会使用我们设置的默认值1,而在第五行,我们设置了times=5,执行结果如下:

  然而对于关键参数,指的是:假如我们定义的函数有多个参数,而我们只想指定其中一部分,那么我们可以通过命名来为这些参数赋值。这样做的好处是:我们不必担心参数的顺序,以及假设其他参数都用默认值,我们可以只给我们想要的参数赋值。请看下面一段代码:

1 def func(a,b=5,c=10):
2     print (‘a is ‘,a,‘ and b is ‘,b,‘ and c is ‘,c)
3
4 func(3,7)
5 func(25,c=24)
6 func(c=20,a=100)

  上面的函数中,我们将b,c设置了默认值,a没有设置。在代码第4行,我们传入了两个参数,参数a将得到3,b将得到7,参数c使用默认值10;在代码第5行中,根据实参的位置,变量a得到25,b使用默认值5,c得到24;第6行代码中,我们使用关键参数来完全指定参数值,注意:尽管在函数定义中,a在c之前定义,我们仍然可以在a之前指定参数c的值。这就是关键参数指定。其运行结果如下:

  最后再说一说文档字符串docstrings。它可以使帮助我们的程序文档更加简单易懂,所以应该尽量使用它。请看下面代码:

 1 def printMax(x,y):
 2     ‘‘‘Prints the maximum of two numbers.
 3
 4     The two values must be integers.‘‘‘
 5     x = int(x)
 6     y = int(y)
 7
 8     if x > y :
 9         print (x,‘is maximum‘)
10     else:
11         print (y,‘is maximum‘)
12
13 printMax(10,20)
14 print (printMax.__doc__)

  在上面函数的第一个逻辑行的字符串就是这个函数的文档字符串。我们运行结果,可以得到以下结果:

  以上就是我今天所学的。欢迎各位博友多多指点。

时间: 2024-08-28 21:01:08

Python笔记(二)的相关文章

python笔记二(数据类型和变量、字符串和编码)

一.数据类型 python可以直接处理的数据类型有:整数.浮点数.字符串.布尔值.空值. 整数 浮点数 字符串:双引号内嵌套单引号,可以输出 i'm ok. 也可以用\来实现,\n 换行 \t table 多行字符串用  ''' ''' 布尔值: 可以对布尔值进行与或非运算/ 与and 或or 非not 空值 二.变量 a = 1/ a = "nadech"    与java不同,python在声明一个变量的时候不用指定变量的类型,直接赋值就可以了 在 执行a =1 的时候,pytho

python笔记二 基础

10/24 对于Python,一切事物都是对象,对象基于类创建,对象所有的功能都是去类里面找的 变量名 = 对象 (值)                              重复的功能 创建一个类,然后对象去引用   整数 age = 18 print(type(age)) <class 'int'> 如果是其他的类型,会在下面显示类地址. age.__abs__() all_item = 95 pager = 10 result = all_item.__divmod__(10) pr

【python笔记 二 】python语句

1.for语句: 脚本实例: #!/usr/bin/python for i in range(1,15): print i else: print 'The loop is done !' 2.while/if语句: 脚本实例: #!/usr/bin/env python #FileName:while1.py running = True a = 20 b = int(raw_input('Enter A number b: ')) while running: if a == b: pri

21天学通Python笔记(二)

五. >>> def hello(): print('123123') >>> hello() 123123 >>> def hello1(v): print(v) return v >>> a = hello1(123) 123 >>> a 123 >>> def hello2(v1, v2): print(v1) return v2 >>> b = hello2(1, 3) 1

python笔记二:常用数据类型操作

1.切片:常用于取list或tuple的部分元素的操作 1)l=[1,2,3,4,5,6] l[:3]表示取前3个值,l[1:5]表示1到5个值, L[-3:]从列表最后往前数即最后3个数.... 2)t=(1,2,3,4,5,6) t(:3),t(:),t(1:5)... 2.迭代 1)for ch in 'ABC' 2)for i, value in enumerate(['A', 'B', 'C']) 3)for x, y in [(1, 1), (2, 4), (3, 9)] 3.列表生

2. 蛤蟆Python脚本学习笔记二基本命令畅玩

2. 蛤蟆Python脚本学习笔记二基本命令畅玩 本篇名言:"成功源于发现细节,没有细节就没有机遇,留心细节意味着创造机遇.一件司空见惯的小事或许就可能是打开机遇宝库的钥匙!" 下班回家,咱先来看下一些常用的基本命令. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48092873 1.  数字和表达式 看下图1一就能说明很多问题: 加法,整除,浮点除,取模,幂乘方等.是不是很直接也很粗暴. 关于上限,蛤蟆不太清楚

python之数据类型(学习笔记二)

python之数据类型(学习笔记二) 在Python中,能够直接处理的数据类型有以下几种: (1)整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例 如: 1 , 100 , ‐8080 , 0 ,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和0-9,a-f表示,例 如: 0xff00 , 0xa5b4c3d2 ,等等. (2)浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时

Python学习笔记&lt;二&gt;:列表、元组、字典

1 列表和元组 可以将列表和元组当成普通的"数组",它能保存任意数量任意类型的Python 对象.和数组一样,通过从0 开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象. 列表和元组有几处重要的区别.列表元素用中括号( [ ])包裹,元素的个数及元素的值可以改变.元组元素用小括号(( ))包裹,不可以更改(尽管他们的内容可以).元组可以看成是只读的列表.通过切片运算( [ ] 和 [ : ] )可以得到子集,这一点与字符串的使用方法一样. 举例如下: >>>

python 3.5 django 笔记(二)Tmeplates与models

回顾上节课的三条经典命令 django-admin startproject 项目名称 #建立项目 python manage.py startapp blog #建立项目内站点 python manage.py runserver #启动服务 #runserver后面可以带端口号,表示运行是的端口 Tmeplates: (图片转载至幕课) 在昨天的myblog\blog下简历templates文件夹 结构树 myblog | |-----blog |    | |    |-----templ

Python笔记_01列表 和元祖

Python笔记 第一章 列表和元祖 1.通用序列操作 所有序列都可以进行某些特定操作,包括:索引(indexing).分片(slicing).加(adding).乘(multiplying)以及检查某元素是否属于列表成员. 迭代:依次对序列中的每个元素重复执行某些操作. 序列的索引:通过元素在列表中的位置可以定位到该元素,这就是列表的索引,使用类似于list[0]对元素进行索引,索引0指向第一个元素.也可使用负数对元素进行索引,使用负数对元素索引时,列表中的最后一个元素由-1表示,例如list