new String("abc"),到底在不在常量池中儲存"abc"?
阿新 • • 發佈:2020-08-05
1、關於返回值
def funcname(parameter_list) pass
return value 返回的是函式處理後的結果;如果沒有return 語句,python 預設返回的是None
2、python是解釋性語言
先呼叫再定義,會報錯
得先定義再呼叫才行,這就是解釋性語言的特點
3、python 執行順序分析
4、返回結果的接收:儘量使用序列解包,不要用list tuple 這種 利用下標來取出返回結果。因為前者看著有意義,但是後者看著無意義。
#coding=utf8 def test(x,y): fx = x*3 fy = y*3+10 returnfx,fy #序列解包 outx,outy = test(1,3) print(outx,outy)
5、函式的引數
(1)通用引數,實參、形參(用得最多)
(2)關鍵字引數(還沒用過)。指定x = 3,y=2,傳遞的時候,不需要按照傳遞順序賦值
#coding=utf-8 def myprint (x,y): print(x,y) myprint(y = 2,x = 3) # Project/python_ToolCodes/test5.py" # (3, 2)
(3)預設引數
def add(x,y=2): print(x,y) add(5) # Project/python_ToolCodes/test5.py"# (5, 2)
坑1:預設值在非預設前面,不管怎麼使用都是報錯的。所有預設引數必須在非預設引數的後面
def add(x=2,y): print(x,y) add(5) # Project/python_ToolCodes/test5.py" # File "/Users/anson/Documents/Project/python_ToolCodes/test5.py", line 15 # def add(x=2,y): # SyntaxError: non-default argument follows default argument
def add(x=2,y):print(x,y) add(y = 5) # File "/Users/anson/Documents/Project/python_ToolCodes/test5.py", line 25 # def add(x=2,y): # SyntaxError: non-default argument follows default argument
def add(x=2,y): print(x,y) add(3,5) # File "/Users/anson/Documents/Project/python_ToolCodes/test5.py", line 25 # def add(x=2,y): # SyntaxError: non-default argument follows default argument
坑2: 多個預設引數,修改其中一個預設引數,不按照順序填滿所有引數,就得指定修改的預設引數
要修改z的值,填滿y的值
def add (x,y=2,z=3): print(x,y,z) add (1,2,4)
指定修改的預設引數
def add (x,y=2,z=3): print(x,y,z) add (1,z =4)