Python基础篇(四)

  • 函数
    定义函数 使用def
def abc():
    print("定义函数")
abc()

形参函数定义中的变量,相当于理解上定义变量 实参函数调用中的变量 相当于实际输入的值

下例为位置实参的应用

def abc(a,b):
    print("我输出的是姓名  "+a+"  他的性别是  "+b)
abc("张三","男")
abc("女","李四")
输出
我输出的是姓名  张三  他的性别是  男
我输出的是姓名  女  他的性别是  李四  #函数调用时其顺序很重要

以上可在调用函数时加入关键字使调用正确

def abc(a,b):
    print("我输出的是姓名  "+a+"  他的性别是  "+b)
abc("张三","男")
abc(b="女",a="李四")
输出
我输出的是姓名  张三  他的性别是  男
我输出的是姓名  李四  他的性别是  女

可给形参指定默认值

def abc(a,b="男"):
    print("我输出的是姓名  "+a+"  他的性别是  "+b)
abc("王五")
abc("赵二","女")  #有传值时使用的是传值
输出
我输出的是姓名  王五  他的性别是  男
我输出的是姓名  赵二  他的性别是  女
  • 函数返回值

返回简单的值及使用if循环:

def abc(a,b,c=''):#定义c为空值
    if c: 
        name="姓名是  "+a+" "+b+" "+c
    else: #判断当没有c值时name的组成
        name="姓名是  "+a+" "+b    
    return name.title()  #返回name首字母大写
name = abc("James","Le","Bron")
print(name)
name = abc("Jobs","Steve")
print(name)
输出
姓名是  James Le Bron
姓名是  Jobs Steve

返回字典:

def abc(a,b,c):
    info = {'name':a,'sex':b,'age':c}
    return info
name_info=abc("王五","男","19")
print(name_info)
输出
{'name': '王五', 'sex': '男', 'age': '19'}

结合使用函数与while循环:

def get_formatted_name(first_name, last_name):#把名和姓结合的函数
    full_name = first_name + ' ' + last_name
    return full_name.title()
while True:# 这是一个无限循环!
    print("\nPlease tell me your name:")
    f_name = input("First name: ")
    l_name = input("Last name: ")
    formatted_name = get_formatted_name(f_name, l_name)
    print("\nHello, " + formatted_name + "!")
输出
Please tell me your name:
First name: jobs
Last name: steve

Hello, Jobs Steve!

  • 传递列表
def abc(a):
    print ("你好! "+a)
name_info=("王五","李四","张三")
for name in name_info:
    abc(name)
输出
你好! 王五
你好! 李四
你好! 张三

使用函数时修改列表
不使用函数代码如下:

a=["张三","李四","王五","赵二"]
d_a=[]
while a:
    d_name =a.pop()
    print(d_name+"签到成功!")
    d_a.append(d_name)
for d_name in d_a:
    print(d_name)
赵二签到成功!
王五签到成功!
李四签到成功!
张三签到成功!
赵二
王五
李四
张三

使用函数代码如下:

def qd(a,d_a):
    while a:
        d_name = a.pop()
        print(d_name+"签到成功!")
        d_a.append(d_name)
def dy(d_name):
    for d_name in d_a:
        print(d_name)
a=["张三","李四","王五","赵二"]
d_a=[]
qd(a,d_a)#qd(a[:],d_a),切片表示法[:] 创建列表的副本,可以不改变原来a表的数据
dy(d_a)

输出
赵二签到成功!
王五签到成功!
李四签到成功!
张三签到成功!
赵二
王五
李四
张三
  • 传递任意数量的实参
def foods(*food):#形参名*food 中的星号让Python创建一个名为food 的空元组,并将收到的所有值都封装到这个元组中。
    print("您点的菜为: ")
    for fd in food:
        print("- "+fd)
foods("小炒黄牛肉","佛跳墙","清蒸福建人")
输出
您点的菜为:
- 小炒黄牛肉
- 佛跳墙
- 清蒸福建人

结合使用位置形参与任意数量形参

def foods(Flavor,*food):
    print("您的口味是: "+Flavor+";"+"\n您点的菜为: ")
    for fd in food:
        print("- "+fd)
foods("重辣","小炒黄牛肉","佛跳墙","清蒸福建人")
输出
您的口味是: 重辣;
您点的菜为:
- 小炒黄牛肉
- 佛跳墙
- 清蒸福建人

结合使用关键字形参与任意数量形参

def pr_user(name,age,**info):#**info 中的两个星号让Python创建一个名为info 的空字典
    user={}
    user['user_name']=name
    user['user_age']=age
    for key,value in info.items():#注意此处遍历的是info,定义函数时使用的空字典
        user[key]=value
    return user
user_info=pr_user("王五","15",sex='男',Occupation='学生')
print(user_info)
输出
{'user_name': '王五', 'user_age': '15', 'sex': '男', 'Occupation': '学生'}
  • 存储函数在模块中
    我们定义的函数pr_user在hhh(文件名)模块中,调用时直接import,并且在函数前加上调用模块;
import hhh as h #给模块取别名
user_info=h.pr_user("王五","15",sex='男',Occupation='学生')
print(user_info)
输出
{'user_name': '王五', 'user_age': '15', 'sex': '男', 'Occupation': '学生'}

也可以导入任意的函数,并用 as给他指定别名;from hhh import ,加为导入所有函数

from module_name import function_0 as f0, function_1 as f1, function_2 as f2
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355

推荐阅读更多精彩内容