Python函数
来源:互联网 发布:陕西师范远程网络教育 编辑:程序博客网 时间:2024/05/22 10:23
1、函数定义与调用
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
语法:
def functionname( parameters ): "函数_文档字符串" function_suite return [expression]例如:
# 定义函数def printme(str): "打印任何传入的字符串" print(str) return# 调用函数printme("调用用户自定义函数")输出结果:
调用用户自定义函数2、参数传递
在Python中,类型属于对象,变量是没有类型的,她仅仅是一个对象的引用(一个指针)。例如:
a = [1, 2, 3]a = "Runoob"以上代码中,[1,2,3]是List类型,"Runoob"是String类型,而变量a是没有类型,她仅仅是一个对象的引用(一个指针),可以是List类型对象,也可以指向String类型对象。
Python中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
在Python中,strings、tuples(元组)和numbers是不可更改的对象,而list和dict等则是可以修改的对象。
传不可变对象实例:
def ChangeInt(a): a = 10b = 2ChangeInt(b)print(b)输出结果:
2实例中有int对象2,指向它的变量是b,在传递给ChangeInt函数时,按传值的方式复制了变量b,a和b都指向了同一个Int对象,在a=10时,则新生成一个int值对象10,并让a指向它。
传可变对象实例:
def ChangeList(list): list.append(40)list = [10, 20, 30]print(list)ChangeList(list)print(list)输出结果:
[10, 20, 30][10, 20, 30, 40]3、参数
以下是调用函数时可使用的正式参数类型:必备参数、关键字参数、默认参数和不定长参数。
必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。不然会出现语法错误。
例如:
def printme(str): print(str)printme("aaa")输出结果:
aaa关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值。例如:
def printme(name, age): print(name) print(age)printme(age=18, name="Diana")输出结果:
Diana18调用函数时,缺省参数的值如果没有传入,则被认为是默认值。例如:
def printme(name, age = 0): print(name) print(age)printme(name="Jerry")输出结果:
Jerry0你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。基本语法如下:
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]加了星号(*)的变量名会存放所有未命名的变量参数。例如:
def printme(arg1, *vartuple): print(arg1) for var in vartuple: print(var)printme(10);printme(70, 60, 50);输出结果:
107060504、匿名函数
Python使用lambda来创建匿名函数。
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression例如:
sum = lambda a, b: a + bprint(sum(10, 20))输出结果:
305、return语句
return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。例如:
def sum(a, b): total = a + b return totaltotal = sum(10, 20)print(total)输出结果:
305、全局变量和局部变量
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。
阅读全文
0 0
- python函数
- python 函数
- python 函数
- Python 函数
- python 函数
- PYTHON函数
- python 函数
- Python函数
- python 函数
- Python 函数
- Python 函数
- Python 函数
- python函数
- python函数
- python 函数
- Python 函数
- Python函数
- Python函数
- 一款好看的文本框点击效果
- Java Json字符串格式化
- ios view改变重叠层次关系
- Vue2.0 从环境搭建到发布(新手完全填坑攻略)
- oracle表空间使用率统计查询
- Python函数
- JVM堆内存设置
- Java时间格式转换大全
- COJ 1003: UC Browser
- 第四场个人训练赛
- linux 一些基本文件操作
- java中unicode utf-8以及汉字之间的转换工具类
- 计算机组成学习笔记1.1
- 学习笔记20170704