函数简介,函数参数

一、函数(function)
1、函数简介
(1)函数也是一个对象,对象是内存中专门用来存储数据的一块区域。
(2)函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行多次调用
2、创建函数:
(1)def 函数名 ([形参1,形参2,…形参n]):
代码块
函数名必须要符合标识符的规范(可以包含字母、数字、下划线,但是不能用数字开头)
(2)函数中保存的代码不会立即执行,需要调用函数代码才会执行
3、调用函数
(1) fn是函数对象,fn()调用函数
print是函数对象,print()调用函数

# 定义一个函数
def fn() :
    print('这是我的第一个函数!')

# 打印fn
# print(fn)   <function fn at 0x0000025FD1511E18>
# print(type(fn))  <class 'function'>

# fn是函数对象,fn()调用函数
# print是函数对象,print()调用函数

# 调用函数
fn()

4、定义函数 — 一般都是要实现某种功能的
二、函数的参数
1、在定义函数时,可以在函数名后的()中定义数量不等是形参,多个形参之间使用,隔开
2、形参(形式参数),定义形参就相当于在函数内部声明了变量,但是并不赋值
3、实参(实际参数)
①如果函数定义时,指定了形参,那么在调用函数时也必须传递实参,实参将会赋值给对应的形参,简单来说,有几个形参就得传几个实参。
②函数在调用时,解析器不会检查实参的类型,实参可以传递任意的类型对象

# 实参可以传递任意类型的对象
def fn(a) :
    print ('a=',a)
b=123
b=True
b='hello'
b=None
b=[1,2,3]
fn(b)

4、定义一个函数
(1)定义形参时,可以为形参指定默认值
指定默认值以后,如果用户传递了参数则默认值没有任何作用
如果用户没有传递,则默认值就会生效

def fn(a,b,c=20)
    print ('a=',a)
    print ('b=',b)
    print ('c=',c)
fn(1,2,3)    # a=1  b=2  c=3
fn(1,2)      # a=1  b=2  c=20

5、参数的传递方式
(1)位置参数
①位置参数就是将对应位置的参数赋值给对用位置的形参
②第一个实参赋值给第一个形参,第二个实参赋值给第二个形参…
(2)关键字参数
①关键字参数可以不按照形参定义的顺序去传递,而是直根据参数名去传递参数
位置参数和关键字参数可以混合使用,混合使用时,必须将位置参数写到前面

# 定义函数时指定形参
def fn( a , b ) :
    print ('a =',a)
    print ('b =',b)
    print (a,'+',b,'=',a+b)

# 调用函数时,来传递实参
fn(10,20)    

6、值的传递

def fn(a) :
    # 在函数中对形参进行重新赋值,不会影响其他的变量
    # 如果形参执行的是一个对象,当我们通过形参去修改对象时
    #  会影响到所有指向该对象的变量
    a[0] = 30     # 改变量
    print ('a =',a )
c = 10
c = [1,2,3]    # a和c是同一个对象(改对象)

fn(c)
fn(c.copy())    # 传递的是副本,二者不是同一个对象
print('c=',c)

练习题
1、定义一个函数,可以用来求任意三个数的乘积

 def fn(a,b,c):
     print (a,'*',b,'*',c,'=',a*b*c)
 fn(1,2,3)
 2、根据不同的用户名显示不同的欢迎信息
def welcome (username) :
    print ('欢迎',username,'光临')
welcome ('肖战')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值