python学习笔记-04函数

很抱歉,我的笔记里没有记if判断,那个我觉得不是很难。不过判断和循环是基础里很重要的了,大家一定要多写多练掌握熟练哦。
前面的基础差不多看完啦,那么接下来看看自定义函数吧。
def 函数名():
括号中可以带参数
形参:定义函数的时候携带的变量,没有值,在调用的时候可以对该变量进行赋值
实参:调用函数的时候携带的值,实参可以是常量、变量、表达式、函数等没达标事故实参必须有确定的值
参数必须在调用函数的时候进行赋值,在函数内部进行赋值是无效的
函数支持多次调用,多次调用后输出每一次调用的结果。
参数的赋值允许不再填写形参,而是按照顺序直接填写实参
 
def  good_frends(a,b):
  print(f"my favorite frend is {a} and {b}")
good_frends('jen','bob')
这里传参就相当于是a=jen,b=bob
参数的赋值可以带上形参,这样不会让人不会混淆
def  good_frends(a,b):
  print(f"my favorite frend is {a} and {b}")
good_frends(a = 'Jen’,b = 'bob’)
 
在定义函数的时候,设置参数可以允许设置一个默认值,如果没有对该参数进行再次赋值,则使用默认值
 
def my_friends(a,b='lei'):
    print(f"my best friend is {a} and {b}")
my_friends(a='jen')
 
函数可以作为值赋给变量
 
def my_friend(first_name,last_name):
    full_name = f"{first_name}{last_name}"
    return full_name.title()
musician = my_friend(first_name='xiao',last_name='hong')
print(musician)
 
把函数赋值给变量后,也会调用该函数
当给函数设定一个空的默认参数的时候,该参数可以作为选填的参数,不对它进行赋值的时候该参数就是空
设置空的默认值可以用a = ‘ ‘也可以用a = None
函数中使用循环和判断:
 
#创建一个字典
def make_album(singer_name,album_name):
#定义一个字典
        album = {
            'singer':singer_name,
            'albums':album_name
        }
#返回这个字典
        return album
#定义一个死循环
while True:
            print(f"please tell me this album\n".title())
            print("if you click Q , the while is break")
#输入一个字符串作为singer_name参数
            singer_name = input(f"please input singer_name:\n")
#如果输入的内容等于Q则跳出循环
            if singer_name == 'Q':
                break
##输入一个字符串作为album_name的参数
            album_name = input(f"please input album_name:\n")
#如果输入的内容等于Q则跳出循环
            if album_name == 'Q':
                break
#将函数赋值给变量,然后调用该函数
make_albums = make_album(singer_name,album_name)
#打印结果
print(make_albums)
 
不带参数的函数返回的值是固定不变的,而带参数的函数返回值会随着参数变化而变化
函数以return作为结束,当运行到return的时候函数就结束了
可以将列表作为参数传递给函数
在不修改列表的前提下,在函数中操作列表,可以将切片作为参数传递给函数
 
#定义一个打印函数
def print_models(unprinted_designs,completed_models):
#定义一个死循环,当列表中没有元素的时候跳出循环
    while unprinted_designs:
#从后往前依次删除该列表中的元素
        current_design = unprinted_designs.pop()
        print(f"printing model : {current_design}")
#添加已删除的元素进入新的列表,并反转列表的排序
        completed_models.append(current_design)
        completed_models.reverse()
#定义一个展示函数,打印出该列表的元素
def show_completed_models(completed_models):
#定义一个循环,依次对completed_models中的元素进行循环
    for completed_model in completed_models:
#打印列表中的元素
        print(completed_model)
#定义形参的值
unprinted_designs = ['phone case','robot pendant','dodecachedron']
completed_models = []
#调用函数,将列表的切片作为参数进行传递,这样不会修改列表本身
print_models(unprinted_designs[:],completed_models)
show_completed_models(completed_models)
 
*arg可传递任意数量的位置实参
**arg可传递任意数量的关键词实参
这里的arg代表参数名字
posted @ 2021-12-25 23:05  Rookie_C  阅读(47)  评论(0编辑  收藏  举报