python函数学习与变量作用域
2017-09-14 18:33
645 查看
学习函数
规则:
函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
任何入参数和自变量必须放在圆括号里,圆括号之间可以用于定义参数
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
语法:
def 函数名称(参数):
函数体
调用:
函数名称()
示例:
def hello() : print("Hello World!") hello() Hello World!
复杂点的带参函数:
# 计算面积函数 def area(width, height): return width * height def print_welcome(name): print("Welcome", name) print_welcome("Runoob") w = 4 h = 5 print("width =", w, " height =", h, " area =", area(w, h))
输出结果:
Welcome Runoob width = 4 height = 5 area = 20参数传递
可改变的和不可改变的对象
在python中 String,int,tuples和numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变 对象
参数
必须参数必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。 调用一个函数,你必须传入一个参数,不然会出现语法错误 关键参数 关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。 使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。 默认参数 调用函数时,如果没有传递参数,则会使用默认参数。
不定长参数
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名
语法
def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression]加了星号(*)的变量名会存放所有未命名的变量参数。如果在函数调用时没有指定参数,它就是一个空元组。我们也可以不向函数传递未命名的变量。如下实例:#!/usr/bin/python3# 可写函数说明def printinfo( arg1, *vartuple ):"打印任何传入的参数"print ("输出: ")print (arg1)for var in vartuple:print (var)return;# 调用printinfo 函数printinfo( 10 );printinfo( 70, 60, 50 );以上实例输出结果:输出:10输出:706050
相关文章推荐
- python学习笔记11(函数二): 参数的传递、变量的作用域
- python学习笔记三:函数及变量作用域
- Python学习(21):Python函数(5):变量作用域与闭包
- iOS开发学习笔记 2-6 C语言部分 函数及变量的作用域
- python 中模块(model)概念的引入 以及 函数变量的作用域
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数
- Coffee script 学习笔记I --函数及变量作用域
- 笨方法学习Python-习题19: 函数和变量
- JavaScript学习记录day6-函数变量作用域、解构赋值与方法
- C语言学习笔记【函数】函数调用与变量的作用域
- Python新手学习基础之函数-全局变量和局部变量
- python 函数 本地变量 函数的命名空间 变量的作用域
- 谭子python学习笔记--函数定义及作用域
- Python模块中的变量和函数的作用域
- python 学习笔记-变量作用域
- 【学习笔记六】 - js中 创建对象的模式与继承 及 js中实现块级作用域和函数私有变量 《js高程》6-7笔记
- Python学习笔记-1(变量、类型、函数、类、作用域)
- (原创)c#学习笔记06--函数02--变量的作用域02--参数和返回值与全局数据
- Python函数参数传递以及变量作用域
- Python学习之私有函数、私有变量