Python 学习笔记(十三)Python函数(一)
2024-08-27 22:24:48
函数基础
函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。可以自己创建函数,这被叫做用户自定义函数。
定义函数
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None.
语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
示例:
#!/usr/bin/env python
#coding:utf-8 def add_function(x,y): #定义函数 """
This is a function that adds x and y. #函数文档
""" result =x + y return result # 返回值 if __name__ =="__main__": #__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。 a = 4
b = 9
c = add_function(a,b) #调用函数 或者 c =add_function(x=a,y=b) print "a + b = {0} + {1} ={2}".format(a,b,c)
函数的命名方式:
用小写字母、下划线组成 两个单词之间用下划线连接 add_function
驼峰命名法 第一个单词首字母小写,之后的单词首字母大写
调用函数
降低编程的难度,将一个复杂的大问题分解成一系列更简单的小问题。
代码重用
示例:
#!/usr/bin/env python
#coding:utf-8 def fibs(n): """
This is the Fibonacci sequence.
""" result =[0,1]
for i in range(n-2):
result.append(result[-2]+result[-1]) return result if __name__ =="__main__": lst=fibs(10) print lst
其他示例:
>>> def my_fun(): #定义一个函数
return 1,2,3 >>> a =my_fun() #返回一个元组
>>> a
(1, 2, 3)
>>> type(a)
<type 'tuple'>
>>> b,c,d =my_fun() #定义一个函数,返回多个值
>>> b
1
>>> c
2
>>> d
3
>>> x,y=1,2
>>> x
1
>>> y
2
>>> def my_fun(): #定义一个没有返回值的函数
print "this is my function" >>> a =my_fun()
this is my function
>>> a
>>> print a
None
>>> my_fun
<function my_fun at 0x0000000003BCF518>
>>> my_fun()
this is my function
>>> def my_fun():
print "before return"
return #遇到return,后面的操作不在执行
print "after return" >>> my_fun()
before return
>>>
函数文档
function.__doc__ 查看文档
help(function) 查看文档
最新文章
- easyui combotree的使用
- Perst常用命令
- AngularJS 指令(使浏览器认识自己定义的标签)
- Node.js建站笔记-使用react和react-router取代Backbone
- java web 学习八(HttpServletResponse对象2)
- Android -------- 用XmlPullParser解析器解析XML文件
- CREATE PROCEDURE
- Android开发5:布局管理器2(表格布局TableLayout)
- JAVA面向对象的多态性
- Objc生成搜索引擎查询字符串
- [M$]重装或更换主板后提示“由于指定产品密钥激活次数“ office 2016
- 外媒:比特币大陆将于9月IPO 规模或高达180亿美元
- Fantacy团队周一站立会议
- 【C#】详解C#事件
- 安装opencv2.4.9
- 2019寒假练题计划——LibreOJ刷题计划 &;《信息学奥赛一本通》提高版题目
- [置顶] Android系统移植与调试之------->;build.prop文件详细赏析
- spring 原理
- 细说Cookie(转)
- [javaSE] 基本数据类型对象包装类