Python基础——函数

函数
函数定义:

关键字 函数名(形参):
   函数体
函数名(实参)

def print_mes(message):    #定义函数
    print(message)       

print_mes("曲阜师范大学")  #调用函数

输出:
曲阜师范大学

参数传递三情况:
  1. 位置实参:根据前后顺序,一个实参对应函数相应位置形参
def print_mes(name, sex):         #定义函数
    print("%s %s" %(name, sex))

print_mes("小明", "男")           #位置实参调用函数

小明对应name,男对应sex 
输出:小明 男 
  1. 关键字实参:无需考虑参数位置,函数调用时使用直接给形参赋值
def print_mes(name, sex):         #定义函数
    print("%s %s" %(name, sex))

print_mes(sex="女", name="小红")   #关键字实参调用函数,调用时形参赋值

输出:小红 女
  1. 默认值形参:定义函数时给形参赋默认值,函数调用时,无此实参,则按默认值;有此实参,则按相应实参

注意: 将默认值形参放在参数最后

def print_mes(name, sex="男"):         #定义函数,使用默认值形参
    print("%s %s" %(name, sex))

print_mes("小明")
print_mes("小红", "女")

输出:
小明 男
小红 女

函数返回值:
  1. 实参可选:多次函数调用提供的实参数可能不同,考虑将某些实参默认值设为空字符串,根据不同参数灵活使用
def people(name, sex, language=''):          #实参可选定义函数
    return ("%s %s %s" %(name, sex, language))

mess1 = people("小华", "男")                       #不提供language实参
print(mess1)

mess2 = people("小莉", "女", "C++")                #提供language实参
print(mess2)

输出:
小华 男 
小莉 女 C++
  1. 可以返回列表、字典等数据结构

参数传递高级应用:
  1. 传递数字参数时,在函数内修改数字,函数外不起作用
  2. 传递列表参数时,在函数内修改列表,函数外起作用,可以将列表给予切片复制[ : ]
def ceshi(num):      #数字参数
    num = 1

list = 0
ceshi(list)

print(list)

输出:0
def ceshi(num):     #列表参数
    del num [0]

list = [1,2,3]
ceshi(list)

print(list)

输出:[2, 3]
  1. 传递任意数量的实参:
表示方法作用
* 形参产生空元组,接收任意多实参
** 形参产生空字典,接收任意多键值对
def people(name, *language):    #接收任意多实参,放入元组language中
    print(name)
    for lan in language:
        print("%s" %lan)

people("小明", "C", "C++", "python")

输出:
小明
C
C++
python
def people(name, **xinxi):     #接收任意多键值对,放入字典xinxi中
    print(name)
    for k,v in xinxi.items():
        print("%s: %s" %(k,v))

people("小明", 语言="C++", 国籍="中国")   #注意键值对的写法

输出:
小明
语言: C++
国籍: 中国

封装函数:
  1. 导入整个模块:import 模块名
    调用函数:模块名.函数名()

  2. 导入模块中某函数:from 模块名 import 函数名
    调用函数:函数名()

  3. 导入函数中所有模块: from 模块名 import 函数名
    调用函数:函数名()

  4. 模块/函数别名:as

约定规则:函数名只能是小写字母+下划线;形参默认值等号左右无空格


小应用:

输入姓名,性别,年龄。当输入“q”时程序终止
输出:“姓名,性别,年龄”,年龄可能保密,没有输入

def print_xinxi(name, sex, age=''):
    return ("Hello,%s,%s,%s" %(name, sex, age))

while True:
    print("\n请告诉我你的信息:")
    print("输入q退出程序")

    name = input("姓名;")
    if name == 'q':
        break
    sex = input("性别:")
    if sex == 'q':
        break
    age = input("年龄:")
    if age == 'q':
        break
    message = print_xinxi(name, sex, age)
    print(message)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值