10分のPythonプログラミング蚀語の基本

パむ゜ンロゎ

ポロメノスのスタッフのりェブサむトは
蚘事が公開され、簡朔な圢匏で、
Python蚀語の基本に぀いお話したす。 この蚘事を翻蚳するこずをお勧めしたす。 翻蚳はリテラルではありたせん。 はっきりしないかもしれないいく぀かのポむントをより詳现に説明しようずしたした。

Python蚀語の孊習を蚈画しおいるが、適切なガむドが芋぀からない堎合は、これ
蚘事はあなたにずっお非垞に䟿利です 短い時間で、あなたはに粟通するこずができたす
Pythonの基本。 この蚘事はしばしば描くが
あなたはすでにプログラミングの経隓を持っおいたすが、初心者でも願っおいたす
この資料は圹に立ちたす。 各段萜を泚意深く読んでください。 に関連しお
材料のコンパクトさ、䞀郚のトピックは衚面的に考慮されおいたすが、すべおが含たれおいたす
必芁なmetrial。



基本的なプロパティ



Pythonは倉数の明瀺的な宣蚀を必芁ずしたせん。 オブゞェクト指向蚀語では倧文字ず小文字が区別されたすvarはVarずは異なり、VARは3぀の異なる倉数です。



構文



たず、Pythonの興味深い機胜は泚目に倀したす。 挔算子ブラケットbegin..end in pascalたたは{..} in C が含たれず、代わりにブロックがむンデントされたす。スペヌスたたはタブで、挔算子からブロックぞの入力はコロンで行われたす。 単䞀行コメントはポンド蚘号「」で始たり、耇数行コメントは3぀の二重匕甚笊「」「」で始たり、終わりたす。
「=」蚘号は、倉数に倀を割り圓おるため、および比范のために䜿甚されたす-
「==」。 倉数の倀を増やす、たたは行に远加するには、挔算子「+ =」を䜿甚し、倀を枛らすには「-=」を䜿甚したす。 これらすべおの操䜜は、文字列を含むほずんどのタむプずやり取りできたす。 䟋えば


>>> myvar = 3
>>> myvar + = 2
>>> myvar-= 1
"" "これは耇数行のコメントです
3぀の二重匕甚笊で囲たれた文字列は無芖されたす» ""
>>> mystring = "Hello"
>>> mystring + = "world"。
>>> mystringを印刷
ハロヌワヌルド
次の行が倉曎されたす
堎所の倉数の倀。 たった1行
>>> myvar、mystring = mystring、myvar

デヌタ構造

Pythonには、 リスト、タプル、蟞曞などのデヌタ構造が含たれおいたす 。 リストは1次元配列に䌌おいたすただし、リストを含むリスト-倚次元配列を䜿甚できたす、タプル-䞍倉リスト、蟞曞-リストも䜿甚できたすが、むンデックスは数倀だけでなく任意のタむプにするこずができたす。 Pythonの配列には任意の型のデヌタを含めるこずができたす。぀たり、単䞀の配列に数倀、文字列、その他のデヌタ型を含めるこずができたす。 配列はむンデックス0で始たり、最埌の芁玠はむンデックス-1で取埗できたす。関数を倉数に割り圓おお、それらを適宜䜿甚できたす。


>>> sample = [ 1 、[ "another" 、 "list" ]、 "a" 、 "tuple" ] リストは敎数、別のリスト、およびタプルで構成されたす
>>> mylist = [ "リスト項目1" 、 2、3 。 14 ] このリストには、文字列、敎数、小数が含たれたす
>>> mylist [ 0 ] = "List item 1 again" mylistシヌトの最初のれロ芁玠を倉曎する
>>> mylist [ -1 ] = 3 。 14 シヌトの最埌の芁玠を倉曎する
>>> mydict = { "キヌ1"  "倀1" 、 2  3 、 "pi"  3 。 14 } 数倀むンデックスず敎数むンデックスを䜿甚しお蟞曞を䜜成したす
>>> mydict [ "pi" ] = 3 。 15 むンデックス「pi」の䞋の蟞曞芁玠を倉曎したす。
>>> mytuple = 1、2、3  タプルを蚭定する
>>> myfunction = len #Pythonにより、関数の同矩語を宣蚀できたす
>>> myfunctionを印刷  リスト 
3

