第8章 函式

2021-09-25 03:15:56 字數 1963 閱讀 7198

#位置實參,關鍵字是參》預設值,,注意順序,把已經有預設值的放在最後   

#*topping這個可以接收任何實參,一般放形參最後,它是個空元組,當作列表一樣就行

def pet(name,size='27'):#預設值

print(name+' '+size)

n=input('please get me a name:')

s=input('give ma a size:')

pet(size='25',name='dog')#關鍵字

pet(n,s)

pet(n,s)

#【dog 25

# dog 30

# dog 27】

#主要是這裡用預設值把middle變成可選的,且用if來應變多種情況

def get_name(first,last,middle=' '):

if middle:

full_name=first+''+middle+''+last

else:

full_name=first+''+last

print(full_name)

f=input('please get me a first name:')

l=input('please get me a last name:')

m=input('please get a middle name:')

get_name(f,l,m)

#返回字典,只需用乙個返回return,把字典返回出來就行

def zidian(k,v):

dictionary[k]='v'

return dictionary

dictionary={}#建立空字典

key=input('please get me k:')

value=input('please get me y:')

a=zidian(key,value)#函式把字典放回給了a

print(a)

#有用的就是盡量讓user想退出時退出

while true:

print("when you enter 'q',it will end")

name=input('get me you name :') #先輸再判斷

if name=='q':

print('end')

break

last=input('get me a last :')

if last=='q':

print('end')

break

print('\n'+name+' '+last+'\n')

#傳遞列表,列表作引數可以直接傳遞

def greet(names):

for name in names:

print('hello,'+name)

users=['libai','dufu','wo']

greet(users)

#用切片[:]建立副本,輸出兩個列表時,中間不用連線號即+『』+

names=

name=['libai','dufu','wo']

def carry(n):

for c in n:

carry(name[:])

print(names,name)

'''匯入模組【檔案】有3種第一種是設 檔案.py 1 和 99

然後【直接用函式名呼叫】,注意檔案1和99必須在同乙個目錄,且都是.py檔案

第一:全部匯入:impot 99 , 在檔案 1 中呼叫其中函式是格式: 99.+函式名(引數),注意有沒有return,或print

第二:匯入特定函式:from 99 import 加函式名1,函式名2,函式名3

第三:匯入所有函式:from 99 import*

as可以給模組命名:impor 99 as p,呼叫是用p就行'''

第8章 函式

定義函式,注意書寫格式 向函式傳遞資訊 實參和形參 傳遞實參 位置實參,注意順序 關鍵字實參,名稱和值對應,寫在函式裡,務必準確指定函式定義的形參名 預設值混合使用時,注意格式,讓實參變成可選的,新增預設值,並且放在形參列表最後 切片法 建立列表副本 星號建立空元組,傳遞任意數量的實參 結合使用位置...

第8章 函式探索

第8章 函式探索 8.1c 內聯函式 1 常規函式的執行過程 執行到函式呼叫指令時,程式將在函式呼叫後立即儲存該指令的記憶體位址,並將函式的引數複製 到堆疊 為此保留的記憶體塊 跳到標記函式起點的記憶體單元,執行函式 也許還將返回值 放入到暫存器中 然後跳回到位址被儲存的指令處。2 內聯函式 1 執...

第6章 函式 第8題

題目 輸入乙個金額,用100 50 20 10 5 1進行換算。不一定是這幾張面額 而且這幾張面額的數量也可以有限制。為了簡化問題,這裡選取了人民幣的面額,以及預設每種面額都沒有數量限制 1.貪心演算法 輸入乙個金額,用100 50 20 10 5 1進行換算 include using names...