手机频道:为您提供一个绿色下载空间! 首页| 软件下载| 文章教程| 应用提交| 最新更新
当前位置:首页 > 手机资讯 > 攻略 > 异星工厂攻略发电攻略(异星工厂py攻略),

异星工厂攻略发电攻略(异星工厂py攻略),

来源:天空软件网 更新:2023-11-01

用手机看

扫描二维码随时看1.在手机上浏览
2.分享给你的微信好友或朋友圈

第34讲 函数(下)(和猫妹学Python)

小朋友们好,大朋友们好!

我们今天继续学习函数,今天要学习的内容如下:

返回值

变量的作用域

匿名函数(lambda)

返回值

在Python中,可以在函数体内使用return语句为函数指定返回值。

该返回值可以是任意类型,并且无论return语句出现在函数的什么位置,只要得到执行,都会直接结束函数的调用。

语法格式如下:

return

return:关键字

value:可选参数,用于指定要返回的值,可以返回一个值,可以返回多个值

我们通过几个小例子体验下。

猫妹的测试代码34.1.1.py:

def add(a,b):    return a+bdef sub(a,b):    return a-bdef mul(a,b):    return a*bdef div(a,b):    return a/bprint('请输入两个整数:')a=input('第一个数')b=input('第二个数')ret1=add(int(a),int(b))ret2=sub(int(a),int(b))ret3=mul(int(a),int(b))ret4=div(int(a),int(b))print(a+'+'+b+'='+str(ret1))print(a+'-'+b+'='+str(ret2))print(a+'*'+b+'='+str(ret3))print(a+'/'+b+'='+str(ret4))


猫妹的测试代码34.1.2.py:

def hero_detail(index):    tuple1=(    '天魁星 呼保义 宋江    ',    '天罡星 玉麒麟 卢俊义  ',    '天机星 智多星 吴用    ',    '天闲星 入云龙 公孙胜  ',    '天勇星 大刀 关胜      ',    '天雄星 豹子头 林冲    ',    '天猛星 霹雳火 秦明    ',    '天威星 双鞭 呼延灼    ',    '天英星 小李广 花荣    ',    '天贵星 小旋风 柴进    ',    '天富星 扑天雕 李应    ',    '天満星 美髯公 朱仝    ',    '天孤星 花和尚 鲁智深  ',    '天伤星 行者 武松      ',    '天立星 双枪将 董平    ',    '天捷星 没羽箭 张清    ',    '天暗星 青面兽 杨志    ',    '天佑星 金枪手 徐宁    ',    '天空星 急先锋 索超    ',    '天速星 神行太保 戴宗  ',    '天异星 赤发鬼 刘唐    ',    '天杀星 黑旋风 李逵    ',    '天微星 九纹龙 史进    ',    '天究星 没遮拦 穆弘    ',    '天退星 插翅虎 雷横    ',    '天寿星 混江龙 李俊    ',    '天剑星 立地太岁 阮小二',    '天平星 船火儿 张横    ',    '天罪星 短命二郎 阮小五',    '天损星 浪里白跳 张顺  ',    '天败星 活阎罗 阮小七  ',    '天牢星 病关索 杨雄    ',    '天慧星 拼命三郎 石秀  ',    '天暴星 两头蛇 解珍    ',    '天哭星 双尾蝎 解宝    ',    '天巧星 浪子 燕青      ',    '地魁星 神机军师 朱武  ',    '地煞星 镇三山 黄信    ',    '地勇星 病尉迟 孙立    ',    '地杰星 丑郡马 宣赞    ',    '地雄星 井木犴 郝思文  ',    '地威星 百胜将 韩滔    ',    '地英星 天目将 彭玘    ',    '地奇星 圣水将 单廷圭  ',    '地猛星 神火将 魏定国  ',    '地文星 圣手书生 萧让  ',    '地正星 铁面孔目 裴宣  ',    '地阔星 摩云金翅 欧鹏  ',    '地阖星 火眼狻猊 邓飞  ',    '地强星 锦毛虎 燕顺    ',    '地暗星 锦豹子 杨林    ',    '地轴星 轰天雷 凌振    ',    '地会星 神算子 蒋敬    ',    '地佐星 小温侯 吕方    ',    '地佑星 赛仁贵 郭盛    ',    '地灵星 神医 安道全    ',    '地兽星 紫髯伯 皇甫端  ',    '地微星 矮脚虎 王英    ',    '地慧星 一丈青 扈三娘  ',    '地暴星 丧门神 鲍旭    ',    '地然星 混世魔王 樊瑞  ',    '地猖星 毛头星 孔明    ',    '地狂星 独火星 孔亮    ',    '地飞星 八臂哪吒 项充  ',    '地走星 飞天大圣 李衮  ',    '地巧星 玉臂匠 金大坚  ',    '地明星 铁笛仙 马麟    ',    '地进星 出洞蛟 童威    ',    '地退星 翻江蜃 童猛    ',    '地满星 玉幡竿 孟康    ',    '地遂星 通臂猿 侯健    ',    '地周星 跳涧虎 陈达    ',    '地隐星 白花蛇 杨春    ',    '地异星 白面郎君 郑天寿',    '地理星 九尾亀 陶宗旺',    '地俊星 铁扇子 宋清',    '地乐星 铁叫子 乐和',    '地捷星 花项虎 龚旺',    '地速星 中箭虎 丁得孙',    '地镇星 小遮拦 穆春',    '地羁星 操刀鬼 曹正',    '地魔星 云里金刚 宋万',    '地妖星 摸着天 杜迁',    '地幽星 病大虫 薛永',    '地僻星 打虎将 李忠',    '地空星 小霸王 周通',    '地孤星 金钱豹子 汤隆',    '地全星 鬼脸儿 杜兴',    '地短星 出林龙 邹渊',    '地角星 独角龙 邹润',    '地囚星 旱地忽律 朱贵',    '地蔵星 笑面虎 朱富',    '地伏星 金眼彪 施恩',    '地平星 鉄臂膊 蔡福',    '地损星 一枝花 蔡庆',    '地奴星 催命判官 李立',    '地察星 青眼虎 李云',    '地悪星 没面目 焦挺',    '地丑星 石将军 石勇',    '地数星 小尉遅 孙新',    '地阴星 母大虫 顾大嫂',    '地刑星 菜园子 张青',    '地壮星 母夜叉 孙二娘',    '地劣星 活闪婆 王定六',    '地健星 険道神 郁保四',    '地耗星 白日鼠 白胜',    '地贼星 鼓上蚤 时迁',    '地狗星 金毛犬 段景住',    )    if index < 0 or index > 108:        print("输入参数错误")        return null    else:        return tuple1        #return tuple1<0:index-1>if __name__ == "__main__":    index=input('请输入水浒传的座次,查询详细信息,座位范围1~108:')    ret=hero_detail(int(index))    print(ret)


