Python基础学习-6:自定义函数

  • A+
所属分类:python基础入门

一、函数的定义:

Python基础学习-6:自定义函数

  • def:含义是创建函数,即define,定义的意思;后接函数名称+圆括号+冒号;

  • arg:参数;参数可有可无,可有多个;还可以给参数指定默认值,调用时,可不传入有默认值的参数;

  • 函数体:Python靠tab键识别函数语句的,缩进是为了表明语句和逻辑的从属关系,所以,必须有缩进,系统会默认有缩进;

  • return:选择性地返回一个值给调用方;没有return的相当于返回None。

二、参数传递:

在Python中,变量是没有类型的,它仅仅是一个指针,保存着对象所存放的内存地址,所以同一个变量可以是任何类型。Python的每个对象都分为可变和不可变,主要核心类型中,string、tuples和numbers是不可更改的对象,而list、dict等则是可以修改的对象。

  • 不可变类型:对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创建的对象;如果没有其他变量引用原有对象的话,原有对象就会被回收。

  • 可变类型:例如变量list1=[1,2,3,4],改变list1[2]的值,此时,它的id没有发生改变,只是其内部的一部分值被修改了。

Python基础学习-6:自定义函数

不可变类型,如整数、字符串、元组,在传递参数时,传递的只是值中,并不影响对象本身。比如在func1(a)内部修改a的值,只是修改另一个复制的对象,并不会影响a本身:

Python基础学习-6:自定义函数

可变类型,如列表、字典。如func1(list1),则是将list1对象地址传递过去,修改后的func1外部的list1也会受影响;

Python基础学习-6:自定义函数

Python中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

三、参数:

调用函数时,可使用的正式参数类型有:必备参数,关键字参数,默认参数,不定长参数。

  • 必备参数:必须以正确的顺序传入函数,调用时的数量必须和声明时的一样,不然会出现语法错误;

  • 关键字参数:允许函数调用时参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值。

  • 缺省参数:调用函数时,缺省参数的值如果没有传入,则被认为是默认值。

  • 不定长参数:比当初声明时更多的参数,这些参数叫做不定长参数。

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: