matlab调用python函数未定义函数类_从零学习Python—调用函数def用法(下)
我們先來看看def和字典的用法吧:
def ranks(name, number): ranks = {'name': name, 'rank': number}print(ranks)name = input('what is your name ')number = input('how much is ranked ')ranks(name, number)代碼及結(jié)果如上圖所示,寫的比較簡單,應(yīng)該沒有什么地方要解釋的。
咱們在上面的例子上再加上一行代碼,就可以玩一年了:
while True:def ranks(name, number): ranks = {'name': name, 'rank': number}print(ranks) name = input('what is your name ') number = input('how much is ranked ') ranks(name, number)這樣就進(jìn)入了while 循環(huán)中,我們填入姓名和排名,就能打印出相應(yīng)的字典了。如果要退出循環(huán),就要用到break語句了,
while True:def ranks(name, number): ranks = {'name': name, 'rank': number}print(ranks) name = input('what is your name ')if name == 'q':print('exit')break number = input('how much is ranked ') ranks(name, number)這么我們使用了if+break的用法,代碼及結(jié)果如上圖所示,都算是些常用的用法,知道用法后,要靈活運(yùn)用。
咱們再來看看def和列表的一些例子,看看它們是怎么一塊使用的:
def user(names):for name in names:print(name)user_names = ['av','bv','cv']user(user_names)這是一個(gè)簡單的def和列表的運(yùn)用,如果要得到結(jié)果,其實(shí)直接給出一個(gè)列表,用for循環(huán)會(huì)更簡單,但調(diào)用函數(shù)def在下次要打印user()會(huì)更方便,也有利于代碼的維護(hù)。
講到這,大家會(huì)不會(huì)有個(gè)疑問:我也不知道我的的調(diào)用函數(shù)里的形參寫多少好,不能一一對應(yīng),到時(shí)代碼會(huì)報(bào)錯(cuò)啊。
我反正是有這個(gè)疑問的,畢竟我后面想用到它,但是形參我只寫了一個(gè),而我實(shí)參卻有兩個(gè),咱們來看看這個(gè)錯(cuò)誤代碼:
咱們主要看它報(bào)的錯(cuò),這個(gè)也是學(xué)習(xí)的一個(gè)能力,畢竟人人都會(huì)犯錯(cuò),要學(xué)會(huì)快速的解決問題。
TypeError: names() takes 1 positional argument but 2 were given
大致就是說只有一個(gè)形參,卻給了2個(gè)實(shí)參。
好了,不賣乖了,這時(shí)我們可以用到‘*’來解決,還是上面的例子:
def names(*name):print(name)names('av','bv')咱們只是在形參前面加了一個(gè)星號(hào),就可以解決這個(gè)問題了,不管調(diào)用語句提供了多少實(shí)參,這個(gè)形參都將它們統(tǒng)統(tǒng)收入囊中,要記住哦。
講到這,我們在多學(xué)一點(diǎn),雖然 *形參可以囊括所有的實(shí)參,但在python中,先匹配位置實(shí)參和關(guān)鍵字實(shí)參,再將余下的實(shí)參都收集到最后一個(gè)形參中。 咱們還是看例子:
def name_number(name,*numbers):print(name)for number in numbers:print(number)name_number('av',1,2,3,4)這里我們特意用了字符串加數(shù)字以供區(qū)分,總那言之,就是在默認(rèn)情況下,按順序?qū)?yīng),其它多的實(shí)參全都儲(chǔ)在了 *形參中。
好了,今天就到這了,大家多多練習(xí)吧。
總結(jié)
以上是生活随笔為你收集整理的matlab调用python函数未定义函数类_从零学习Python—调用函数def用法(下)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: case when的判断顺序_CASE
- 下一篇: 哨兵机器人钢力士_哨兵胳膊都被卸了?巴西