0723函数

函数

引子

求和:

def sumall(a,b):
    sum=0
    for i in range(a,b):
        sum+=i
    print(sum)
def sum_of(a,b):
    result=0
    for i in range(a,b):
        result +=i
    return result
sumall(1,15)
print(sum_of(1,15))

函数的定义

声明函数的一般形式:

def funtion_name(agr1,arg2,…,argn):

‘’’ statements’’’

fun_statements

return Value

函数的调用

函数的文档说明

函数参数

  • 不传递参数
  • 参数函数
    • 顺序

函数返回值

函数参数种类

形参和实参

  • 形参和实参
    • 形参
      • 只有在调用时才分配内存单元,调用结束后,即释放所分配的内存单元,因此形参只在函数内部有效,函数调用结束返回主调用函数后紫萼不能再使用该形参变量

关键字参数

def user_manage(name,age,job,hobby="Trip"):
    print("用户管理系统".center(16,'-'))
    print('\tName:\t',name)
    print('\tAge:\t',age)
    print('\tJob:\t', job)
    print('\tHobby:\t', hobby)
    print("用户管理系统".center(16, '-'))
user_manage('david',21,'xiha')

​ 默认值参数,关键字参数,必须放置于位置参数之后

不定参数

在python中不定参数主要是指*args和- **kwargs两个魔法变量

他们俩主要是用于函数定义,我们可以将不定数量的参数传递给一个函数

  • args 用来接收 任意非键值对的任意数量的

    • 传递形式(,,,)

    • 传递进来的参数将以元组的形式存储

      # def uncertain_para(para,*agrs):
      #     print('普通位置参数:',para)
      #     print('不定参数',agrs)
      #     print(type(agrs))
      # uncertain_para('s',1,23,4)
  • **kwags

    • 传递形式(a=1,b=2,c=3)

    • 传递进来的参数以字典形式存储

def un_para_key(**kwargs):
    print(kwargs)
    print(type(kwargs))
un_para_key(a=1,b=2,c=3)

函数引用

函数属性

函数属性是python中另外一个使用了句点属性标识并拥有名字空间的领域

内嵌函数

作用域

bar() 整个函数都处于外部foo()函数的作用域里(foo()使我们可以从外部访问的一个对象区域)。除了在foo()内部,其他地方无法对bar()进行调用。

作用域的类型

python中,使用一个变量时并不要求需要预先声明他,但在真正使用的时候,它必须绑定到某个内存对象(被定义赋值),这种变量名的绑定将在当前作用域引入新变量,同时屏蔽外层作用域中的同名变量。

搜索作用域的优先级:局部作用域>嵌套作用域>全局作用域>内置作用域

个变量时并不要求需要预先声明他,但在真正使用的时候,它必须绑定到某个内存对象(被定义赋值),这种变量名的绑定将在当前作用域引入新变量,同时屏蔽外层作用域中的同名变量。

搜索作用域的优先级:局部作用域>嵌套作用域>全局作用域>内置作用域

全局变量和局部变量

局部变量:包含在def关键字定义的语句块中,即在函数中定义的变量。每当函数被调用时都会创建一个新的局部作用域。Python中也有递归,即自己调用自己,每次调用都会创建一个新的局部命名空间。在函数内部的变量声明,除非特别的声明为全局变量,否则均默认为局部变量。有些情况需要在函数内部定义全局变量,这时可以使用global关键字来声明变量的作用域为全局。局部变量域就像一个 栈,仅仅是暂时的存在,依赖创建该局部作用域的函数是否处于活动的状态。所以,一般建议尽量少定义全局变量,因为全局变量在模块文件运行的过程中会一直存在,占用内存空间。
注意:如果需要在函数内部对全局变量赋值,需要在函数内部通过global语句声明该变量为全局变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值