电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python自定義函數(shù)def的應用詳解

瀏覽:14日期:2022-07-23 09:31:11

這里是三歲,來和大家嘮嘮自定義函數(shù),這一個神奇的東西,帶大家白話玩轉(zhuǎn)自定義函數(shù)

自定義函數(shù),編程里面的精髓!

def

自定義函數(shù)的必要函數(shù):def

使用方法:

def 函數(shù)名(參數(shù)1,參數(shù)2,參數(shù)…): 函數(shù)體(語句塊) return [返回值]

注意事項

函數(shù)名的命名規(guī)則:和標識符的基本規(guī)則是一樣的,基本上由小寫字母和數(shù)字下劃線構成 def 是關鍵字,不能夠修改(define的簡稱) 函數(shù)后面一定要加括號(英文狀態(tài)的)括號里面是否加參數(shù)看具體情況 括號后面的冒號不能夠忘記 函數(shù)體必須加上縮進(建議4個空格)

案例分析

def hello(): #自定義hello()函數(shù) print(’hello world !’) hello() # 調(diào)用函數(shù)hello world ! # 輸出結果

該處是定義了一個輸出‘hello world !’的函數(shù),只要調(diào)用hello()即可實現(xiàn)對函數(shù)體的調(diào)用。

來個復雜點的練練手,感受一下磨刀霍霍向木蘭

def add(x, y): # 新建add() return x+yadd(3, 7) # 調(diào)用add()運行ing輸出none

啊累累!啊累累!啊累累!我寫了個bug還是寫了一個寂寞?

哦哦哦!我建了一個房子沒有留門(淚目)沒有輸出怎么能夠有結果?

print(add(3, 7))print(add(’hello ’, ’world’))#運行結果10hello world

作死挑戰(zhàn)

記得每一次調(diào)用函數(shù)都加了 ()那么不加括號的是什么東西?

難道就是傳說中的寫了個寂寞還是什么東西?

讓我們一起來作死看看

print(hello) # 調(diào)用helloprint(add) # 調(diào)用add結果:<function hello at 0x0000020213737048><function add at 0x0000020213737678>

哇哦!他真的可以有經(jīng)過查詢他顯示的是這個函數(shù)的內(nèi)存地址,而不是這個函數(shù)的結果什么的,函數(shù)并沒有被調(diào)用

溫馨提示 調(diào)用函數(shù)一定要在函數(shù)名后面加上括號

函數(shù)參數(shù)

自定義函數(shù)的參數(shù),分為幾大類:

位置傳參 關鍵字傳參 必選參數(shù) 默認參數(shù) 可變參數(shù) ……

形參與實參

白話時間:(個人理解基礎的表達,如有不同之處請指教提出)形參:就是參數(shù)名稱,一個沒有被賦值的變量名,不會實際的參與函數(shù)的運算,而是起到一個類似占位符的作用。

實參:實際參加函數(shù)運算的值,已經(jīng)賦值給了相對應的變量名。

ps:以上基于個人理解,本非準確表達,在個人理解基礎上的白話表達

位置參數(shù)

位置參數(shù)就是按照參數(shù)的位置進行表達和相對應的

python自定義函數(shù)def的應用詳解

參數(shù)寫的位置決定了它所對應的值,這種寫法如果有多個參數(shù)必須注意,寫錯位置整個函數(shù)有可能會報錯,整個程序有可能會奔潰!!!

關鍵字參數(shù)

關鍵字參數(shù)雖然寫法較為麻煩但是很好的解決了多個參數(shù)因為位置錯誤導致的函數(shù)報錯及程序不穩(wěn)定問題

python自定義函數(shù)def的應用詳解

通過定義的參數(shù)名稱來確定對應參數(shù)的值,可以有效的解決問題

例:print() 里面除了經(jīng)常用的輸出內(nèi)容還有end參數(shù)end參數(shù)默認是‘n’,如果通過關鍵字參數(shù)進行重新定義就可以改變

for i in range(10): print(i)

結果:0123456789

for i in range(10): print(i,end= ’ ’)

結果:0 1 2 3 4 5 6 7 8 9

默認參數(shù)

在函數(shù)涉及過程中很多參數(shù)不一定所有人一定用的上,可以設置一個默認值,這樣子需要的人可以DIY,沒有需要的就采用默認參數(shù)比如print()中 end 就是默認參數(shù)默認值為‘n’

def add(x=0, y=0): return x+yprint(add())結果:0

必選參數(shù)

