#父与子的编程之旅#第十三章

第十三章将函数

我的理解是,函数是一个方便重复调用的模块,不像命令行每次实现相同的功能都得重新敲一次实现的过程,函数可以有效提高代码的重复利用率

1、使用哪个关键字来创建函数?Python中使用def关键字来定义函数,如:def 函数名()

2、如何调用函数?定义好函数之后,如果一直不调用它,那么函数并没有任何价值,调用函数我们常常直接写:函数名(),就可以完成函数的调用

3、如何向函数传递参数?定义和调用函数的时候,我们常常会使用参数。参数的作用是可以让不同的对象实现相同的功能。比如写一个统计个人信息的函数,如果我想统计一个班级所有人的基本信息,我可以给函数传递一个参数,参数是班级中每个人的学好或者名字,通过传递参数,我们可以针对班级中不同的人实现统计基本信息这个功能。定义:def 函数名(形式参数1,形式参数2,...),调用:函数名(实参1,实参2,...)

4、函数最多可调用多少个参数?一般函数中的参数不超过5至6个,如果超过则使用一个列表将参数都收集进去,然后传递这个列表即可。

5、如何从函数返回信息?Python使用关键字returnl实现返回值的传递。将变量返回到调用该函数的位置。如:return 变量名 

6、函数运行结束以后,函数中的局部变量会被删除,局部变量在函数运行结束之后就不存在了。Python中global关键字可以将局部变量强制转换为全局变量。

 1 #动手试一试T1。编写一个函数,用大写字母打印你的名字,就像这样:
 2 '''
 3   CCCC       A       RRRRR  TTTTTTT  EEEEEE  RRRRR
 4  C    C     A A      R    R    T     E       R    R
 5 C          A   A     R    R    T     EEEE    R    R
 6 C         AAAAAAA    RRRRR     T     E       RRRRR
 7  C    C  A       A   R    R    T     E       R    R
 8   CCCC  A         A  R     R   T     EEEEEE  R     R
 9 
10 编写一个程序多次调用这个函数
11 '''
12 
13 def yourName(name):
14         if name == 'carter':
15             print '  CCCC       A       RRRRR  TTTTTTT  EEEEEE  RRRRR  '
16             print ' C    C     A A      R    R    T     E       R    R '
17             print 'C          A   A     R    R    T     EEEE    R    R '
18             print 'C         AAAAAAA    RRRRR     T     E       RRRRR  '
19             print ' C    C  A       A   R    R    T     E       R    R '
20             print '  CCCC  A         A  R     R   T     EEEEEE  R     R'
21 
22 name = raw_input("Enter your name: ")
23 yourName(name)
24   
25 #动手试一试T2。建立一个函数,可以打印全世界任何人名、地址、街道、城市、州或省、邮政编码和国家
26 #(提示:这需要7个参数。可以把它们作为单独的参数传入,也可以作为一个列表)
27 
28 def whereAreYou(address):
29         n = len(address)
30         for i in range(n):
31                 print address[i],
32 address = []
33 address.extend(raw_input("Enter your information: such as name street \
34                          city province postnumbers and state"))
35 whereAreYou(address)        
36 
37 #动手试一试T3。尝试使用代码清单13-7的例子,不过要求my_price是全局变量,以便看到结果输出有什么区别。
38 
39 def calculateTax(price,tax_rate):
40     total = price + (price * tax_rate)
41     print my_price
42     
43     global my_price
44     my_price = 10000
45     print "my_price (inside function) = ",my_price
46     return total
47 
48 my_price = float(raw_input("Enter a price: "))
49 
50 totalPrice = calculateTax(my_price,0.06)
51 print "price =", my_price, " Total price =", totalPrice
52 print "my_price (outside function) = ", my_price
53 
54 #动手试一试T4。编写一个函数计算零钱的总面值,包括5分币、二分币和一分币
55 #(类似于第5章中最后一个“动手试一试”问题)。函数应当返回这些硬币的总面额值
56 #然后编写一个程序调用这个函数。程序运行时应当得到类似下面的输出;
57 '''
58 quarters: 3
59 dimes: 6
60 nickels: 7
61 pennies: 2
62 total is $1.72
63 '''
64 def howMuch(q,d,n,p):
65         total = q * 0.25+d * 0.1+n * 0.05+p * 0.01
66         return total
67 quarters = int(raw_input("quarters: "))
68 dimes = int(raw_input("dimes: "))
69 nickels = int(raw_input("nickels: "))
70 pennies = int(raw_input("pennies: "))
71 
72 print "toptal is $",howMuch(quarters,dimes,nickels,pennies)

 

posted @ 2016-03-29 21:37  爱学习的小瓜牛  阅读(1660)  评论(0编辑  收藏  举报