Python基础 6 函数(一)

一  函数介绍

如果在开发程序时,需要多次调用某一部分代码,但是为了提高代码的编写效率以及代码的重用,所以把具有独立功能的代码组织为一个小模块,这就是函数

二函数的定义及调用

你可以定义一个由自己想要功能的函数,以下是简单的规则:

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

函数内容以冒号起始,并且缩进。

return [表达式] 结束函数,不带表达式的return相当于返回 None。

'''

def   函数名称

函数体

'''

扫描二维码关注公众号,回复: 4801462 查看本文章

注意事项

函数的命名要遵循标识符的命名规则,使用下划线命名法

函数体都是靠强缩进来表示的

函数只有在调用的时候才会执行,之创建不调用是不会执行的

调用格式

def  函数名

#建立一个say_hello 函数
def say_hello():
    print('hello python')
    print('hello yjs')
    print('hello java')

#调用函数
say_hello()
print('程序结束了')


结果:
hello python
hello yjs
hello java
程序结束了

注意事项

1函数只有先创建,后调用

2一般情况下,不要将调用函数放到函数体里面

3函数可以多次调用

函数的注释

在函数体的第一行使用多行注释,对函数的功能进行解释说明

调用函数的时候,可以使用ctrl+q  可以查看函数的的解释说明,从而了解函数的功能

def say_hello():
    """
    这是一个打招呼的方法
    你好世界,你好云计算 你好java
    """
    print('hello python')
    print('hello yjs')
    print('hello java')

say_hello()

3 带参数的函数

需求   定义一个求和参数

def sum_num():
    num1 = 10
    num2 = 20
    num3 = num1 + num2
    print(num3)

sum_num()

这个函数只能求出10+20的值,扩展性不高

函数的参数

格式如下

def 函数名称(参数1,参数2,.....)
...函数体...

说明:

1注意小括号里面的变量名就是函数的参数,多个参数使用逗号“,”隔开

2函数调用几个参数,调用函数的时候,就必须传递对应参数的个数

3 当以的参数,叫他形参--->形式参数

   调用函数的时候的参数叫做实参   --->实际参数

def sum_num(aa,bb):        #aa    bb   叫做形参
    num1 = aa
    num2 = bb
    num3 = num1 +num2
    print(num3)


# 调用函数
sum_num(5,6)               #  5  6   叫做实参
sum_num()   报错因为没有传递实参

函数参数的类型

不可变类型参数:整数、字符串、元组。

fun(a) 内部修改a的值,只是修改另一个复制的对象,不会影响a本身

可变类型:列表,字典。

如fun(la),则是将la真正的传过去,修改后的fun外部的la也会受到影响

不可变数据类型
a = 10000
print('a标量的id值--->',id(a))
def num(b):
    print(b)              # a和b的地址相同,因此值也是相同的
    b = 200
    print('修改后的b的id值--->', id(b))
    print(b)
num(a)
'''
a标量的id值---> 7459696
10000
修改后的b的id值---> 490814384
200
'''
可变数据类型
print('outter_list',outter_list,id(outter_list))

def func(inter_list):
    print('inter_list',inter_list,id(inter_list))

    inter_list.append(4)
    print(inter_list)

func(outter_list)  #传递的是一个地址,所以才会变

print(outter_list)
"""
st [1, 2, 3] 12221320
inter_list [1, 2, 3] 12221320
[1, 2, 3, 4]
[1, 2, 3, 4]

"""

函数的返回值

格式

def 函数名(参数1,参数2,..........)

return 值

注意  1 在函数体的最后一个使用,关键字return 要返回的值

         2 如果一个函数没有返回值,默认返回None

         3 return有两个作用,一个是返回值,另一个是结束函数,可以结束整个方法

def sum_num(aa,bb):
    num3 = aa+bb
    print(id(num3))

ret = sum_num(1,2)     #定义一个变量ret,来接受函数的返回值,赋值给变量
print(ret,id(ret))

拿到返回值后可以进行逻辑操作
例如:
if ret < 10:
    pass
else:
    pass
def func(c):
    print('func...')
    a = 10
    b = c
    if b < a:
        return   #可以结束整个方法
    print('zzz')
    print('xxxx')
func(11)
print('程序结束了')

结果:
func...
zzz
xxxx
程序结束了

返回None

返回None
def func():
    print('func....')
ret = func()
print(ret)
结果  func....
        None

返回多个值

格式
def fun():
    a = '10'
    b = '20'
    return a,b   
ret = fun()
print(ret)    #多个值被组织成一个元组返回   
                因为可以用多个变量来接受元组中的内容  因此
num1,num2 = fun()
print(num1,num2,type(num1),type(num2))

结果:
('10', '20')
10 20 <class 'str'> <class 'str'>

注意:

1如果函数不写返回值,默认返回值None

2 return关键字有两个作用,一个是返回内容,另一个是结束此方法

3 return关键字后面不允许在写代码

猜你喜欢

转载自blog.csdn.net/weixin_44303465/article/details/85677225