(14)python函数与变量

1.函数介绍:

编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有相应的结果(输出)。编程语言中的函数有输入,不一定会返回结果。

编程语言中的函数其实就是一个用于完成某个特定功能的相关代码的代码段 。

编程语言中的函数的作用就是实现代码的可重用性,提高代码可维护性、扩展性和可读性。

2.Python中定义函数的语法:

def 函数名称( 参数 ):
    """
    函数使用说明、参数介绍等文档信息
    """
    代码块
    return [表达式]

实例:

def func1():  ‘‘‘testing‘‘‘    print(‘in the func1‘),    return 0

3.函数的调用

def func2(x,y,z):
    print(x)
    print(y)
    print(z)
test(1,2,3)       

4.函数参数说明

①形参:即形式参数,函数定义时指定的可以接受的参数即为形参,比如上面定义的add(a, b)函数中的a和b就是形参;

②实参:即实际参数,调用函数时传递给函数参数的实际值即为实参,比如上面都用add(1, 9)函数中的1和9就是实参;

③位置参数:顾名思义是和参数的顺序位置和数量有关的。函数调用时,实参的位置和个数要与形参对应,不然会报错。

例:两个位置参数

def func3(name, age):
    print(‘NAME: %s‘ % name)
    print(‘AGE: %d‘ % age)
func3(‘peng‘,25)      #正确调用
func3(25,‘peng‘)      #错误调用
func3(‘peng‘,26,27)   #参数数量错误

④默认参数

def func4(name, age=20):
    print(‘NAME: %s‘ % name)
    print(‘AGE: %d‘ % age)

func4(‘peng‘)     #正确调用:有默认参数,调用函数的时候,默认函数非必须传递
func4(‘peng‘,25)  #正确调用,age取新值
func4(30)         #注意:此时值传给了name,并非传给age

⑤可变长参数

可变(长)参数:顾名思义,是指长度可以改变的参数。通俗点来讲就是,可以传任意个参数(包括0个)。

可变(长)参数的应用场景:通常在写一个需要对外提供服务的方法时,为了避免将来添加或减少什么新的参数使得所有调用该方法的代码点都要进行修改的情况发生,此时就可以用一个可变长的形式参数。

#*args:接收n个位置参数,转换成元组方式

def func5(*args):
print(args)
func5(1,2,3,4,5,5)
func5(*[1,2,4,5,6]) #args=tuple([1,2,4,5,6])

def func6(x,*args):
    print(x)
    print(args)
func6(1,2,3,4,5,6,7,8,9)

⑥关键字参数

顾名思义,是指调用函数时通过关键字来指定是为哪个形参指定的实参,如name="Tom", age=10,x=6等等

def func7(x,y,z):
    print(x)
    print(y)
    print(z)
func7(1,2,3)        #正确调用:与形参一一对应
func7(y=2,x=3,z=5)  #正确调用:与关键字参数顺序无关
func7(1,3,y=3)      #报错:positional argument follows keyword argument
func7(1,y=3,6)      #报错:positional argument follows keyword argument
func7(1,x=3,y=6)    #报错:func7() got multiple values for argument ‘x‘
func7(1,z=3,y=6)    #正确调用
func7(z=3,y=6,7)    #报错:positional argument follows keyword argument

⑦n个关键字参数

#**kwargs:把多个关键参数转化为字典的方式
def func8(**kwargs):
    print(kwargs)          #返回:{‘age‘: 18, ‘name‘: ‘peng‘, ‘sex‘: ‘F‘}
    print(kwargs[‘name‘])
    print(kwargs[‘age‘])
    print(kwargs[‘sex‘])
func8(name =‘peng‘,age =18,sex =‘F‘)

def func9(name,**kwargs):
    print(name)
    print(kwargs)         #返回:{‘age‘: 18, ‘sex‘: ‘F‘}
func9(‘peng‘,age=18,sex=‘F‘)
时间: 2024-12-20 17:29:44

(14)python函数与变量的相关文章

python 函数及变量作用域及装饰器decorator @详解

一.函数及变量的作用 在python程序中,函数都会创建一个新的作用域,又称为命名空间,当函数遇到变量时,Python就会到该函数的命名空间来寻找变量,因为Python一切都是对象,而在命名空间中,都是以字典形式存在着,这些变量名,函数名都是索引,而值就是,对应的变量值和函数内存地址.在python中可以用globals()查看全局变量,locals()局部变量. >>> global_v = '全局变量' >>> def func(): ... local_v = '

Python 函数内变量的作用域

参考文献: Python程序中创建.改变.查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域. 全局作用域(global):即在模块层次中定义的变量,每一个模块都是一个全局作用域.也就是说,在模块文件顶层声明的变量具有全局作用域,从外部开来,模块的全局变量就是一个模块对象的属性. 全局变量可以在函数内部访问,不能修改,修改想要修改可以用globa来装饰变量 注意:全局作用域的作用范围仅限于单个模块文件内. >>> x = 1 #定义一个变量 >&g

14.python函数

原文:https://www.cnblogs.com/linhaifeng/articles/6113086.html 1.python中函数定义:函数是逻辑结构化和过程化的一种编程方法. python中函数定义方法: def test(x): "The function definitions" x+=1 return x def:定义函数的关键字 test:函数名 ():内可定义形参 "":文档描述(非必要,但是强烈建议为你的函数添加描述信息) x+=1:泛指代

Python函数,参数,变量

func1.py def sayHello(): print ('hello world') sayHello() func_parm.py def printMax(a,b): if a>b: print (a,'is maximum') else: print (b,'is maximum') printMax(3,4) x=5 y=7 printMax(x,y) func_local.py def func(x): print ('x is',x) x=2 print ('changed

python 函数变量查找顺序

python 函数变量的查找顺序:优先级为: 局部---> 全局---> 如果仍没找到,将引发NameError错误. #!/usr/bin/env python #coding:utf-8 #@Author:Andy # Date: 2017/6/14 money = 1000 def tell_info(name): print("%s have %d " % (name, money)) def fun(): money = 10 tell_info('egon')

python main函数中变量默认为global variable

在python的main函数中的变量默认为全局变量,而其他的def函数中的变量则默认为局部变量. 当然,局部变量会优先于全局变量,在执行formal_print(t_global)语句时便可看出. 测试代码如下: <span style="font-size:18px;">#coding=utf-8 #测试python的全局变量,局部变量的机制 def formal_print(s_global):#常规的传参用法,传递参数进行print,变量名可任意 print &quo

Python函数中的变量和函数返回值

1.函数的变量 局部变量和全局变量: Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量. def fun(): x=100 print x fun() x = 100 def fun(): global x   //声明 x +=1 print x fun() print x 外部变量被改: x = 100 de

写一个函数,识别字符串是否符合python语法的变量名

2018年01月05日 09:07:19 阅读数:115 # 写一个函数,识别字符串是否符合python语法的变量名 # 导入关键字 import keyword key_word = keyword.kwlist def python_grammar(num): # 判断输入的空字符 if num == "": print("不符合python命名规则") return count = 0 while count < len(num): # 判断字符串的所有

Python函数中的变量和函数返回值的使用实例

1.函数的变量 局部变量和全局变量: Python中的任何变量都有特定的作用域 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量. def fun(): x=100 print x fun() x = 100 def fun(): global x //声明 x +=1 print x fun() print x 外部变量被改: x = 100 def