必選參數(shù)就是必須要寫的參數(shù),這個與默認參數(shù)相對,不是默認參數(shù)就是必選參數(shù),如果沒有對必選參數(shù)進行導入就會引發(fā)報錯,導致系統(tǒng)函數(shù)奔潰

def add(x, y): # 新建add() return x+y print(add())Traceback (most recent call last): print(add())TypeError: add() missing 2 required positional arguments: ’x’ and ’y’

這個就是缺少x,y參數(shù)導致的異常。所有在使用函數(shù)及自定義時要注意必選參數(shù)的設置

可變參數(shù)

可變參數(shù)這個名字比較高大上,但是實際上很簡單比如要寫一個多個數(shù)字相加的函數(shù)怎么辦呢?直接寫?

def add(x, y): # 新建add() return x+y

那如果是3個值呢?會應為多了一個參數(shù)報錯那么就改成三個參數(shù)?

def add(x, y, z): # 新建add() return x+y+z

問題來了如果是2個值那么就會報錯缺一個參數(shù),如果是4個及以上就會報錯,多了參數(shù)啊啊啊啊啊啊啊啊啊!只是什么東西,難度python一世英名就毀在這里了嘛?

不不不!神奇的事情發(fā)生了

def 函數(shù)名(參數(shù)1,參數(shù)2,參數(shù)…,*可變參數(shù)): 函數(shù)體(語句塊) 返回值

emmm,奇怪的知識增長了

def add(x, *y): for num in y: x += num return xprint(add(2,3,4))結果9

ps:*y 所產(chǎn)生的是一個tuple(元組)我們需要先逐個遍歷才能夠拿到每一個的結果。

可變關鍵字參數(shù)

如果有多個關鍵字參數(shù)或者字典的導入使用 *參數(shù)名 無法滿足怎么辦難道python一世英名就這樣子栽了嗎?不不不一個 * 不行那么就來兩個 **

def personinfo(name, age, **message): print(f’name:{name},age:{age},{message}’)personinfo(’張三’, 23, message = {’city’:’北京’, ’heigh’: 180})結果:name:張三,age:23,{’message’: {’city’: ’北京’, ’heigh’: 180}}

在里面得到的結果是一個字典,看例子可以知道得到了一個鑲嵌的字典

參數(shù)問題解答參數(shù)的書寫要求:① 必選參數(shù)寫在最前面②默認參數(shù)寫在必選參數(shù)后面③默認參數(shù)后面是關鍵字參數(shù)④關鍵字后面是*函數(shù)名(可變參數(shù))⑤后面跟著可變關鍵字參數(shù)(**函數(shù)名)

ps:按照該順序走,沒有的可以不寫

def a(x , y=0, *z, **i): print(f’x:{x};y:{y};z:{z};i’)

以上就是舉例子,命名方式不符合規(guī)定,不要借鑒不安以上方式可能出現(xiàn)各種奇怪的情況

到此這篇關于python自定義函數(shù)def的應用詳解的文章就介紹到這了,更多相關python自定義函數(shù)def內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 苗木价格-苗木批发-沭阳苗木基地-沭阳花木-长之鸿园林苗木场 | 自动螺旋上料机厂家价格-斗式提升机定制-螺杆绞龙输送机-杰凯上料机 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 防爆鼓风机-全风-宏丰鼓风机-上海梁瑾机电设备有限公司 | 苏州柯瑞德货架-仓库自动化改造解决方案 | 南京泽朗生物科技有限公司 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | 沈阳楼承板_彩钢板_压型钢板厂家-辽宁中盛绿建钢品股份有限公司 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | 整合营销推广|营销网络推广公司|石家庄网站优化推广公司|智营销 好物生环保网、环保论坛 - 环保人的学习交流平台 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 山东风淋室_201/304不锈钢风淋室净化设备厂家-盛之源风淋室厂家 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 分子蒸馏设备(短程分子蒸馏装置)_上海达丰仪器 | 环氧树脂地坪漆_济宁市新天地漆业有限公司 | 仿真植物|仿真树|仿真花|假树|植物墙 - 广州天昆仿真植物有限公司 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 防爆电机_ybx3系列电机_河南省南洋防爆电机有限公司 | 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 油液红外光谱仪-油液监测系统-燃油嗅探仪-上海冉超光电科技有限公司 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 微型气象仪_气象传感器_防爆气象传感器-天合传感器大全 | 标准品网_标准品信息网_【中检计量】| 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 |