本文目錄一覽:
- 1、python怎麼用class定義的類
- 2、python裡面怎麼調用class
- 3、對python 中class與變數的使用方法詳解
- 4、Python中class和def的理解
- 5、怎樣使用Python 的「CLASS」?
- 6、python 類裡面的class是什麼意思啊?求
python怎麼用class定義的類
這裡有個二叉樹的例子
class TreeNode(object):
def __init__(self,data = 0,left = 0,right = 0):
self.data = data
self.left = left
self.right = right
class BTree(object):
“””docstring for BTree”””
def __init__(self, root=0):
self.root = root
def is_empty(self):
if self.root is 0:
return True
else:
return False
def preOrder(self,treenode):
if treenode is 0:
return
print(treenode.data,end = ‘,’)
self.preOrder(treenode.left)
self.preOrder(treenode.right)
def inOrder(self,trennode):
if trennode is 0:
return
self.inOrder(trennode.left)
print(trennode.data,end = ‘,’)
self.inOrder(trennode.right)
def postOrder(self,treenode):
if treenode is 0:
return
self.postOrder(treenode.left)
self.postOrder(treenode.right)
print(treenode.data,end = ‘,’)
def count_BiTNode(self,treenode):
if treenode is None:
return 0
else:
return (1 + self.count_BiTNode(treenode.left) + self.count_BiTNode(treenode.right))
n1 = TreeNode(data =1)
n2 = TreeNode(2,left = n1,right = 0)
n3 = TreeNode(3)
n4 = TreeNode(4)
n5 = TreeNode(5,n3,n4)
n6 = TreeNode(6,n2,n5)
n7 = TreeNode(7,n6,0)
n8 = TreeNode(data = 8)
root = TreeNode(‘root’,n7,n8)
bt = BTree(root)
print(“先序遍歷:”)
print(bt.preOrder(bt.root))
print(“中序遍歷:”)
print(bt.inOrder(bt.root))
print(“後序遍歷:”)
print(bt.postOrder(bt.root))
print(bt.count_BiTNode(bt.root))
python裡面怎麼調用class
以下代碼調試通過:
class LuciaClass: # 定義類
def luciaprint(self, text): # 類裡面的方法
print(‘\n’, text) # 方法就是輸出 text
x = LuciaClass() # 方法的實例 x
x.luciaprint(‘today is a bad day ~~~’) # 實例調用類方法
運行效果:
對python 中class與變數的使用方法詳解
python中的變數定義是很靈活的,很容易搞混淆,特別是對於class的變數的定義,如何定義使用類里的變數是我們維護代碼和保證代碼穩定性的關鍵。
枚舉了各種情況,沒有辦法全部枚舉,但大部分情況應該都已經包含了。
1. 類變數:能夠通過類名或者object的self來訪問到,在類的內部和外部均可達,比如class_var_1
2. 對象變數:可以通過對象的self來使用的變數,通過constructor一路走向去的的self初次被賦值的變數都會成為對象變數,比如object_var_1, object_var_2, object_var_3, object_var_4
3. 內部變數:可以在函數中定義,並加上self前綴,在初次調用過定義的函數後,就可以在後面的對象的函數中被使用,比如internal_var_1
4. 局部變數:在函數內部定義,並使用的變數,在使用完之後就會被回收對類及object不可見
5. 全局變數:定義在類或者函數外部,作用域在變數被定義之後的任意代碼段,比如:global_var_1
Python中class和def的理解
class: 是一個面向對象的類,用來描述具有相同的屬性和方法的對象的集合,類可以起到模版的作用, 所以在創建實例的時候,可以將我們認為必要的屬性填寫進去,方法__init__ 第一個參數是self,在方法內部
self表示創建實例本身 ,所以就可以把各種屬性綁定到self
參數實例化後,類下的所有方法,都可以調用實例參數,格式,self.參數名,實例如下
調用: 在類中定義函數,類和函數都可作為一個模塊保存。要調用類或函數只需要import這個類或函數所在模塊名稱就可以了。在一個模塊當然可以訪問另外一個模塊的類。
怎樣使用Python 的「CLASS」?
class就是類定義。就是把數據及其上的操作封裝的單元。支持面向對象的語言都有這個概念。比如c++,java之類的。下面是我隨手敲的例子:
IDLE 2.6.5 ==== No Subprocess ====
class Point:
def __init__(self,x,y):
self.x=x
self.y=y
def getX(self):
return self.x
def getY(self):
return self.y
p=Point(1,2)
p
__main__.Point instance at 0x97df54c
p.getX()
1
p.getY()
2
python 類裡面的class是什麼意思啊?求
python這方面很靈活。其實java也一樣允許這樣子。你幾乎可以在任何情況下做任何事情。
通常class Meta可以放在外面。不過,這樣它就不能直接訪問父類的一些屬性了。
所以在python里class 如果放在另一個class 裡面,通常並不是為了隱藏這個class,並不是讓別人看不到它。而因為它需要父類里的一些屬性。需要共享。
另外直接在類里定義的一些變數,比如queryset,也是屬於類全局級的。只要引用了這個類,即使沒有初始化,這些變數也已經實例化。這個有些象是java里static的全局定義結果。
我們通常用這個方法來在不同的函數變數間共享 一部分數據。同時又不需要初始化一個實例並用指針指向這一部分數據。而是通過類名直接引用。
比如下面的一個用法
class Config:
pass
Config.user_name=”xxx”
Config.password=”yyyy”
這樣。只要你在當前模塊里,通過Config就可以引用到user_name和password,而不需要global這個修飾符。
原創文章,作者:GVQWD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324755.html