Pythonシロのpython入門(一)

6129 ワード

一:プログラミング言語に関する紹介
プログラミング言語は、コンピューターとコミュニケーションするために使用される言語です.
プログラミング言語は一般的に以下の3種類に分けられます.
マシン言語:バイナリコード0と1で記述された命令をマシン命令と呼び,全マシン命令の集合がコンピュータを構成するマシン言語
アセンブリ言語:アセンブリ言語の実質は機械言語と同じで、ハードウェアに直接操作されているが、命令は英語の略語の識別子を採用しているだけで、識別と記憶が容易である.
高度な言語:人類の日常言語を基礎とするプログラミング言語で、高度にカプセル化され、コンピュータのハードウェアを直接操作することはできず、コンパイルまたは解釈を経なければコンピュータに読めない.
高度な言語は主に2つの種類に分けられます.
コンパイル型:コードファイルはコンパイラによってコンパイルされ、マシンターゲットファイルを生成してからマシンに実行させることができ、異なるプラットフォームに対してそれぞれコンパイルされ、1回のコンパイル後にターゲットファイルを繰り返し実行することができる.特徴はデバッグが不便で、開発効率が低く、実行効率が高く、プラットフォームにまたがる能力が悪く、学習曲線が急峻であることである.
コンパイル言語は、c c++を表します.
解釈型:コードファイルは解釈器で解釈しながら実行され、異なるプラットフォームは対応する解釈器を構成するだけでファイルを実行することができる.特徴はデバッグが便利で、開発効率が高く、実行効率がやや低く、プラットフォームにまたがる能力が強く、学習曲線が滑らかであることである.
解釈型言語はpython php rubyを表す
二:pythonの入門知識
1:pythonの生成と概要
Pythonは有名な「亀おじさん」Guido van Rossumが1989年のクリスマスの間、退屈なクリスマスを過ごすために書いたプログラミング言語です.亀おじさんがPythonに与えた位置づけは「優雅」「明確」「簡単」なので、Pythonプログラムはいつも分かりやすいように見えます.
Pythonは学習しやすく、強力なプログラミング言語です.効率的なデータ構造を有し、オブジェクト向けのプログラミングを簡単かつ効果的に実現できます.Pythonの簡潔な文法と動的入力の特性に加えて、その解釈的な言語の本質は、多くの分野とほとんどのプラットフォームでスクリプトの作成と応用が迅速に開発される理想的な言語となっている.
Pythonで実行するプログラムには、インタラクティブな解釈プロンプトを使用するか、ソースファイルを直接実行するかの2つの方法があります.
2:pythonコメント
pythonコメント構文は#コメント文
三重引用符(複数行文字列)の形式で複数行コメントを作成することもできます.
#       
print('hello world')   #        
"""
         ,             
"""

 
 
 
3:変数
その名前が述べたように、変数の値は変化することができます.つまり、変数で何でも格納することができます.変数は、コンピュータのメモリに情報を格納するために使用される一部にすぎません.python言語の変数は任意のデータ型の値を格納するために使用できるので、pythonは動的言語であることがわかります.これに対応するのは静的言語であり,静的言語は変数を定義する際に変数タイプを指定しなければならず,付与時にタイプが一致しないとエラーが報告される.例えばJavaは典型的な静的言語である.変数名で変数の値を呼び出す必要があります.
変数名の命名には、次のルールが必要です.
1)変数名は、アルファベット、数値、アンダースコアのみで構成され、先頭文字は数値ではありません.
2)変数名はキーワードを推奨せず、変数名は大文字と小文字を区別する
変数(変数宣言文)を定義する構文は次のとおりです.
name = 'rock' #            
age = 18

変数名の定義には、一般的に、アルパカ(UserName)とアンダースコア式(user_name、pythonで推奨)の2つの方法があります.
変数には3つの重要な属性があります.idタグがメモリ内の位置を占有し、typeデータ型、value値
name = 'rock'
print(id(name),type(name),name)
a == b  #           value 
a is b  #           id 

