首页 / PYTHON / Python——函数
Python——函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python——函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3526字,纯文字阅读大概需要6分钟。
内容图文
![Python——函数](/upload/InfoBanner/zyjiaocheng/851/dddac544f82c48ada128396faa3b9f7d.jpg)
文章目录
当程序越来越大时,需要一些方法把他们分成较小的部分进行组织,这样更容易编写,也更容易明白。
要把程序分解成较小的部分,主要有3种方法。函数就像是代码的积木,可以反复到使用。利用对象,可以把程序的各个部分描述为自包含的单元。模块就是包含程序各部分的的单独文件。
一、创建函数
创建或定义函数要使用Python的def关键字:
def printSmoething(): #用def定义一个函数,函数名为printSmothing()
print "LSM"
print "YMY"
print "Fairy"
print "Little fairy man"
print
printSmoething() #调用函数。程序就是从这里开始运行的。
第1行中,使用def关键字定义了一个函数。函数名后边有一对括号“( )”,然后是冒号。这个冒号和for循环、if语句等中的冒号用法一样。
二、调用函数
调用函数就是运行函数中的代码。假若定义一个函数,但是从来不调用,这些代码就永远不会运行。
上例中,就算我们不定义函数仍然可以输出同样的结果:
print "LSM"
print "YMY"
print "Fairy"
print "Little fairy man"
那我们为什么要自找麻烦呢让程序更复杂呢?
使用函数的主要原因是,一旦定义了函数,就可以通过调用反复使用,我们如果想把以上内容打印5次,只需调用函数5次即可:
printSmoething()
printSmoething()
printSmoething()
printSmoething()
printSmoething()
当然,也有人可能说,我用循环也能做到。确实没错~~但是如果在程序不同位置打印,而不是全部一次完成,循环是不是就不行了呢。
三、向函数传递参数
前边说到定义函数后要加一个“( )”,它就是用来传递参数的。
如下:
def mathMark(myName):
print myName
print "80"
print
mathMark("YMY")
这看起来好像也没什么。接着看:
def mathMark(Name):
print Name
print "The score is 80"
print
mathMark("YMY")
mathMark("LSM")
mathMark("Cat")
每次调用输入的参数不同,人名会变,因为我们每次都向函数传入了不同的人名。
四、多个参数的函数
如果我们每个人的成绩不一样,那要怎么办呢?我们在上例只用名字一个参数,完全可以再添加一个分数的参数。顺便说一下:调用函数时称为实参,定义函数时称为形参。
def mathMark(name,score):
print name
print "The score is ",score
print
mathMark("YMY","80")
mathMark("LSM","99")
mathMark("Cat","0")
虽然说参数的个数是不限制的,但是如果函数超过5-6个参数,就考虑用别的做法。一种做法是把所有的参数收集到一个列表中,然后把这个列表传递到函数。
五、返回值
函数的返回值即函数可以向调用者发回信息。
返回一个值:
要让函数返回一个值,需要在函数中使用Python关键字return:
def calculateTax(price,tax_rate):
taxTotal = price +(price * tax_rate)
return taxTotal
my_price = float(raw_input("Enter a price "))
totalPrice = calculateTax(my_price,0.06)
print "price = ",my_price,"Total price = ",totalPrice
六、变量作用域
程序中使用或者可以使用变量的部分称为这个变量的作用域。
(1) 局部变量
在上例最后增加一行代码:
def calculateTax(price,tax_rate):
taxTotal = price +(price * tax_rate)
return taxTotal
my_price = float(raw_input("Enter a price "))
totalPrice = calculateTax(my_price,0.06)
print "price = ",my_price,"Total price = ",totalPrice
print price
会出现错误,这是为什么呢?因为在calculateTax( )函数以外,变量price根本没有定义,它只是在函数运行时才存在,当函数完成时,就会被删除。试图在函数之外打印price的值,就会出现一个错误。像这个price、taxTotal、tax_rate都是一个局部变量。
(2) 全局变量
与局部变量不同,全局变量可以用在函数的任意地方。
def calculateTax(price,tax_rate):
taxTotal = price +(price * tax_rate)
print my_price
return taxTotal
my_price = float(raw_input("Enter a price "))
totalPrice = calculateTax(my_price,0.06)
print "price = ",my_price,"Total price = ",totalPrice
在函数中打印my_price,结果正确。如果使用在主函数中定义过的变量名,Python允许使用,只要你不试图改变它。
强制为全局变量
可以用Python的关键字global来做到:
def calculateTax(price,tax_rate):
global my_price
内容总结
以上是互联网集市为您收集整理的Python——函数全部内容,希望文章能够帮你解决Python——函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。