study

pythonの基礎

pythonの復習がてらにブログにまとめたいと思います。

pythonの基本

条件分岐

a=3
if a == 3:
    print('a is 3')
else:
    print('a is not 3')
#a is 3

繰り返し

for i in range(3):
    print(i)
#1
#2
#3

for i,e in enumerate([5,3,7]):#リストの要素の数だけ繰り返す
    print(i,':',e)
#0 : 5
#1 : 3
#2 : 7

x=0
while x < 4:#xが4より小さい間だけ、以下の処理を繰り返す
    print(x)
    x +=1
#0
#1
#2

リストの生成

data=[]
for i in range(10):
    data.append(i)
print(data)
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

data=[i for i in range(10)]
data
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

data=[i for i in range(10)if i % 2 ==0]#2で割り切れるとき
data
#[0, 2, 4, 6, 8]

リストに要素を追加するときはappendという関数を使う

関数

def add(a,b):
    return a+b
add(3,5)
#8
add(1,9)
#10
x=4
y=10
add(x,y)
#14

def calc(a):
    a-=1
    return a
x=3
calc(x)
#2
x
#3

def calc(a):
    a[0]-=1
    return a

x=[4,2,5]
calc(x)
#[3, 2, 5]

変数の有効範囲

変数の有効範囲 内容
ローカル変数 関数の中など、一部からしかアクセスできない変数
エンクロージングスコープ
変数
関数の外側にあるローカル変数
(関数の中で関数を定義する場合などに使われる)
グローバル変数 ファイルの中でどこからでもアクセスできる変数
ビルトイン変数 lenやrangeといったビルトイン変数など、どこからでもアクセスできるもの

ローカル変数の値を書き替えたい場合にはglobal xなどのように指定する

オブジェクト指向とクラス

class User:#Userというクラスを定義
    def __init__(self,name,password):#コンストラクタの定義
        self.name=name
        self.password=password
    def login(self,password):#ログインメソッドの定義
        if self.password==password:
            return True
        else:
            return False
    def logout(self):#ログアウトメソッドの定義
        print('logout')
        
a=User('admin','password')#ユーザー名[admin],[password]のユーザーを作成
if a.login('password'):#パスワード「password」を指定してログイン
    a.logout()
#logout

メソッドを定義するときに引数にselfを必ず記述する必要がある。