python的static class method and member
定義static class member就寫在類開頭就可以了。定義static class method要用到staticmethod還有classmethod。現在感覺又有什麼地方需要用到這個呢?
關於static class member,本來以為比較簡單了。剛才寫了一個程式來看看具體的行為,發覺還是有些不太明白的地方:
class C(object):
s = 0
def __init__(self):
self.ns = 1
def p(self):
print 's:', C.s #a
print 's:', self.s #b
c1 = C()
c2 = C()
print C.s
print c1.s
print c2.s
C.s = 1 #0
print C.s
print c1.s
print c2.s
c1.s = 2 #1
c2.s = 3 #2
c1.p()
c2.p()
print C.s
print c1.s
print c2.s
輸出是:
0
0
0
1
1
1
s: 1
s: 2
s: 1
s: 3
1
2
3
1
看現象是直接用類名加屬性是可以修改類全域性,而用例項去修改只是修改了一個拷貝。而在類裡用self去引用,得到也是那個“區域性”的,用類名加屬性才得到我想要的東西。
而具體是為什麼呢?暫時不清楚,問題先記著這裡吧。哪天再回頭來研究。好了,別卡在這裡了,繼續。
相關推薦
python的static class method and member
定義static class member就寫在類開頭就可以了。定義static class method要用到staticmethod還有classmethod。現在感覺又有什麼地方需要用到這個呢? 關於static class member,本來以為比較簡單了。剛才寫了
C++ class with pointer member(s)
get space 大致 gif 還需要 -a lin 清理 string 類 正如標題所示:這篇復習帶有指針類型成員的class 考慮到會有以下操作,來設計類 1 { 2 String s1(); 3 String s2("hello"); 4
TypeError: type class 'method' not supported
在寫python程式碼時,如果執行出現TypeError: type <class 'method'> not supported ,其表述的意思應該是:你的程式碼中使用了python的某個函式,但是你的函式寫錯了。寫錯了是什麼意思呢?比如,少加
Java local variables initialize and member initialize
1. In the case of a method’s local variables, if you say: void f() { int i; i++; } you’ll get an error message that says that i migh
CS231n assignment3 Q3 Network Visualization: Saliency maps, Class Visualization, and Fooling Images
Saliency Maps 一張saliency map告訴了我們在圖片中的每個畫素點對於這張圖片最後的預測得分的影響程度。為了計算它,我們要計算正確的那個類的未歸一化的打分對於圖片中每個畫素點的梯度。如果圖片的尺寸是(H,W,3),那麼梯度的尺寸也應該是(H,W,3);對於圖片中的每個畫素點,梯度值反映瞭
(三)Multi-class Classification and Neural Networks[多分類問題和神經網路]
這次打算以程式碼為主線,適當補充。 問題: 手寫數字識別。 方法一:邏輯迴歸 for c = 1:num_labels initial_theta = zeros(n + 1, 1); % Set options for
Nested Class,Inner Class,Member Class,Local Class, and Anonymous class區別
其實所有類都可能是top level類或是nested 類;所有的nested 類都可能是static類或是Inner類;所有的Inner類都可能是local類,Anonymous類,non-static 的Member類;top level 類不能是nested類.
Partial mock local private method or public method in the class and suppress static initial block
public class Calc { static { System.out.println("hahaha"); } public int add(int a, int b) { return interADD(a, b); } private i
WCF: Generate Proxy Class and Configuration file for Client
alt host man class studio generated wcf div intro 1. please keep WCF service running 2. and two ways to achive this a. add Service R
[Python] The get() method on Python dicts and its "default" arg
ict argument ilb cnblogs user div ber class _for # The get() method on dicts # and its "default" argument name_for_userid = {
Java學習-051-Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, preempting StackOverflowError
conf dep skip startup ots tin static lang 錯誤信息 錯誤信息:Detected both log4j-over-slf4j.jar AND bound slf4j-log4j12.jar on the class path, pre
[TypeScript] Generic Functions, class, Type Inference and Generics
check ray ner ger ict urn types string const Generic Fucntion: For example we have a set of data and an function: interface HasName {
caffe make error: class google::protobuf::RepeatedField<unsigned int> has no member named 'UnsafeMergeFrom'
sig name image member clas 5.0 http ogl ted 之前caffe中protobuf的版本是2.5.0,可在ternimal下執行:protoc --version 查看當前protobuf版本。 由於另外安裝了Tensorflow之後,
A Class of Blind Source Extraction Method Using Second-Order Statistics
所有 采樣 逆矩陣 sta 出了 sci 問題 ima 目標 基於二階統計量的盲源提取方法[1]。 文中提出了一系列基於二階統計量的算法,包括離線BSE和在線BSE算法,可以提取平穩信號和非平穩信號。這些算法中,通過挖掘信號特征,提出了新的打分函數,以及一個無參數的自適應步
django啟動服務時報錯:RuntimeError: Model class index.models.User doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
error: 時報 解決 install runtime .py 遇到 setting runt 在django框架中用命令啟動服務時報如下錯誤: RuntimeError: Model class index.models.User doesn‘t declare
What is the difference between static func and class func in Swift?
truct computed per value subclass guid between tab odi Special Kinds of Methods Methods associated with a type rather than an instance
反射(Class類、Constructor類、Field類、Method類)
反射:通過類的Class物件來操作。可以得到屬性物件,方法物件,構造器物件。可以通過Class物件和構造器物件來例項化物件。但是,通過Class物件來例項化時不能傳遞引數,通過構造器時可以傳遞引數。 1.Class類例項化的幾種方式: 可以通過類名.class; 可以通過物
【R】no applicable method for 'xml_find_all' applied to an object of class "xml_document"
原始碼: # 安裝依賴包 if (!require(rvest)) { install.packages("rvest") } if (!require(xml2)) { install.packages("xml2") } # 引入 library(rvest)
Implementing Inner Class and Type Casting
Objects: 1.Create inner classes 2.Implement type casting Java provides following four types of inner class:Regular Inner Class Static inner class Meth
不同package 的class的成員(field或者method)之間的訪問
import package名稱.class名稱; 訪問靜態變數或方法: class名.變數名;class名.方法名(args); 訪問非靜態變數或方法:例項化,基於物件訪問; Class obj=new Class(); obj.變數名 obj.方法名 在