猫妹的测试代码34.1.3.py:

def buy_goods(price):    if 500 <= price <1000:        new_price = price*0.8    elif 1000 <= price <5000:        new_price = price*0.6    elif 5000 <= price:        new_price = price*0.5    else:        new_price = price    return price,new_priceif __name__ == "__main__":    price=input('购物节大促销,输入消费金额,查询打折价:')    ret=buy_goods(int(price))    print('原价',ret<0>)    print('促销价',ret<1>)

变量的作用域

变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,再访问时就会出现错误。

在程序中,一般根据变量的有效范围将变量分为全局变量和局部变量。

局部变量:在函数内部定义并使用的变量,只在函数内部有效。进入函数时,系统定义局部变量,退出函数时,局部变量被销毁。

外部如访问局部变量会报错,会报告NameError异常。

猫妹的测试代码34.2.1.py:

def variable_test():    a='hello world'    print('函数内部全局变量:',a)if __name__ == "__main__":    variable_test()    #会报错(NameError),函数外部无法访问局部变量    print('函数外部全局变量:',a)    


全局变量为能够作用域函数内部和外部的变量。

它主要有以下两种情况:

  • 定义在函数外部,函数内部和函数外部都可以访问。

猫妹的测试代码34.2.2.py

a='hello world'def variable_test():#函数内只访问全局变量不修改全局变量    print('函数内部全局变量:',a)if __name__ == "__main__":    variable_test()    print('函数外部全局变量:',a)


当局部变量和全局变量同名时,在函数内部更改全局变量会出现如下错误

UnboundLocalError: local variable 'a' referenced before assignment

猫妹的测试代码见34.2.3.py

a='hello world'def variable_test():#函数内既访问全局变量又修改全局变量    print('函数内部1:',a)    a='hello 猫妹'    #print('函数内部2:',a)if __name__ == "__main__":    variable_test()    print('函数外部全局变量:',a)


  • 在函数体定义,并且使用global关键字修饰后,该变量也就变为全局变量。

在函数体外也可以访问该变量,并且在函数体内还可以修改将其修改。

猫妹的测试代码见34.2.4.py

a='hello world'def variable_test():#函数内既访问全局变量又修改全局变量    global a    print('函数内部1:',a)    a='hello 猫妹'    print('函数内部2:',a)if __name__ == "__main__":    variable_test()    print('函数外部全局变量:',a)


尽管Python允许全局变量和局部变量同名,但是实际开发中,不建议这么做,因为容易让代码混乱。

很难分清哪些是全局变量,哪些是局部变量。

匿名函数(lambda)

匿名函数是指没有名字的函数,应用需要一个函数,但是又不想动脑筋去命名函数名字。

多数情况,这样的函数只使用一次。

Python中,使用lambda表达式创建匿名函数,格式如下:

result=lambda>:expression

result:用于调用lambda表达式

>:可选参数,用于指定要传递的参数列表,多个参数用逗号分割。

expression:必须参数,用于指定一个实现具体功能的表达式。如果有参数,那么在表达式中将应用这些参数。

注:参数可以有多个,但是表达式只能有一个,即只能返回一个值,也不能出现其他非表达式语句(for或while)

猫妹的测试代码34.3py:

def area_rect(width,height):    return width*heightif __name__ == "__main__":    width=4    height=6        a=area_rect(width,height)    print('使用函数调用的方式计算长方形的面积:',a)    result=lambda  width,height:width*height    print('使用lambda表达式计算长方形的面积:',result(width,height))


好了,今天的学习就到这里!

我们下次见!

猜你感兴趣

玩家评论

[!--temp.www_96kaifa_com_cy--]
Copy 2018 www.sky-xz.com. All Rights Reserved. 藏ICP备20000196号   
本站资源均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时撤销相应资源。