@wywm@z[y[W
ŏIXVF2025N13
@Python̗\ɂĐ܂B
@Pythonɂ͗\ꂪA\͕ϐȂǂɎgƂ͂ł܂BȂA
import keyword
print(keyword.kwlist)
ƂƁAL[[ḧꗗ\邱Ƃł܂B
(1) True, False
@_^ϐ̒lƂȂ_^̃IuWFNgłATrue͐^1ƓłBFalse͐^0ƓłBrZqsƌʂTrueFalseɂȂ܂B
(2) and, or, not, is, in
@_^ԂZqłB
A and B@AƏBƂɐ藧ƂTrueԂ܂B
A or B@AƏB̂ꂩ藧ƂTrueԂ܂B
not A@A藧ƂFalseCA藧ȂƂTrueԂ܂B
A is B@AB̃IuWFNĝƂTrueԂ܂B
A in B@ABɊ܂܂ĂTrueԂ܂B
(3) pass
@pasśAvOɒuĂs܂BW[쐬ꍇAƂ肠݂passuĂAg͌ō쐬悤AƂ悤ȏꍇɎg܂B
(4) if, else, elif
@if͏s܂BA^łBCsAAȔꍇA邢BC̎sDsAƂꍇA
if A:
B
C
D
Ƃ悤ɏ܂BA͏\_^̎ŁAɃR':'t܂BB̍C̍ɋ܂ACfgƌ܂B4̋邱ƂĂ܂A̐ɐ͂܂BAAA^̏ꍇBCŝłABC͈̍̋̐vĂKv܂BāAPythonł́ACfggĐ\\܂B
@A^łBCsAAUłDsǍEsAƂꍇA
if A:
B
C
else:
D
E
Ƃ悤ɏ܂BelsěɂR':'t܂BifelsẽCfg͈v܂B
@ϐaƕϐb̓eꍇBsAϐaƕϐc̓eꍇCsAϐaƕϐd̓eꍇDsAȊȌꍇEsǍFsAƂꍇA
if a == b:
B
elif a == c:
C
elif a == d:
D
else:
E
F
Ƃ悤ɏ܂B
@if̃ubN̒łɏꍇ܂Bϐaƕϐb̓eꍇBsAɁAϐeƕϐf̓eꍇFsAȂꍇɂGsAϐaƕϐc̓eꍇCsAϐaƕϐd̓eꍇDsAȊȌꍇEsǍHsAƂꍇA
if a == b:
B
if e == f:
F
else:
G
elif a == c:
C
elif a == d:
D
else:
E
H
Ƃ悤ɏ܂BifubNɍsɏ]ăCfg傫Ȃ܂B
(5) for
@JԂsƂɂ́Aforg܂B
for ϐ in CeuEIuWFNg:
́A4̃Cfgt܂B
Ƃ̂{p^[łBCeuEIuWFNǵAXgA^vAȂǁAYgăANZX^CṽIuWFNgł(Python̗p(7)QƂĂ)B3̗vfȂ郊Xg珇1vfoe1ɓȂ甽sꍇA
c1 = [ "orange", "apple", "peach" ]
for e1 in c1:
print(e1)
pass
ƂƁAʂɁA
orange
apple
peach
ƕ\܂Bfor[v̒for[v邱Ƃł܂B
c1 = [ "orange", "apple", "peach" ]
c2 = [ 1, 2 ]
for e1 in c1:
print(e1)
for n1 in c2:
print(n1)
pass
ƂƁAʂ
orange
1
2
apple
1
2
peach
1
2
ƕ\܂B
(6) while
@whileJԂsłAforƂ͈ႢA
while _l:
ƌ̂{p^[ŁA_l^łAJԂ𑱂܂B_lŏTrueɂĂAJԂI^C~OŘ_lFalseɂ邱Ƃɂă[v܂B
b1 = True
while b1:
s1 = input("while[vI܂H(y or n)")
if s1[0]=="y":
b1 = False
pass
ƂƁAʂ
while[vI܂H(y or n)
ƕ\܂AŁA'n'Ɠ͂ƌJԂsA'y'Ɠ͂ƁA_lb1UƂȂAJԂI܂Bwhile̓rŏł肽ꍇAcontinueƁAŏłāAwhile̐擪ɖ߂܂B
n1 = 1
b1 = True
while b1:
print("n1:", n1)
n1 += 1
if n1<3:
continue
else
b1 = False
pass
ƂƁAn1̏l11₵āA3ȉȂJԂpAn13ɂȂƂb1FalseɂȂČJԂIAʂ
n1:1
n1:2
ƕ\܂Bb1 = FalseƂɁAbreak邱ƂɂĂJԂI邱Ƃł܂B
n1 = 1
b1 = True
while b1:
print("n1:", n1)
n1 += 1
if n1<3:
continue
else
break
pass
ƂĂAlɉʂ
n1:1
n1:2
ƕ\܂BwhileforlɁAwhile[v̒while[v邱Ƃł܂B
(7) class
@Python̂悤ȃIuWFNgwł́ANXƂ̂g܂BNX́AP̕łāAf[^\Ə𗼕Ă܂B\bhƌ܂BNX͒ۓITOƌ܂ÃNX̃f[^\̎ۂ̃f[^CX^Xƌ܂BCX^X̏ɂ́ANX̏g܂B
@eNXɂ͒ʏACX^X邽߂RXgN^ƌĂ__init__(self)Ƃ\bht܂BselfƂ͎̂gAƂӖłB
@NX̋LqsĂ郂W[module1ƂƁANXg߂ɂ́ANXgƂOɁA
import module1
u܂Bt@C̃vOŃNX`sꍇɂ́ANXgƂ̑OɁANX`u܂Bmodule1̒́Amyclass̃CX^X̂łA
m1 = module1.myclass()
ƂACX^Xm1쐬܂BNX`t@CɂȂAm1 = myclass()OKłB̂ƂɌĂяôAmyclass̃RXgN^__init__(self)łBNXnameƂ(vpeBƌ܂)ARXgN^OɎAmyclass̃CX^X"name1"ƂOčꍇ́Am1 = myclass("name1")Ƃ܂B̏ꍇ̃RXgN^͉L̂悤ɂȂ܂B
class myclass:
def __init__(self, s1):
self.name = s1
@CX^Xm1nameƂvpeBƂAm1̌ɃsIh'.'tăvpeB𑱂Am1.namê悤ɕ\܂BLself.nameƂȂĂ܂Aself͐CX^Xg\ĂāACX^XgnamevpeBɈs1ݒ肷邱ƂӖ܂BāAm1.nameɂ"name1"܂Bʂ̃CX^Xm2Am1 = myclass("name2")ƂčƁAm1.namem2.name͕ʕłBCX^X̃vpeBCX^XϐƌĂԂƂ܂B
@ɑāANXgɃvpeBt邱Ƃ\łBNXg̃vpeBNXϐƌĂԂƂ܂B̏ꍇ́A
class myclass:
count1 = 2
def __init__(self, s1):
self.name = s1
̂悤ɂāAclass myclass:̒ɁAϐcount1̒`u܂Bmyclass̃vpeBcount1́Amyclass.count1ƂăANZXł܂B̌A
m1 = myclass("name1")
m2 = myclass("name2)
ƂāACX^Xm1Cm2܂B̎_ŁAprint(m1.count1)ƂƁA2myclass.count1̓e\܂BłAm1.count1 = 5ƂłĂ܂܂B́A̎_ŃCX^Xm1ɃCX^XϐƂẴvpeBcount1łĂ܂Am1.count1myclass1.count1Ɗ֘AȂȂ܂Bmyclass.count1 = 7ƂƁAm2.count17ɂȂ܂Am1.count15̂܂܂łBzłA̓_AӂKvłB
@Pythonł͑sƂɃf[^̈mۂ̂ŁA炩߁AǂvpeB̂錾Kv͂܂Bm1.count1 = 5ƂiKŁACX^Xm1vpeBcount1悤ɂȂ܂Bܘ_Am1.name = "name5"ȂǂƂāACX^Xϐ̓e邱Ƃł܂Bm1.newprop = "new"ȂǂƂA̎_ŃvpeBnewproplj܂B
@NXɃNXŗL̊(\bh)`Ƃɂ́A
class myclass:
e1 = []
def __init__(self, s1):
self.name = s1
self.e2 = []
def mymethod(self, s2):
self.e2.append(s2)
return len(self.e2)
def dispname(self)
print("ÓF", self.name)
Ƃ悤ɁANX`̒ɁAdefɑă\bhA܂Bŏ̈selfɂȂ܂B\bh̖ɂ͒ʏreturn܂Breturnɂ͖߂lt邱Ƃł܂BreturnȗƁA߂l͂܂B@RXgN^__init__()̖߂ĺACX^XgłBL̗̃\bhmymethodł́AXge2̑傫Ԃ悤ɂȂĂ܂BCX^Xm1ɂāAmymethodĂяoƂ́A
len1 = m1.mymethod("information1")
ƂƁAappendsāAm1.e2[0]"information1"ɂȂAXge2̑傫1߂lƂlen1ɓ܂B
@܂ACX^X郁\bhpӂĂāANX`̒ŁA
class myclass:
def __init__(self, s1):
self.name = s1
def __del__(self):
pass
ƂĂƁA
m1 = myclass("name1")
del m1
ŁAꂽCX^Xm1폜邱Ƃł܂(__del__()fXgN^ƌ܂)B
@Lmyclass̃TuNXchildclassꍇ́ANXpāA
class childclass(myclass):
Ƃ܂BeNX̃\bhgꍇɂ́Asuper()pāAsuper().dispnameƂ܂B
class childclass(myclass):
def __init__(self, name):
super().__init__(name)
self.name2 = "" + self.name
def childmethod(self):
super().dispname()
print("TuNXnameF", self.name2)
m2 = childclass("efghij")
m2.childmethod()
ƂƁAʂɁA
ÓF efghij
TuNXnameF efghij
ƕ\܂B
(8) del
@IuWFNg폜̂ɂ́Adelg܂Bdel̑Ώۂ̓^vłB
del obj1, obj2, obj3
̂悤ɂāAJ}','łȂŕ̃IuWFNg폜ł܂Bdel̓XCXs܂B
e1 = [ 2, 4, 6, 8, 10 ]
del e1[2:4]
print(e1)
ƂƁAʂɁA[ 2, 4, 10 ]ƕ\܂Bdel e1[2]ł6폜܂Bdel e1[-2:]ł͖2̗vf810폜܂B
(9) return
@ĂяoĂĂяoɐ߂Ƃɂ́Areturng܂Breturňɖ߂lt邱Ƃł܂B߂ĺAlAAXgAAȂǂׂẴIuWFNg\łB^vԂAJ}','łȂŕ̃f[^ԂƂł܂BAA߂l͌ĂяoƓKĂKv܂B
(10) match
@matchł́A}b`OsǍʂɉĕ܂Bl͂Đl̃}b`Osꍇ͎̂悤ɂȂ܂B
j1 = int(input("l͂ĂF"))
match j1:
case 1:
print("1łB")
case 2:
print("2łB")
case 3:
print("3łB")
case _:
print("̑łB")
pass
ƂƁAul͂ĂFvɑāA2Ɠ͂ƁAʂɁA2łBƕ\܂Bcase _:ŌɓĂƁAA_[XRA'_'͉ɂł}b`̂ŁAOcaseŃ}b`Ȃ̂ďsƂł܂BftHg̓w肷ꍇɎg܂B
@͂ĕ̃}b`Osꍇ͎̂悤ɂȂ܂B
str1 = input("̓́F")
match str1:
case "a":
print("ałB")
case "b*":
print("bcłB")
case str1 if len(str1)>2:
print("3ȏłB")
case _:
print("̑łB")
pass
ƂƁAu̓́FvɑāAaƓ͂ƁAʂɁAałBƕ\܂BbcƓ͂ƁAʂɁAbcłBƕ\܂BcdeƓ͂ƁA3ȏłBƕ\܂BdƓ͂ƁȂłBƕ\܂Bcase str1 if len(str1)>2́Astr1Ƃ͎gȂ̂ŕK}b`Ǎif̏ƕ܂B
@̑matchł́A^vƂ̃}b`OANXƂ̃}b`Os܂B
(11) self
@IuWFNgwPythonł́ANX`ÃNX̐LCX^XăvO~Os܂B̂ƂANXACX^X̎ĝɁAselfg܂B
@NXɑ郁\bhł́A1͕Kselfɂ܂B__init__()ŃCX^XƂA2ŃCX^Xw肵āÃCX^XnameƂvf̂łA__init__()͎̂悤ɂȂ܂B
class myclass:
def __init__(self, name)
self.name = name
def dispname(self)
print("ÓF", self.name)
m1 = myclass("abcd")
m1.dispname()
ƂƁAʂɂ́AOabcdƕ\܂B
(12) @property
@Z^悤ȂƂAlƂ̃NXPersonɁAOAZAX֔ԍA敶i[Aname, addrCpostcodeC_postƂvfAĥw肷郁\bhposta()C_postƂvf郁\bhpostb()pӂƂ܂BCX^XAX֕̈邽߂ɂ́Aȉ̂悤ɁA\bhposta()Ōĥw肵A\bhpostb()ĂяôʂłB
class Person:
def __init__(self, name, addr, postcode):
self.name = name
self.addr = addr
self.postcode = postcode
self._post = ""
def posta(self, aa):
self._post = chr(12306) + self.postcode + chr(13) + chr(10) + self.addr + chr(13) + chr(10) + "@@" + self.name + aa
def postb(self):
return self._post
p1 = Person("OY", "sR3-10-12", "119-3679")
p1.posta("l")
postaddr1 = p1.postb()
print(postaddr1)
ƂƁAʂɂ́A
119-3679
sR3-10-12
@@OYl
ƕ\܂Bchr(12306)''łBłAL̂悤ɁANX`̒ŁAdef post()̑OɁA@propertytƁAp1.postƂ邾ŁA\bhpost()̌ʂNX̗vfpost̂悤ɎoƂł܂B܂A_postɌĥt郁\bhpost()̑O@post.settertƁAp1.postɑ悤ȋLqƁAf[^\bhpost(self, aa)̑2aaɓă\bhĂяoAƓʂ܂B
class Person:
def __init__(self, name, addr, postcode):
self.name = name
self.addr = addr
self.postcode = postcode
self._post = ""
@property
def post(self):
return self._post
@post.setter
def post(self, aa)
self._post = chr(12306) + self.postcode + chr(13) + chr(10) + self.addr + chr(13) + chr(10) + "@@" + self.name + aa
p1 = Person("OY", "sR3-10-12", "119-3679")
p1.post = "l"
print(p1.post)
ƂƁAʂɂ́A
119-3679
sR3-10-12
@@OYl
ƕ\܂B
(13) import, as, from
@W[pqrgꍇɁA
import pqr
Ƃ܂BŁAW[pqrŒ`Ăst()CNXuvApqr.st()Cpqr.uvƂĎgp\ɂȂ܂BW[pqrstgꍇ́A
from pqr import st
Ƃ܂BW[pqr̃NXabcdefghijklmƒĎgɂꍇ́A
from pqr import abcdefghijklm as ab
ƂƁAabcdefghijklm.dataƂɁAab.dataƂėp邱Ƃł܂B
(14) global
@ŃO[oϐabcɃANZXꍇA̍ŏŁAglobal abcƐ錾܂B
abc = 0
def func1():
global abc
abc = 1
return
def func2():
abc = 2
return
print("func1̑O abc =", abc)
func1()
print("func1̌ abc =", abc)
func2()
print("func2̌ abc =", abc)
ƂƁAʂɁA
func1̑Oabc=0
func1̌abc=1
func2̌abc=1
ƕ\܂Bfunc1̒ł́Aabcglobal錾ĂāAabc=1̓O[oϐabcɑĎs܂Afunc2̒ł́Aabcglobal錾ĂȂ̂ŁAabc=2̓[JϐabcɑĎsO[oϐabcɂ͉e܂B
(15) nonlocal
@globalŐ錾ϐɑ\ƂȂ̂1̃R[hubN̕ϐȂ̂ɑāAANX`ődɃlXg悤ȏꍇɁÅANXŜ̕ϐɑđ\ɂ邽߂ɂ́Anonlocalg܂B
(16) with
@__enter()__\bhƁA__exit()__\bhNXɑāA__enter()__\bhsāACX^X𖼑OčAwith߂̏Ă镶̎sɁA__exit()__\bhs܂B
CX^X쐬͕sƂł܂Bȉł́A
abcd
efghij
klmnopqr
stuvwxyz
Ƃedata1.txtƂt@CEIuWFNg̃CX^Xf1ƂčAdata2.txtƂt@CEIuWFNg̃CX^Xf2ƂčAf1read\bhsAf1ǂݍŕstr1Ɋi[Aʂstr1\Af2wrrite\bhsāAstr1̓ef2ɏoAŌɁA__exit()__\bhs邱ƂɂAf1.close()f2.close()sďI܂B
with (open("C:\\python\\testpro\\data1.txt", 'r') as f1,
open("C:\\python\\testpro\\data2.txt", 'w') as f2
):
str1 = f1.read()
print(str1)
f2.write(str1)
ƂƁAʂɁA
abcd
efghij
klmnopqr
stuvwxyz
ƕ\āAt@Cdata2.txtɏ݂܂Bclose()\bhwithŝŁAIɏKv͂܂B
@withgƁAclose()\bhKvȂ֗AƏĂEFuTCg܂Ǎɂ͌ȂPythonŗL̋@\Ȃ̂ŁǍŃt@CcloseY錴ƂȂA߂ł܂B
(17) try, except, else, finally
@Os߂̕ŁAgݍ킹Ďg܂BvOsɗOƁAvOrIĂ܂̂ŁAIȂ悤ɁAOɉs炩ߋLqĂ܂B
@ON\̂镔̑OɁA"try:"u܂B
@̌̕ɁA"except O:"ƂāAȌ܂B
@ɁA"else:"ɑėONȂꍇ̏܂B͏ȗĂ\܂BŌɁAOAONȂ̏̌ɋʂčsA"finally:"ɑď܂B
@ȉł́A0ŊƂɔOZeroDiviisionErrorƂ̏LqĂ܂B
e1 = [2, 5, 0, 1]
for j1 in e1:
try:
j2 = 10 / j1
print("10", j1, "", j2)
except ZeroDivisionError:
print("0Ŋ邱Ƃ͂ł܂B")
else:
print("Z")
finally:
print("ɐi݂܂")
ƂƁAOZeroDiviisionError̂łAvO͓~AʂɁA
10 2 5.0
Z
ɐi݂܂
10 5 2.0
Z
ɐi݂܂
0Ŋ邱Ƃ͂ł܂B
ɐi݂܂
10 1 10.0
Z
ɐi݂܂
ƕ\܂B
(18) assert, raise
@O^Iɔ܂B
assert́A
assert
̂悤Ɏg܂B^łꍇɂ́A̍sɐi݂܂BȂꍇɂ́AOAssertionError܂B
print("assertňُf[^o")
e1 = [2, 5, 0, 1]
for j1 in e1:
print("j1F", j1)
try:
assert j1 < 5
except AssertionError:
print("ُf[^o")
ƂƁAj15ɂȂƂAssertionErrorOAʂɁA
assertňُf[^o
j1F 2
j1F 5
ُf[^o
j1F 0
j1F 1
ƕ\܂B
raiséA炩߁AONXA
Class CheckError(Exception):
pass
̂悤ɁA`ĂA
raise CheckError("ُf[^o")
̂悤Ɏg܂B
print("raiseňُf[^o")
e1 = [2, 5, 0, 1]
for j1 in e1:
print("j1F", j1)
if j1 > 4:
try:
raise CheckError("ُf[^o")
except CheckError as e:
print(e)
else:
continue
ƂƁAj15ɂȂƂCheckErrorOAʂɁA
raiseňُf[^o
j1F 2
j1F 5
ُf[^o
j1F 0
j1F 1
ƕ\܂B
(19) None
@l݂ȂƂgݍݒ萔łB
yLz@LłB̊F܂̂x肽A낵肢܂B
yLz@L͂܂łłB