python 中的包、模塊、類具體、方法名。package,,,,,

說模塊太遙遠了。
來個簡單的。
新建一個python文件func.py
內容如下

def myprint(x):
print x

再新建一個python文件1.py
內容如下:
import func
func.myprint("ok")

1.py這個文件 import 了func這個文件,然後通過func.myprint調用了func中的函數

Ⅱ python中如何定義類

一、類定義:

class <類名>:

<語句>

類實例化後,可以使用其屬性,實際上,創建一個類之後,可以通過類名訪問其屬性

如果直接使用類名修改其屬性,那麼將直接影響到已經實例化的對象

類的私有屬性:

__private_attrs兩個下劃線開頭,聲明該屬性為私有,不能在類地外部被使用或直接訪問

在類內部的方法中使用時self.__private_attrs

類的方法

在類地內部,使用def關鍵字可以為類定義一個方法,與一般函數定義不同,類方法必須包含參數self,且為第一個參數

私有的類方法

__private_method兩個下劃線開頭,聲明該方法為私有方法,不能在類地外部調用

在類的內部調用slef.__private_methods

類的專有方法:

__init__構造函數,在生成對象時調用

__del__析構函數,釋放對象時使用

__repr__列印,轉換

__setitem__按照索引賦值

__getitem__按照索引獲取值

__len__獲得長度

__cmp__比較運算

__call__函數調用

__add__加運算

__sub__減運算

__mul__乘運算

__div__除運算

__mod__求余運算

__pow__稱方

示例:

[python]view plain

  • #類定義

  • classpeople:

Ⅲ python 報錯 類名沒有被定義

python引用xxx.py文件如果使用語句"import xxx",那麼對於此文件中的a類,要用xxx.a表示。如果想直接使用,需要用"from xxx import a"特別引用xxx模塊中的a類,或者"from xxx import *"引用xxx模塊中一切可被引用的東西。
比如你這里要寫成 b = czhhbp.OthelloState(),或者用from導入法省略模塊名

Ⅳ python創建一個和類名相同名字的方法,代碼如下;

綁定方法(即類似於java的成員方法),TEXT.TEXT,後面是對象地址。
你應該調用:
a.TEXT(),而不是像你這樣寫

Ⅳ python設計一個名為point的類

classPoint(object):
def__init__(self,x=0,y=0):
self._x=x
self._y=y
@property
defx(self):
returnself._x
@x.setter
defx(self,value):
self._x=value
@property
defy(self):
returnself._y
@y.setter
defy(self,value):
self._y=value
defdistance(p1,p2):
return((p1.x-p2.x)**2+(p1.y-p2.y)**2)**0.5
defisnearby(self,p):
return((self.x-p2.x)**2+(self.y-p2.y)**2)**0.5
def__str__(self):
return'('+str(self.x)+','+str(self.y)+')'

#測試
p1=Point()#不寫x,y默認為
print(str(p1))
print(p1.x,p1.y)
p1.x=3
p1.y=4
print(str(p1))
p2=Point(4,5)
print(Point.distance(p1,p2))#p1,p2兩點間距離
print(p1.isnearby(p2))#p1到p2的距離

Ⅵ python 類的定義

首先初始化時確定是否接收一個parent參數(這個參數名沒什麼意義,想怎麼取怎麼取)
如果沒有在這個Icon類初始化的時候同時給參數,那麼parent就為None,因為繼承了QtGui.QWidget類,所以在初始化的時候,先調用QtGui.QWidget.__init__(self, parent)這個QtGui.QWidget的初始化方法,這個parent參數是QtGui.QWidget需要的吧

Ⅶ 測試人員學python時,應該如何區分函數的類名和方法

1. 相同點復: 都是封裝代碼的整體, 都是實制現某個功能的小工具
2. 不同點:
① 定義的位置不同
函數定義在類的外部
方法定義在類的內部
② 參數不同
函數沒有self參數
方法有self參數
③ 調用的方式不同
函數名(參數)
對象名.方法名(參數)
在傳智播客學python時期也遇到過這個問題。後來就解決了。

Ⅷ Python 的類的下劃線命名有什麼不同

首先是單下劃線開頭,這個被常用於模塊中,在一個模塊中以單下劃線開頭的變數和函數被默認當作內部函數,如果使用 from a_mole
import * 導入時,這部分變數和函數不會被導入。不過值得注意的是,如果使用 import a_mole 這樣導入模塊,仍然可以用
a_mole._some_var 這樣的形式訪問到這樣的對象。

在 Python
的官方推薦的代碼樣式中,還有一種單下劃線結尾的樣式,這在解析時並沒有特別的含義,但通常用於和 Python
關鍵詞區分開來,比如如果我們需要一個變數叫做 class,但 class 是 Python 的關鍵詞,就可以以單下劃線結尾寫作 class_。


下劃線開頭的命名形式在 Python 的類成員中使用表示名字改編 (Name Mangling),即如果有一 Test 類里有一成員
__x,那麼 dir(Test) 時會看到 _Test__x 而非
__x。這是為了避免該成員的名稱與子類中的名稱沖突。但要注意這要求該名稱末尾沒有下劃線。

雙下劃線開頭雙下劃線結尾的是一些
Python 的「魔術」對象,如類成員的 __init__、__del__、__add__、__getitem__ 等,以及全局的
__file__、__name__ 等。 Python 官方推薦永遠不要將這樣的命名方式應用於自己的變數或函數,而是按照文檔說明來使用。

另外單下劃線開頭還有一種一般不會用到的情況在於使用一個 C 編寫的擴展庫有時會用下劃線開頭命名,然後使用一個去掉下劃線的 Python 模塊進行包裝。如 struct 這個模塊實際上是 C 模塊 _struct 的一個 Python 包裝。

更多關於命名的內容可以參考 PEP 8 《代碼風格指南》的 Name Conventions 一節:http://www.python.org/dev/peps/pep-0008/

需要說明的是,由於這份文檔看起來經過多次修改,雙下劃線開頭的用法似乎曾經如 @makestory 所說,建議為類的私有成員,至少啄木鳥社區的 PEP 8 譯文是這樣寫的,但 PEP 8 當前的官方版本中並沒有體現。