1. 程式人生 > 實用技巧 >new String("abc"),到底在不在常量池中儲存"abc"?

new String("abc"),到底在不在常量池中儲存"abc"?

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
    return
fx,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)