python绘图时的分解问题的步骤-零基础学python-15.2 分解函数
這一章節我們來說說函數的一些主要概念
我們以一小段代碼為例:
>>> def test():
pass
>>>
1. def是可執行的代碼
>>> test()
>>>
我們調用test方法,盡管什么都沒有,但是test已經執行了
2.def創建了一個對象并將其賦值給某一變量
其實python將pass這個代碼封裝成一個對象,然后賦值給test這個變量,主要調用這個變量有些特殊,需要加上小括號
3. lambda創建一個對象但將其作為結果返回(暫時不懂lambda,無法解釋)
4.return將一個結果返回給調用者
>>> def test():
return "這是一個測試方法"
>>> test()
"這是一個測試方法"
>>>
5.yield向調用者發回一個結果對象,但是記住它離開的地方(暫時不懂yield,無法解釋)
6. global聲明了一個模塊級別的變量并且被賦值
我們把下面的代碼保存為test.py文件,
def test():
global x
x=1
print(x)
b=2
print(b)
test()
x=50
print(x)
print(b)
然后運行,得出下面結果:
>>> ================================ RESTART ================================
>>>
1
2
50
Traceback (most recent call last):
File "C:/Python34/test.py", line 10, in
print(b)
NameError: name "b" is not defined
>>>
從異常來看,找不到b這個變量,但是我們在回頭看代碼,x也是這樣的定義,但是x卻存在,而b就不存在,所以global定義的變量是模塊級別的,整個模塊都可以使用
7.nonlocal聲明將要賦值的一個封閉的函數變量(暫時不懂nonlocal,無法解釋)
8.函數通過賦值(對象引用)傳遞
>>> def test(x):
print(type(x))
print(id(x))
print(x)
>>> test(1)
505991632
1
>>>
9.參數、返回值以及變量并不需要聲明
我們從上面的方法也可以看見,對于參數、返回值、變量我們都沒有做出聲明,都是運行的時候有python自己決定
10.函數需要注意的地方:
當函數運行之后,因為他已經在內存里面,我們可以隨意增加他的屬性
>>> def test():
name="ray"
>>> test()
>>> test.name="lee"
>>> print(test.name)
lee
>>> test.mind="123"
>>> print(test.mind)
123
>>>
因為本人學java出身,所以個人不建議這樣使用
總結:這一章節主要說明函數的一些重要概念以及需要注意的地方
這一章節就說到這里,謝謝大家
------------------------------------------------------------------
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
總結
以上是生活随笔為你收集整理的python绘图时的分解问题的步骤-零基础学python-15.2 分解函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: outlook怎么更改设置(如何更改ou
- 下一篇: python图片保存_python读取和