基本的なカスタマイズ型
C.__init__(self[, arg1, ...]) コンストラクター (いくつかのオプションのパラメーターを含む)
C.__new__(self[, arg1, ...]) コンストラクター (いくつかのオプションのパラメーターを含む) ; 通常、不変データ型のサブクラスを設定するために使用されます。
C.__del__(self) デコンストラクター
C.__str__(self) 組み込みの str() および print ステートメントの印刷可能な文字出力
C.__repr__(self) 組み込みの repr () および ' ' 演算子
C.__unicode__(self)b Unicode 文字列出力; 組み込み unicode()
C.__call__(self, *args) は呼び出し可能なインスタンスを表します
C.__nonzero__(self) オブジェクトに False 値を定義します。組み込み bool() (バージョン 2.2 以降)
C.__len__(self) "length" (クラスに使用可能); 組み込み len()
特殊メソッド 説明
Object (値) c
を比較C.__cmp__(self, obj) 組み込みの cmp()
C.__lt__(self, obj) と、
C.__gt__ (self, obj) より大きい/以上; > および >= 演算子に対応します
C.__eq__(self, obj) と等しい/等しくない ==、!= および
に対応します。属性C .__getattr__(self, attr) 属性を取得します。属性が見つからない場合にのみ呼び出されますC.__setattr__(self, attr, val) 属性を設定しますC.__delattr__ (self, attr) 属性を削除しますC.__getattribute__(self, attr) は属性を取得します
C.__get__(self, attr) (descriptor) は属性を取得します
C.__set__ (self, attr, val) (Descriptor) 属性の設定
C.__delete__(self, attr) (Descriptor) 属性の削除
カスタムクラス/シミュレート型
数値型:二項演算子
C.__*add__(self , obj) 追加 ;+ 演算子
C.__*sub__(self, obj) マイナス;-演算子
C.__*mul__(self, obj) 乗算;* 演算子
C.__*div__(self, obj ) 除算;/operator
C.__*truediv__(self, obj) 真の除算;/operator
C.__*floordiv__(self, obj) 床除算;//operator
C.__*mod__( self, obj) モジュロ/剰余; % 演算子
C.__*divmod__(self, obj) 除算とモジュロ; 組み込み divmod()
C.__*pow__(self, obj[, mod] ) 累乗; in pow(); ** 演算子
C.__*lshift__(self, obj) 左シフト;
特別なメソッドの説明
カスタムクラス/シミュレートされた型
数値型 : 二項演算子
C.__ *rshift__(self, obj) 右シフト; >> 演算子
C.__*and__(self, obj) ビットごとの AND; & 演算子
C.__*or__(self, obj) ビットごとの OR; .__*xor__(self, obj) ビットごとの AND or; ^ 演算子
数値型: 単項演算子
C.__neg__(self) 単項負
C.__pos__(self) 単項正
C.__abs__(self)絶対値; 組み込み abs()
C.__invert__(self) ビットごとの否定; ~ 演算子
数値型: 数値変換
C.__complex__(self, com) は組み込み (複数) に変換されます。 complex()
C.__int__(self) は int に変換されます。組み込みの int()
C.__long__(self) は long に変換されます。 float; 組み込み float()
数値型: 基本表現 (String)
C.__oct__(self) 組み込み oct()
C.__hex__(self) 組み込みhex()
数値型: 数値圧縮
C.__coerce__(self, num) は組み込みの coerce()
C. __index__(self)g 必要に応じて、オプションの数値型を圧縮します。整数型に変換します (例: スライス
indexなど
sequence type
C.__len__(self) シーケンス内のアイテムの数
C .__getitem__(self, ind) 単一のシーケンス要素を取得します
C.__setitem__(self, ind,val) 単一のシーケンス要素を設定
C.__delitem__(self, ind) 単一のシーケンス要素を削除
特別なメソッドの説明
シーケンスの型
C.__getslice__(self, ind1 ,ind2) 配列断片の取得
C.__setslice__(self, i1, i2,val) 配列断片の設定
C.__delslice__(self, ind1,ind2) 配列断片の削除
C .__contains__(self, val ) f テストシーケンスのメンバー; キーワードに組み込まれています
C.__*add__(self,obj) 連結; + 演算子
C.__*mul__(self,obj) 繰り返し;* Operator
C.__iter__(self) ) 組み込みの iter() を作成します
マッピングの型
C.__len__(self) マッピング内の項目の数
C.__hash__(self) ハッシュ (hash) 関数の値
C.__getitem__ (self,key) 指定されたキー(key)の値を取得
C.__setitem__(self,key,val) 指定されたキー(key)の値を設定
C.__delitem__(self, key) 値を削除指定されたキー (key) の
C.__missing__(self,key) 指定されたキーが辞書に存在しない場合は、デフォルト値を指定します
忘れないように、よく使用されるいくつかの Python 関数を覚えておいてください
get File extension 関数: 拡張子とその拡張子の前のファイル名パスを返します。
os.path.splitext('xinjingbao1s.jpg')
('xinjingbao1s', '.jpg')
os および os.path モジュール
os.listdir(dirname): dirname の下にあるディレクトリとディレクトリをリストします。ファイル
os.getcwd(): 現在の作業ディレクトリを取得します
os.curdir: 前のディレクトリ ('.') を返します
os.chdir(dirname): 作業ディレクトリを dirname
os.path に変更します。 isdir( name): name がディレクトリかどうかを判定します。 name がディレクトリでない場合は false を返します
os.path.isfile(name): name がファイルであるかどうかを判定します
os.path.exists(name): ファイル名またはディレクトリ名が存在するかどうかを確認します。
os.path.getsize(name): ファイルのサイズを取得します。name がディレクトリの場合、0L を返します
os.path.abspath( name): 絶対パスを取得します
os.path.normpath(path): パス文字列形式を正規化します
os.path.split(name): ファイル名とディレクトリを分割します (実際、ディレクトリ全体を使用すると、最後のディレクトリも分割されます。ディレクトリはファイル名として分割され、ファイルまたはディレクトリが存在するかどうかは判断されません)
os.path.splitext(): ファイル名と拡張子を分割します
os.path.join( path,name): ファイル名またはディレクトリでディレクトリを結合します
os.path.basename(path): ファイル名を返します
os.path.dirname(path): ファイルのパスを返します
1。 .rename(old, new)
2 .Delete: os.remove(file)
3. ディレクトリ内のファイルを一覧表示します: os.listdir(path)
4. 現在の作業ディレクトリを取得します: os.getcwd( )
5. 作業ディレクトリを変更します: os.chdir(newdir)
6. 複数レベルのディレクトリを作成します: os.makedirs(r"c:pythontest")
7. 単一のディレクトリを作成します: os.mkdir( "test")
8. 複数のディレクトリを削除します: os .removedirs(r"c:python") #指定されたパスの最後のディレクトリの下にある空のディレクトリをすべて削除します。
9. 単一のディレクトリを削除します: os.rmdir("test")
10. ファイル属性を取得します: os.stat(file)
11. ファイルのアクセス許可とタイムスタンプを変更します: os.chmod(file)
12オペレーティング システム コマンドを実行します: os.system("dir")
13. 新しいプロセスを開始します: os.exec()、os.execvp()
14. バックグラウンドでプログラムを実行します: osspawnv()
15. 現在のプロセスを終了します: os.exit(), os._exit()
16. 分割ファイル名: os.path.split(r"c:pythonhello.py") --> ("c:\python") , "hello .py")
17. 別の拡張子: os.path.splitext(r"c:pythonhello.py") --> ("c:\python\hello", ".py")
18 . パス名を取得: os.path.dirname(r"c:pythonhello.py") --> "c:\python"
19. ファイル名を取得: os.path.basename(r"r:pythonhello. py") --> "hello.py"
20. ファイルが存在するかどうかを確認します: os.path.exists(r"c:pythonhello.py") --> True
21. ファイルが絶対パスであるかどうかを確認します。パス: os.path.isabs(r".python") --> False
22. ディレクトリであるかどうかを判断します: os.path.isdir(r"c:python") --> True
23.ファイルであるかどうかを判断します: os.path .isfile(r"c:pythonhello.py") --> True24. リンク ファイルであるかどうかを判断します: os.path.islink(r"c:pythonhello.py") py") --> False25. ファイルサイズの取得: os.path.getsize(filename)26.*******: os.ismount("c:\") --> True27. ディレクトリ内のすべてのファイルを検索します: os.path.walk()[2.shutil]1. 単一のファイルをコピーします: shultil.copy(oldfile, newfle)2. ディレクトリ ツリー全体をコピーします。 : shultil.copytree(r".setup", r".backup")3. ディレクトリ ツリー全体を削除します: shultil.rmtree(r".backup")[3.tempfile]1.固有の一時ファイル: tempfile.mktemp() --> ファイル名
2. 一時ファイルを開きます: tempfile.TemporaryFile()
[4.StringIO] #cStringIO は StringIO モジュールの高速実装モジュールです
1.メモリ ファイルを作成し、初期データを書き込みます: f = StringIO.StringIO("Hello world !")
2. データをメモリ ファイルに読み込みます: print f.read() #または print f.getvalue() --> Hello world !
3. メモリ ファイルにデータを書き込みます: f.write("Good day!")
4. メモリ ファイルを閉じます: f.close()
時間インポートからのソース コードの印刷ヘルプ 1 を表示します *
2
3 def secs2str(秒):
4 return strftime("%Y -%m-%d %H:%M:%S",localtime(秒)) 5
5
6 >>> secs2str(1227628280.0)
7 '2008-11-25 23:51:20'
指定された書式文字列に従って、指定された struct_time (デフォルトは現在の時刻) を出力します
Python の時刻と日付の書式設定記号:
%y 2 桁の年表現 (00-99)
%Y 4 桁の年表現 (000-9999)
%m 月 (01-12)
%d 日 (0-31)
%H 24 時間制 (0-23)
%I 12 時間形式の時間 (01-12)
%M 分 (00=59)
%S 秒 (00-59)
% a ローカルの簡略化された週名
%A ローカルの完全な週名
%b ローカルの簡略化された月名
%B ローカルの完全な月名
%c ローカルの対応する日付表現と時刻表現
%j 年間の日 (001 -366)
%p ローカルの A.M. または P.M.
%U に相当します。 1 年の週数 (00 ~ 53) 日曜日が週の始まりです。
%w 曜日 (0 ~ 6) )、日曜日は週の始まりです
%W 年間の週数 (00-53) 月曜日は週の始まりです
%x 対応する現地の日付表現
%X 対応する現地時間の表現
%Z 現在のタイムゾーンの名前
%% % 数値そのもの
9.strptime( …)
strptime(string, format) -> struct_time
に従って時間文字列を時間の配列に変換します指定されたフォーマッタに変換します
例:
2009-03-20 11:45:39 対応する形式 形式文字列は次のとおりです: %Y-%m-%d %H:%M:%S
Sat Mar 28 22 :24:24 2009 対応する形式文字列は次のとおりです: %a %b %d %H:% M:%S %Y
10.time(…)
time() -> 浮動小数点数
はタイムスタンプを返します現在時刻
3. 疑問
1. 夏時間
struct_time では、夏時間は役に立たないようです。例えば、
a = (2009, 6, 28, 23, 8, 34, 5、87、1)
b = (2009, 6, 28, 23, 8, 34, 5, 87, 0)
a と b はそれぞれ夏時間と標準時間を表し、それらの間のタイムスタンプへの変換は 3600 に関連する必要があります。ミニアプリケーション
1.python 現在の時刻を取得します
time.time() 現在のタイムスタンプを取得します
time.localtime() 現在の時刻
timeのstruct_time形式。 ctime() Current 時刻の文字列形式
2. Python 形式の文字列
2009-03-20 11:45:39
time.strftime("%Y-%m-%d %) H:%M: %S", time.localtime()) は Sat Mar 28 22:24:24 2009 形式にフォーマットされます
time.strftime("%a %b %d %H:%M:%S % Y", time.localtime ())3. フォーマット文字列をタイムスタンプに変換します
a = "Sat Mar 28 22:24:24 2009"
b = time.mktime(time.strptime(a,"%a) %b %d % H:%M:%S %Y"))
Pythonの時刻日時モジュールの詳しい説明
時刻モジュール:
----------------- ---- --
time() #Linux 新世紀からの経過秒数を浮動小数点形式で返します。 Linux では、00:00:00 UTC、
1970 年 1 月 1 日が新しい **49** の始まりです。 #秒を日付形式に変換します。パラメータがない場合は、現在の時刻が表示されます。
>>> import time
>>> time.ctime()
>>> '2006年6月14日水曜日15:02:50'
>>> time.ctime(1138068452427683)
'土曜日12月14日04:51:44 1901'
>>> time.ctime(os.path.getmtime('E:\untitleds.bmp'))
'Fri Sep 19 2008 16:35:37'
>>> time.gmtime(os.path.getmtime('E:\untitleds.bmp'))
time.struct_time(tm_year=2008, tm_mon=9, tm_mday=19, tm_hour=8, tm_min=35,
tm_sec= 37, tm_wday=4, tm_yday=263, tm_isdst=0)
ファイルの変更時刻を日付形式 (今日までの秒数) に変換します
>>> time.strftime('%Y-%m-%d % X',time.localtime(os.path.getmtime('E:\untitleds.bmp')))
'2008-09-19 16:35:37'
#タイミング 3 秒。
>>> time.sleep(3)
TIMEモジュールリファレンス:
-----------------------------
#ファイルの変更時刻を取得します
>>> os.path.getmtime('E:\untitleds.bmp')
1221813337.7626641
Variable
timezone 協定世界時と地方標準時の違い、で秒。
altzone 協定世界時と現地夏時間の違い
夏時間フラグ、現地時間が夏時間を反映するかどうか。
tzname (標準タイムゾーン名、夏時間タイムゾーン名)
関数
time() は、エポックからの秒数を浮動小数点数として返します。
Clock() は、CPU がこのプロセスを開始した時刻を浮動小数点数として返します (または、この関数が最後に呼び出されてからの時間)
sleep() は、浮動小数点数で表される秒数の遅延を返します。
gmtime() 秒で表される時間を一般的な調整された時系列に変換します
localtime() 秒をローカル時系列に変換します
asctime() 時系列をテキスト説明に変換します
ctime() 秒を時間に変換します テキスト説明に変換します
mktime() ローカル時系列を秒に変換します
strftime() 時系列を指定された形式のテキスト記述に変換します
strptime() 指定された形式のテキスト記述から時系列を解析します
tzset()ローカルタイムゾーン値
DateTimeモジュール
---------------------------
datetime 日付を秒に変換します
---- ----------------------------------------
>>> インポートdatetime,time
> >> time.mktime(datetime.datetime(2009,1,1).timetuple())
1230739200.0
>>> cc=[2000,11,3,12,43,33] #属性: 年、月、日、時、分、
秒
>>> time.mktime(datetime.datetime(cc[0],cc[1],cc[2],cc[3],cc [4],cc[ 5]).timetuple())
973226613.0
秒を日付形式に変換します
>>> cc = time.localtime(os.path.getmtime('E:\untitleds.bmp') )
>> > print cc[0:3]
(2008, 9, 19)
DateTime の例
----------------
の計算のデモンストレーション2 つの日付間の日数の差を計算します
>>> import datetime
>>> d1 = datetime.datetime(2005, 2, 16)
>>> d2 = datetime.datetime(2004, 12, 31)
>>> (d1 - d2).days
47
秒単位で表示される実行時間の計算例を示します
import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now( )
print (endtime - starttime).秒
は、現在時刻から 10 時間遡った時刻を計算する例を示します。
>>> d1 = datetime.datetime.now()
>>> d3 = d1 + datetime.timedelta(hours=10)
>>> d3.ctime()
一般的に使用されるクラスは次のとおりです:日時と時刻デルタ。それらは互いに加算または減算できます。各クラスには、特定の値を表示するためのメソッドとプロパティがあります