Pythonの基本1
メモリ割り当ての問題について
新しく定義された文字列変数は、デフォルトで新しいメモリ空間を開きます
以下に示すように、リスト、タプル、辞書などの他の同様のインデックスは、実際には変数名が同じアドレス空間を指しているだけです
1 ##文字列の新しい定義により、新しいメモリ空間が開きます 2 >>> str1 = 'hoho' 3 >>> id(str1), id(str2) ) #メモリ オブジェクト アドレスを表示し、メモリ アドレスを観察します。つまり、str2 がメモリ空間 5 (140297199501752, 140297199501752) を新しく開いています。 #ここで見られるのと同じことは、文字列が大きい場合、Python の内部メカニズムによって引き起こされます。十分に違います、心配しないでください 6 >>> str2 = 'ヘイヘイ' 7 >>> 8 'ホホ' 9 >>> str210 'ヘイヘイ'11 > > id (str1)、id (str2) (ラベルとして理解できます) は、以下に示すように、辞書を例として同じメモリ アドレスを指します15 >>>ほほ'}16 >>> dic2 = dic117 >>>id(dic1),id(dic2)18 (140297199190088)19 >>> '}20 >>> dic2 = dic121 >> id(dic1),id(dic2) #メモリオブジェクトのアドレスを確認すると、dic2 が同じであることがわかります。 22 (140297199191752, 140297199191752)23 >>> dic2['name' ] = 'heihei'24 >>> dic225 {'name': 'heihei'}26 >>> {'name': 'heihei'}
リスト、タプル、辞書のコピーの問題 (浅いコピーと深いコピーのコピーモジュールの使用)
1. リストとタプルはスライスを使用して浅いコピーを実装できます。浅いコピー(辞書を含む)を使用するにはcopyモジュールを使用します
2. copy.deepcopy()を使用します
1 >>> インポートコピー2 >>> 3 >>> list2 = list1 4 >>> list2[0] = 2 #list2 が変更され、それに応じて list1 も変更されました 5 >>> list1 6 [2, 2] 7 >> ;> list3 = list1[:] #浅い複雑さ、配列のスライスを使用して浅いコピーを実行します 8 > ;>> list3 = copy.copy(list1) 9 >>> ),id(list3) #ここではアドレス空間が異なることがわかります 10 (140297199250696, 140297199250696, 140297199247560)11 >>>
12 >>> list4 = [1,[2]] # #複雑な構造ではディープ コピーを使用する必要があります 13 >>> list5 = list4[:]14 >>> list515 [1, [2]]16 >>> 617 >>> list418 [1, [6]] #ここから見ることができます 実際、内部のリストはコピーされず、それに応じて list4 も変更されています19 >>> list6 = copy.deepcopy( list4) #ディープコピーはここで使用されます20 >>> list6[1][0] = 821 >>> list622 [1, [8]]23 >>> ]] #ここでコピーされたものが表示されます
よく使われる組み込み関数
Pythonにはよく使われる組み込み関数がたくさんありますが、それを確認する方法がわかります。関数のヘルプ
通常は3つのステップに分かれています
type(変数)--->変数を取得
dir(クラス名) --> クラス内で使用可能なメソッドを確認します。このうち、__abs__ のような二重アンダースコアで始まるものには、次のような代替メソッドがあります。 __abs__ <=> (クラス名または関数名) ---> クラスの下で関数の使用法を表示するか、関数の使用法を直接表示します
Shaping
1 >>> s,y = divmod(7,3) ## divmod はデータを返します。値は (商, 剰余) で、ページングに使用できます。 2 >>>>>>>>>>>>>>>> ) #absは絶対値をとります 6 27 >>> len(str(-2)) #は速度の長さをとります 8 2
浮動小数点をとります
1 >> ; a = 7.02 >>> divmod(a,3)3 (2.0, 1.0)4 >>> a = 7.2355 >>> #6 7.247 > ;>> a.__trunc__() #8 7 に四捨五入
コードを表示
文字列
1 >>> str1 = 'これは文字列です' 2 >>> 'is' in str1 3 True 4 >>> # スライス操作とインデックス 5 'hi' 6 >>> len(str1) #長さ 7 16 8 >>> str1.find('is',3,9) ; >>> str1.find('iss') #見つからない場合は -1 を返します。 -114 >>> str1.index('is', 3)15 516 >>> str1.index('iss')17 トレースバック (最後の呼び出し):18 ファイル ""、行 1、19 値エラー: 部分文字列が見つかりません20 >>> ' aaa'21 >>> str1.strip() 空白と改行を削除して、 22 'aaa'23 >>> str1.lstrip()24 'aaa' 25 >>> str1.rstrip()26 ' aaa'27 >>> str1 = 'duiqi' #整列操作 28 >>> str1.ljust(20)29 'duiqi ;>> ,'*')31 'duiqi****************'32 >>> str1.rjust(20,'*' )33 '****** ************duiqi'34 >>> str1.center(20,'*')35 '************duiqi*** * ****'36 >>> str1 = 'これは文字列'37 >>> str1.split() ##分割操作 38 ['this', 'is', 'a' , 'string'] 39 > ->'.join([str(i) for i in list1]) #接続操作 43 '1->2->3'44 >>>str145 'thisは文字列です'46 >> str1.count('is') #Count 47 248 >>> str1.replace('is','os') #Replace 49 'これは文字列です' 50 >>> str1.replace('is','os',1) #置換、1 だけ置換 51 'これは文字列です' 52 53 str1.startswith('sub') #54 str1 から始まるもの.endswith('sub' ) #末尾の文字 55 str1. lower() #小文字に変換 56 str1.upper() #大文字に変換
コードを表示
リストとタプル(タプルは変更不可)
1 > >> lst1 = ['a'] 2 >>> #追加 3 >>> ] 5 > >> lst2 = ['c','d'] 6 >>> #新規拡張 7 >>> b', 'c', 'd'] 9 >>> lst1.insert(0,'z') #insert10 >>> lst111 ['z', 'a', 'b', 'c ', 'd']12 >>> lst1.pop() #末尾を削除 13 'd'14 >>> lst115 ['z', 'a', 'b', ' c'] 16 >>> lst1.remove('z') #指定された要素を削除 17 >>> ['a', 'b', 'c']19 >>> ; lst1 = [ 'a', 'b', 'c', 'd']20 >>> # 浅いコピー python3 のみが 21 >>> .copy() 22 >>> lst223 ['a', 'b', 'c', 'd']24 >>> #リストをクリアします 25 >> > lst226 [] 27 >>> #リスト28 >>> ['d', 'b', 'a']30 >>> .sort() # ソート 31 >>> lst132 ['a', 'b', 'c', 'd']33 >>> lst1.append('a')34 >> ;> lst1.count('a') #カウント 35 236 >>> ['a', 'b', 'c', 'd', 'a']38 >>> len(lst1) # 長さ 39 540 >>> lst1.index('a') #インデックス 41 042 >>> lst1.index('a',1) #インデックス 43 4
コード
辞書
1 >>> dic1 = {'key1' : 'a','key2' : 'b'} 2 >>> #辞書の値を取得します、見つかりませんデフォルトでは None を返します。 3 'a' 4 >>> dic1.get('key3') 5 >>> 6 dict_items([('key2', ' b' ), ('key1', 'a')]) #Return タプル list 7 >>> list(dic1.items()) 8 [('key2', 'b'), ('key1' , 'a')] 9 >>> dic1.keys() #戻り値キーリスト 10 dict_keys(['key2', 'key1'])11 >>> #戻り値list 12 dict_values(['b', 'a'])13 >>> dic2 = dic1.copy() #浅いコピー 14 >>> dic215 {'key2': 'b', 'key1 ' : 'a'}16 >>> dic1['key3'] = 'c' #割り当て (変更)17 >>> dic118 {'key2': 'b', 'key1': ' a ', 'key3': 'c'}19 >>> dic1.pop('key1') #指定されたkey20を削除 'a'21 >>> dic122 {'key2': 'b' , 'key3': 'c'}23 >>> dic1.get('key1','a') #値、いいえ 'a'24 'a'25 >>> dic126 {' key2 ': 'b', 'key3': 'c'}27 >>> dic1.setdefault('key1','a') #デフォルトを設定します (役に立たないようです) 28 'a'29 >> ; > dic130 {'key2': 'b', 'key1': 'a', 'key3': 'c'}31 >>> dic3 = {'name':'update'}32 > ;> dic1.update(dic3) #Update 33 >>> dic1 34 {'key2': 'b', 'name': 'update', 'key1': 'a', 'key3': ' c'}35 >>> del dic3 #削除 36 >>> dic137 {'key2': 'b', 'name': 'a', 'key3 ' : 'c'}38 >>> len(dic1) #Length 39 4
コードを表示
上記は Python の基本的な内容です。その他の関連記事については、PHP 中国語の Web サイトをご覧ください。 (www.php.cn)!

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法