コロン「」で最初ず最埌のむンデックスを指定するこずにより、配列の䞀郚を䜿甚できたす。 この堎合、最初のむンデックスから2番目のむンデックスたで、包括的ではない配列の䞀郚を取埗したす。 最初の芁玠が指定されおいない堎合、配列の先頭からカりントが開始され、最埌の芁玠が指定されおいない堎合、配列は最埌の芁玠たで読み取られたす。 負の倀は、芁玠の䜍眮を最埌から決定したす。 䟋


>>> mylist = [ "リスト項目1" 、 2、3 。 14 ]
>>> print mylist [] すべおの配列芁玠が読み取られたす
[ 「リスト項目1」 、 2、3 。 1400000000000001 ]
>>> print mylist [ 0  2 ] 配列のれロおよび最初の芁玠を読み取りたす。
[ 'リスト項目1' 、 2 ]
>>> print mylist [ -3  -1 ] 芁玠はれロ-3から2番目-1に読み蟌たれたす包括的ではありたせん
[ 'リスト項目1' 、 2 ]
>>> print mylist [ 1 ] 芁玠は最初から最埌たで読み蟌たれたす
[ 2、3 。 14 ]

行

Pythonの行は、二重 "" "たたは単䞀" '"で二重匕甚笊で囲たれおいたす 。二重匕甚笊の䞭には、単䞀たたはその逆が存圚する可胜性がありたす。たずえば、「He​​ said'hello'耇数行の文字列を䜿甚する必芁がある堎合、この行は3぀の二重匕甚笊 "" "" "で開始および終了する必芁がありたす。 タプルたたは蟞曞の芁玠を文字列テンプレヌトに眮き換えるこずができたす。 文字列ずタプルの間のパヌセント蚘号「」は、文字列の文字「s」をタプル芁玠に眮き換えたす。 蟞曞を䜿甚するず、特定のむンデックスにある芁玠を文字列に挿入できたす。 これを行うには、文字列で構成「indexs」を䜿甚したす。 この堎合、「indexs」の代わりに、指定されたむンデックスで蟞曞の倀が眮き換えられたす。


>>> print “ Names \ nNumbers \ nStrings” my class .name、 3、3 * "-" 
名前ポロメノス
数 3
文字列-
strString = "" "このテキストはありたす
耇数行で» ""

>>> 「This動詞sa名詞s」を 印刷したす 。 { "名詞"  "テスト" 、 "動詞"  "は" }
これはテストです。

オペレヌタヌ

while、 if 、 forステヌトメントは、moveステヌトメントを構成したす。 selectステヌトメントに類䌌するものはないため、 ifを実行する必芁がありたす。 forステヌトメントは、 倉数ずリストを比范したす 。 番号<number>たでの数字のリストを取埗するには、範囲<number>関数を䜿甚したす。 挔算子を䜿甚した䟋を次に瀺したす


rangelist = range  10  10桁のリストを取埗0〜9
>>>範囲リストを印刷
[ 0、1、2、3、4、5、6、7、8、9 ]
範囲リスト内の数倀 倉数番号毎回1ず぀増加がリストにある間に...
倉数が含たれおいるかどうかを確認したす
数字のタプル内の数字  3、4、7、9 
if number in  3、4、7、9  倉数番号がタプル3、4、7、9にある堎合...
操䜜「 break 」が提䟛する
い぀でもルヌプを抜ける
ç Žã‚‹
その他 
「 続行 」スクロヌル
サむクル。 この操䜜の埌、これはここでは必芁ありたせん。
いずれにしおも、プログラムはルヌプ凊理に戻りたす
続ける
その他 
「 Else 」はオプションです。 条件が満たされおいる
ルヌプが「 break 」で䞭断されおいない堎合。
パス 䜕もしない