メモリにはそれぞれ変数名と変数に分けられる一定のメモリ空間があり、変数名がメモリに変数を指す場合、その変数の参照カウントは1となり、同時に別の変数名がその変数を指す場合、その変数の参照カウントは2となり、いずれかの変数名がその変数を指す場合、その参照カウントは0となり、この場合、python内部のゴミ回収メカニズムでは、この変数をゴミ回収として使用し、メモリ領域を解放します.    
4:pythonデータ型
1)数値:数値は整数(int)と浮動小数点数(float)に分けられる
2)文字列:引用符に含まれる文字列(単一引用符/二重引用符では単行文字列、三重引用符では複数行文字列を指定)
3)ブール型:TrueとFalseの2つの値のみ
        #            
        1、None,0, (    ,   ,    )         False
        2、     

4)リスト:
# []      ,    n       
names = ['wang','li','wu']
#             ,    0  , names[0]           ,       ,names[-1]          

5)辞書:
# {}      ,      key:value  ,value       
data = {'name':'mark','age':18,'hobbies':['run','eat']}
#        data['name']        mark ,      

6)タプル:
atuple = (1,'sf,',3,'jkk')  #       

7)集合:
aset = {1,'sf',2,'www'}  #  key   ,key      ,             ,          

 
5:基本演算子
 
演算子:+(プラス),-(マイナス),*(乗算),/(除算),**(乗算),//(除算,結果は下向きに整数),%(除算)
代入演算子:=,+=(a+=1はa=a+1のショートカット表記であり、その他のショートカット表記は類似している),-=,*=,/=
ビットオペレータ:
<<左シフト、数字のビットを左に移動指定したビット数は2<<2のように解釈します:2のバイナリは10で、左シフト後は1000で、つまりその結果は10進数10です
>>指定したビット数を右に移動
&ビット単位と
|ビット単位または
^按位异或
~位によって逆をとる
比較オペレータ:<より小さい、>より大きい、<=より小さい、>=より大きい、==等しい、!=等しくない
論理オペレータ:and(論理と)、or(論理または)、not(論理非)
6:フォーマット方法
1)プレースホルダ%s(文字列プレースホルダ),%d(整数),%f(浮動小数点数)の使用
print('My name is %s,my age is %s' %('lufei',18))
#            %,     
#%%           %
print('rate:%s %%' %7)

2)format()メソッド
name = 'rock'
age = 18
print('{0}was{1}years old'.format(name,age))
#     
print('{}was{}years old'.format(name,age))

7:エスケープシーケンス
8:制御フロー文
1)if文、すなわち条件判定文
#if      
if       :   #           
    if 
elif       :   #    
    elif 
else :             #    
    else 

2)whileループ文
while....Elseとfor...elseのelse文は、すべての項目を正常に巡回した後に実行されます.すなわち、ループ内にbreak文がなく、return文がなく、または異常が発生しません.
#while      
while           :   #          
       
else:    #    
    else 

3)forループ文
forループは主に反復(Iteration)操作に用いられ、反復可能なオブジェクトに作用する必要がある.
#for              ,               
#for...in       
for...in   :     #       
       
else:     #    
    else 
#                    
from collections import Iterable
print(isinstance('abc', Iterable))      #True              ,  for...in       
print(isinstance([1,2,3], Iterable))     #True    
print(isinstance((1,2,3), Iterable))     #True
print(isinstance({'name':'rock','age':18}, Iterable))      #True        key
print(isinstance({1,2,3,'a'}, Iterable))         #True
print(isinstance(123, Iterable))          #False

forで...in辞書を反復するときのデフォルトの反復はkeyであり、valueを反復する必要がある場合はfor value in adictを使用することができる.values();keyとvalueを同時に反復する必要がある場合は、for k,v in adict.を使用します.items().
補足1:for...in反復はファイルを操作するためにも使用でき、ファイルの各行の内容を順番に取得することができます!!!
補足2:enumerate()関数はリストをインデックス要素ペアにすることができます.
a = ['a','b','c','d']
print(enumerate(a))
for i,s in enumerate(a):
    print(i,s)
# 
# 0 a
# 1 b
# 2 c
# 3 d
b = 'rockyou'
for i1,s1 in enumerate(b):
    print(i1,s1)
# 0 r
# 1 o
# 2 c
# 3 k
# 4 y
# 5 o
# 6 u

4)break文とcontinue文
break文は、ループ文(whileループまたはforループ)を中断するために使用されます.すなわち、前のレイヤのループに影響を及ぼさずに、このレイヤのループから飛び出します.
continue文は、Pythonに現在のループブロック内の残りの文をスキップし、ループの次の反復を継続するように伝えるために使用されます.