python学习笔记——基础篇(3):函数的定义
来源:互联网 发布:java创建日志文件 编辑:程序博客网 时间:2024/06/07 18:27
python学习笔记——基础篇(3):函数的定义
该系列用于记录自己学习python的过程。
前言
一个函数是实现一定功能的,可复用的代码块。函数可以实现编程的模块化,可以大大提高代码的复用性。
python内置了很多函数(built_in functions),如print, open, 同时,我们也可以自己定义函数。
自定义函数
用户自定义函数需要遵循以下规则:
- 函数定义以def开头,后面紧跟函数名,以及一个小括号。
- 所有输入参数都要放在这个小括号里面。
- 函数的第一行注释是可选的,他将作为该函数的说明文档。
- 代码块要以冒号开始,并有相对于def的缩进(四个空格)。
函数可以使用return返回一个表达式,也可以单纯表示函数结束。
语法
def functionname( parameters ): "function_docstring" function_suite return [expression]
函数的参数是有序的,输入参数需要和定义的参数列表顺序一致。
函数的调用
在函数定义可见的位置直接使用函数名调用。如下:
#!/usr/bin/python# Function definition is heredef printme( str ): "This prints a passed string into this function" print str return;# Now you can call printme functionprintme("I'm first call to user defined function!")printme("Again second call to the same function")
你应该看到如下输出:
I'm first call to user defined function!Again second call to the same function
传参形式,值 or 引用?
学习c++的programmer应该都知道,c++中参数传递分为值传递和引用传递两种形式,那么python的参数传递方式是哪一种呢?
事实上,python的参数传递是值传递和参数传递的一种综合,在参数是不可变对象(数字,字符,元组)时,相当于值传递,在参数是可变对象(列表,字典)时,相当于引用传递。
>>> def test(a): a=a+1; print "a:%d"% a;>>> a=10;>>> test(a)a:11>>> a10
上面向函数test中传入一个数,是一个不可变对象,相当于值传递。
>>> def test_list(l): l.append("test");>>> l=list();>>> l[]>>> test_list(l)>>> l['test']
这里向函数test_list传递了一个列表,是一个可变对象,相当于引用传递。
参考:
- learn python in a hard way
- python functions
0 0
- python学习笔记——基础篇(3):函数的定义
- Python学习笔记(一)——Python函数的定义和使用
- Python学习笔记——函数定义、调用
- 【Python】学习笔记——-3.2、定义函数
- 【Python学习笔记】定义函数
- python学习笔记 定义函数
- Python学习笔记(基础篇)_008_函数
- Python学习笔记【基础函数篇】
- Python基础学习篇—dir()函数
- Python学习笔记——常量定义
- Python的基础——Python学习笔记02
- Python—定义函数
- Python学习笔记 — 函数
- Python基础-函数-定义函数
- python笔记之函数的定义
- python笔记5--函数的参数定义
- Python基础入门—常用函数笔记
- python 学习笔记(五)函数--定义函数
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。时间复杂度都是O(1)
- 抛开 React 学习 React(2)
- 如何查看新买手机是否翻新机?
- Kaggle项目Digit Recognizer实现(一):三层卷积神经网络
- 编译完android源码并且已经make sdk之后,重启不能调用emulator命令解决方案
- python学习笔记——基础篇(3):函数的定义
- java的重载、覆盖和隐藏的区别
- HTTP 中 GET 与 POST 的区别
- 《浅谈架构之路:前后端分离模式》
- 在Activity里调用Service中的方法以及MediaPlay类的使用
- R之路---包的安装,R的使用环境
- 音视频常用api
- Apache POI使用详解
- 思维导图理论知识相关