rangelist [ 1 ] == 2の堎合 
print "2番目の項目リストは0ベヌスは2です"
elif rangelist [ 1 ] == 3 
print 「2番目の項目リストは0ベヌスは3です」
その他 
「Dunno」を 印刷

䞀方、 rangelist [ 1 ] == 1 
合栌する

機胜

関数を宣蚀するには、 キヌワヌドdefを䜿甚したす。 関数の匕数は、関数名の埌に括匧で囲たれお瀺されたす。 デフォルト倀を指定するこずにより、オプションの匕数を指定できたす。 関数はタプルを返すこずができたす。その堎合、戻り倀をコンマで区切っお蚘述する必芁がありたす。 キヌワヌド「 lambda 」は、基本機胜を宣蚀するために䜿甚されたす。


arg2ずarg3はオプションの匕数であり、デフォルトで宣蚀された倀を取りたす。
関数を呌び出すずきに異なる倀を蚭定しない堎合。
def myfunctionarg1、arg2 = 100 、arg3 = "test" 
arg3、arg2、arg1を返したす
この関数は、最初の匕数-「匕数1」、2番目-デフォルト、および3番目-「名前付き匕数」の倀で呌び出されたす 。
>>> ret1、ret2、ret3 = myfunction "匕数1" 、arg3 = "名前付き匕数" 
ret1、ret2、ret3はそれぞれ「名前付き匕数」、100、「匕数1」の倀を取りたす
>>> ret1、ret2、ret3を印刷
名前付き匕数100匕数1

次の゚ントリはdef fxず同等です return x + 1
functionvar = lambda xx + 1
>>> print functionvar 1 
2

クラス

Pythonはクラスの倚重継承に制限されおいたす。 内郚倉数ず内郚クラスメ゜ッドは、2぀のアンダヌスコア「__」で始たりたすたずえば、「__ myprivatevar」。 倖郚からクラス倉数に倀を割り圓おるこずもできたす。 䟋


クラス私のクラス 
共通= 10
def __init __ self 
self .myvariable = 3
def myfunction self 、arg1、arg2
自己を返したす。

ここでクラスMy クラスを宣蚀したした。 __init__関数は、クラスが初期化されるずきに自動的に呌び出されたす。
>>> classinstance = My class   クラス を初期化し、myvariable倉数は初期化メ゜ッドで述べられおいるように倀3を取埗したした
>>> classinstance.myfunction 1、2  クラスのmyfunctionメ゜ッドMy クラスはmyvariable倉数の倀を返したす
3
共通倉数はすべおのクラスで宣蚀されおいたす
>>> classinstance2 =私のクラス 
>>> classinstance.common
10
>>> classinstance2.common
10
したがっお、クラスで倀を倉曎するず、My クラス が倉曎されたす
クラスMy クラスによっお初期化されたオブゞェクト内のその倀
>>> Myclass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30
そしお、ここではクラス倉数を倉曎したせん。 代わりに
オブゞェクトで宣蚀し、新しい倀を割り圓おたす
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>> Myclass.common = 50
クラス倉数を倉曎しおも圱響はありたせん
このクラスの倉数オブゞェクト
>>> classinstance.common
10
>>> classinstance2.common
50

次のクラスはクラスMy クラスの継承者です
クラスができるプロパティずメ゜ッドの継承
いく぀かのクラス、この堎合ぱントリから継承
such class OtherclassMyclass1、Myclass2、MyclassN
クラス OtherclassMyclass
def __init __ self 、arg1
self .myvariable = 3
arg1を出力

>>> classinstance = Otherclass "hello" 
こんにちは
>>> classinstance.myfunction 1、2 
3
このクラスにはテストはありたせんが、できたす
オブゞェクトにそのような倉数を宣蚀したす。 さらに
この倉数は、 クラスむンスタンスのメンバヌのみです。
>>> classinstance.test = 10
>>> classinstance.test
10

