pythonの基本的な操作についてまとめます。出力、繰り返し、リスト、辞書、関数、便利な記述法、クラスについてです。
以下の本を参考にしました。
この順番で説明します。
1:pythonの復習:出力、繰り返し
print、input、if、elif、else、pass、for、range、break、continue、変数関数についてです。
#pythonの復習1、出力、繰り返し grade=2 old=19 print("学部",grade,"年です.",end="") print("よろしくお願いします") #学部2年です.よろしくお願いします
grade_str=str(grade) print("学部"+grade_str+"年です.") #学部2年です. print("年齢:{0},学年:{1}".format(old,grade)) #年齢:19,学年:2 print("{first}+{second}={result}".format(first=3,second=2,result=5)) #3+2=5
name=input("hello") #helloと表示される。入力できる。nameに代入される。 number=2 #if,elif,else if number%10==0:print("10で割れる") elif number%5==0:print("5で割れる") else:print("わからん")
n=5 #pass、何もしない if n==4:pass else:print(n) for a in range(5):print(a,end="") #01234 for a in range(1,6):print(a,end="") #12345 for a in range(1,6,2):print(a,end="") #135 for a in range(10): print(a,end="") #0123 if a==3:break for a in range(5): print(a,end="") if a%2==0:continue print("odd",end="") #01odd23odd4 a=30 #関数みたいにいろいろできる a=a.__add__(5) #a=35 print(dir(a)) #使える関数一覧が出てくる
list、enumerate、del、タプル、辞書、keys、values、itemsなどです。
#pythonの復習2、リスト、辞書など list1=[1,3,5,7] for a in list1: print(a,end="") #1357 list2=["a","b","c"] for a,b in enumerate(list2): #indexと値が入る print(a,b) a=[1,2,3] a+=[4,5,6] #a=[1,2,3,4,5,6] print(a[1:3]) #[2,3] print(a[::2]) #[1,3,5] print(a[1:5:2]) #[2,4] a=[1,2,3,4,5,6] del a[2] #a=[1,2,4,5,6] a={1,2,3,4} print(1 in a) #True b={1,2} print(a-b) #{3,4} c={3,4,5} print(a|c) #{1,2,3,4,5} print(a&c) #{3,4} dic={1:11,2:22,3:33} print(dic[1]) #11 print(list(dic.keys())) #[1,2,3] print(list(dic.values())) #[11,22,33] print(list(dic.items())) #[(1,11),(2,22),(3,33)] for a,b in dic.items():print(a,b) #keyとvalueが入る a,b,c=[1,2,3] print(a,b,c) #1 2 3
3:pythonの復習:関数、便利な記述法
args、lambda、import、map、filter、内包表記などです。
#pythonの復習3、関数、便利な記述法 def sumargs(*args): #引数任意の関数 result=0 for a in args:result+=a return result print(sumargs(1,2,3,4,5))#15 def argsargs(**args):return args #引数が辞書に入る print(argsargs(a=1,b=2,c=3)) #{'a': 1, 'b': 2, 'c': 3} print(argsargs(a=12,b=13,c=14)) #{'a': 12, 'b': 13, 'c': 14} x=lambda x:x*2 #気軽に関数定義 print(x(2)) #4 print(x(3)) #6 list3=[1,2,3,4,5] #関数をlistの中身全部に実行するmap x2=lambda x:x**2 print(list(map(x2,list3))) #[1,4,9,16,25] x3=lambda x:x%2==0 #フィルターをlistの中身全部に実行filter print(list(filter(x3,list3))) #[2,4] from chainer import Link #chainerから選んでimport from matplotlib import * #matplotから中身全部import data=[i*2 for i in range(5)] #data=[0,2,4,6,8] data2=list(map(lambda x:x*2,range(5))) #data2=[0,2,4,6,8] data3=[i for i in range(5) if i%2==0] #data3=[0,2,4] base=[1,2,3] data4=[(x,y) for x in base for y in base] #data4=[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)] data5=[(x,y) for x in base for y in base if x!=y] #data5=[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
4:pythonの復習:classについて
class、__init__、継承、__call__などについてです。
#pythonの復習4、classについて class Student: def __init__(self,id,score=0): #__init__で初期化 self.id=id self.score=score def setscore(self,score):self.score=score def getscore(self):return self.score class Calc: #classを使うclass def __init__(self):self.students=[] def add(self,student):self.students.append(student) def ave(self): result=0 for i in self.students:result+=i.getscore() result=result/len(self.students) return result s1=Student(1,50) #calcに生徒のデータを追加して、成績の平均を求めることができる s2=Student(2,60) s3=Student(3,80) calc=Calc() calc.add(s1) calc.add(s2) calc.add(s3) class A: def printa(self):print("a") class B: def printb(self):print("b") class C: def printc(self):print("c") class D(A,B,C): #classの継承 def printd(self):print("d") def printall(self): self.printa() self.printb() self.printc() self.printd() d=D() d.printa() d.printd() d.printall() class Game: def __init__(self): self.score=100 self.count=3 def start(self):print("start") class Cardgame(Game): #classの継承 def __init__(self): super().__init__() self.max=53 def next(self):print("next turn") first=Cardgame() print(first.score) print(first.max) first.next() class List_practice: #__call__でクラス自身を関数みたいに使える def __init__(self,length):self.list1=[i for i in range(length)] def __call__(self,number):print([i*number for i in self.list1]) def add(self,number):self.list1.append(number) mylist=List_practice(5) mylist(2) #[0,2,4,6,8] print(mylist.list1) #[0,1,2,3,4]
pythonの復習をしました。
アドバイス、改善点、質問などがあればお願いします。