[python基础理论]python学习笔记3

来源:互联网 发布:php判断是否为空 编辑:程序博客网 时间:2024/05/20 15:57

了解以下知识点:

1.函数写法

2.函数的调用方式

3.空函数

4.包含默认参数的函数

5.可变参数的函数


->1.函数写法

①通过def定义函数名,通过return返回结果,如果没有return,返回值为None。

as: def my_abs(x):
if x>=0:
return x
else:
return -x

可以返回多个数据,其实内部将这多个数据转变成一个tuple进行返回


->2.函数的调用方式

①调用和函数体在一个.py中,直接使用  函数名(参数列表)  的方式

②调用和函数图不在一个.py中,此时有两种方式可以调用

as:此处我定义了一个名为my_abs的函数,并在hanshu.py中进行定义。在study.py中,调用my_abs函数

from hanshu import *

a = int(input('please input num:'))
print(my_abs(a))   ……输入为-5时输出结果为5


as:另一种方式为

import hanshu

a = int(input('please input num:'))
print(hanshu.my_abs(a))    ……输入为-5时输出结果为5


->3. 空函数:什么都不做的函数

as:if age>=18:

pass


->4.包含默认参数的函数

将默认参数放在参数列表的最右端

as: def pow(a,n=2)

注意:默认参数要防止默认值的修改

as:def add_end(L=[]):
  L.append('END')
  return L

调用print(add_end())   ……['END']

再上述的基础上,再调用print(add_end())   ……['END','END']

Python函数在定义的时候,默认参数L的值就被计算出来了,即[],因为默认参数L也是一个变量,它指向对象[],每次调用该函数,如果改变了L的内容,则下次调用时,默认参数的内容就变了,不再是函数定义时的[]了。
所以,定义默认参数要牢记一点:默认参数必须指向不变对象

上述的程序可以修改成:

def add_end(L=None):
if L is None:
L = []
L.append('END')
return L


->5.可变参数的函数:解决list/tuple作为参数传入

①定义函数时可变参数前添加*,表示是可变的参数

②参数调用时在该实参前添加*

as:

def calc(*numbers):
sum=0
for n in numbers:
sum = sum+n
return sum

调用方式:

nums=[1,2,3]
print(calc(*nums))






原创粉丝点击