䟋倖

Pythonの䟋倖にはtryがありたす -[ionname を陀く ]構造を陀く 


def somefunction
詊しおください 
れロによる陀算ぱラヌを匕き起こしたす
10/0
ZeroDivisionError を陀く 
しかし、プログラムは「無効な操䜜の実行」ではありたせん
そしお、゚ラヌ「ZeroDivisionError」に察応する䟋倖ブロックを凊理したす
「おっず、無効です。」

>>> fn を陀く 
おっず、無効です。

むンポヌト

倖郚ラむブラリは、「 import [libname]」手順を䜿甚しお接続できたす。[libname]は接続するラむブラリの名前です。 「 from [libname] import [funcname]」コマンドを䜿甚しお、[libname]ラむブラリの[funcname]関数を䜿甚するこずもできたす。


import random ラむブラリ「random」をむンポヌトしたす
時刻 むンポヌトクロックから そしお同時に、ラむブラリ "time"からの関数 "clock"

randomint = random .randint1、100
>>> randomintを出力
64

ファむルシステムを操䜜する



Pythonには倚くの組み蟌みラむブラリがありたす。 この䟋では、リスト構造をバむナリファむルに保存し、読み取り、行をテキストファむルに保存しようずしたす。 デヌタ構造を倉換するには、暙準のpickleラむブラリを䜿甚したす


茞入 挬物
mylist = [ "This" 、 "is" 、 4、13327 ]
曞き蟌み甚にファむルC\ binary.datを開きたす。 蚘号「r」
は、特殊文字\ n、\ t、\ bなどの眮換を防ぎたす。
myfile = file r "C\ binary.dat" 、 "w" 
pickle .dumpmylist、myfile
myfile.close

myfile = file r "C\ text.txt" 、 "w" 
myfile.write "これはサンプル文字列です" 
myfile.close

myfile = file r "C\ text.txt" 
>>> print myfile.read
「これはサンプル文字列です」
myfile.close

読み取り甚にファむルを開く
myfile = file r "C\ binary.dat" 
loadedlist = pickle .loadmyfile
myfile.close
>>>ロヌド枈みリストを印刷
[ 'これ' 、 'is' 、 4、13327 ]

特城


>>> lst1 = [ 1、2、3 ]
>>> lst2 = [ 3、4、5 ]
>>> print [lst1のxのx * y ず lst2 の yのx]
[ 3、4、5、6、8、10、9、12、15 ]
>>> 印刷 [ 4 > x> 1の 堎合 、 lst1のxのx]
[ 2、3 ]
「any」挔算子は、少なくずも
含たれおいる条件の1぀が満たされたす。
>>> any[3、3、4、4、3]のiのi 3 
本圓
次の手順で金額をカりントしたす
リスト内の䞀臎するアむテム
>>> sum i == 3の 堎合 、[3、3、4、4、3]のiに察しお1 
3
>>> del lst1 [ 0 ]
>>> lst1を印刷
[ 2、3 ]
>>> del lst1


数= 5

def myfunc
出力5
印刷番号

def anotherfunc
グロヌバル倉数が原因で䟋倖がスロヌされたす
は関数から呌び出されたせんでした。 この堎合のPythonは䜜成したす
この関数内で䜿甚可胜な同じ名前の倉数
この関数の挔算子のみ。
印刷番号
数= 3

def yetanotherfunc
グロヌバル番号
そしお、この関数からのみ倉数の倀が倉曎されたす。
数= 3

゚ピロヌグ

もちろん、この蚘事ではPythonのすべおの機胜に぀いお説明しおいるわけではありたせん。 このプログラミング蚀語を匕き続き孊習したい堎合、この蚘事がお圹に立おば幞いです。



Pythonの利点

Source: https://habr.com/ru/post/J31180/


All Articles