《笨方法学Python》第十期:变量与函数

Python系列之笨方法学Python是我学习《笨方法学Python》—Zed A. Show著
的学习思路和理解,如有不如之处,望指出!!!

本节主要学习函数的多种参数传递方式

我们可以直接给函数传递数字,也可以传递变量,还可以传递给它数学公式,甚至也可以把数学公式和变量合起来用。

源代码

# ex19.py
def cheese_and_crackers(cheese_count,boxes_of_crackers):
	print "You have %d cheeses!"%cheese_count
	print "You have %d boxes of crackers!"%boxes_of_crackers
	print "Get a blanket.\n"
	
print "We can just give that function numbers directly:"
cheese_and_crackers(20,30)

print "Or,we can use variables from our script:"
amount_of_cheese=10
amount_of_crackers=50
cheese_and_crackers(amount_of_cheese,amount_of_crackers)

print "We can even do much inside too:"
cheese_and_crackers(10+20,5+6)

print "And we can combine the two, variables and math:"
cheese_and_crackers(amount_of_cheese+100,amount_of_crackers+1000)

这个函数脚本思路很简单,主要以下几个点需要注意:

  1. def()指令后,记得加:
  2. 回想下前面学过的%d%r%s之间的区别
  3. \n的作用

应该看到的结果

《笨方法学Python》第十期:变量与函数

常见问题

  1. 对每一行代码添加#注释

  2. 第11行和12行创建的变量会不会改变函数中的变量

    不会。这些变量是在函数之外的,当它们被传递到函数中以后,函数会为这些变量创建一些临时的版本,当函数运行结束后,这些临时变量就被丢弃了。

  3. 函数的参数个数有限制吗?

    取决于Python的版本和所用的操作系统,不过就算有限制,限值也是很大的。


一个问题

作者在文中提出了一个问题:

如果让用户给函数传递变量呢?应该怎么写?比如:让用户输入cracker和cheese的数量

我写的指令如下:

print "Or,we can use variables from user:"
amount_of_cheese=raw_input("Enter your numbers: ")
amount_of_crackers=raw_input("Enter your numbers: ")
cheese_and_crackers(amount_of_cheese,amount_of_crackers)

但是在运行时,一直报错

希望大佬可以帮忙解释写这个非常简单的基础问题


这是**《笨方法学Python》**的第十篇文章

希望自己可以坚持下去

希望你也可以坚持下去