ãããã£âŠç§ã®Pythonã³ãŒããæ±ããâŠããšãªããªãããã®ãªãŒããã«ã³ãŒã

ä»äººã®ã³ãŒããèªãã§ããŠããµãšãããšãã«æããŸãã
ããªããèªã¿ã«ãããã ããªã
ãã¡ããç§ã ã£ãŠãæåããèªã¿ãããã³ãŒããæžããŠããããã§ã¯ãªãã§ãããããããæã¯ä»äººã«ããããããã€ã®ã³ãŒãèªã¿ã«ãã£ïŒããšæãããŠãããããããŸããã
ãšã¯ãããPythonãæžããŠããŠæ°å¹Žããããšããã¯ãå®æŽŸããæ £ãããã§ããªãèªã¿ãããã³ãŒããæžãããã«å·¥å€«ããããã«ãªã£ãŠããŸãã
ãããªç§ãç¬æãšåèŠã§ããããããµãã«ã³ãŒããæžãã°ãã£ãšèªã¿ããããªãã®ã«ããšæãããããªã³ãŒããPythonã§è§£èª¬ããŸãã
ïŒé³ç¬ŠãšãæžããŠãããã®æ°Žè²ã®ãªãŒããã«ã³ãŒããšããæ¬ãèªãã°ãã£ãšããã«åºã¥ããã³ãŒãã®æžãæ¹ïŒããšãæžããã®ãããããŸããããããã«ããç§ã¯ä»åŸã³ãŒããæžãæ©äŒãä»äºã®éœåäžæžãå¯èœæ§ãããªãé«ãã®ã§ãèªãã«è³ã£ãŠãããŸããïŒ
- 1. æååæäœãèªã¿ããããã
- 2. 颿°ã§äœãå ¥åãããŠäœãåºåãããã®ãèŠããããã
- 3. 倿°åã®èŠåãæ±ºããŠãã
- 4. iterableãªãã®ã¯iterableã«ããŠãã
- 5. ã§ããã ã仲éã«ãªããããªèŠçŽ ã¯ãŸãšãã
- 6. ã§ããã ãæ©èœãåããã®ã¯ãŸãšãã
- 7. importã§fromã䜿ããå Žåã¯ã§ããã ãfromã䜿ã
- 8. withã䜿ãããã®ã«ã¯withã䜿ã
- 9. èªåãäœã£ãã¯ã©ã¹ã®åºåã«è²¬ä»»ãæã€
- 10. ãšã©ãŒãèµ·ããŠãèµ·ããªããŠãæ³å®å€ã®æåãèµ·ããããšããããåºåãã
- 11. ã³ã¡ã³ãã¯æžã
- 12. ãããã«
- 13. ãªãã§ãã®ããŒãžãæžããã®ã
æååæäœãèªã¿ããããã
æååæäœã«ã¯å€§ãã4ã€ã®æŽŸé¥ããããŸãã
è¶³ãç®æŽŸãããŒã»ã³ã掟ãformat掟ããããŠfstring掟ã
Pythonã®æä»£ã®æµããããããšå·Šããå³ã«ããã«ã€ããŠææ°ããŒãžã§ã³ã§ããåããªããããªãã®ã«ãªããŸãã
以äžããã4ã€ã®æŽŸé¥ã説æããŸãã
æåããã4ã€ãã¹ãŠãèŠããããšã¯å€§å€ãããããŸããããä»äººã®ã³ãŒããèªãã§ããªãã»ã©ãããããæå³ã ã£ãã®ãããšããããšãçè§£ããããšã¯å€§äºãªã®ã§ãã ãã ããšèŠããŠãããšè¯ãã§ãã
è¶³ãç®æŽŸ
誰ããæåã«éãéã ãšæããŸãã
ç§ãæåã¯ãã®è¶³ãç®æŽŸã®äººéã§ããã
ãã®æŽŸé¥ã®ã¡ãªãããšããŠã¯ããªããšèšã£ãŠããåå¿è ã«ãšã£ãŠããããããã
äŸãã°ãããèŠãŠãã ããã
directory_name = '/Users/tester/Desktop/'
file_name = directory_name + 'myWorkSpace.txt'ãã®ããã«ããããã£ã¬ã¯ããªãŒ'/Users/tester/Desktop/'ã®äžã«ãããã¡ã€ã«myWorkSpace.txtãåãåºããšããåŠçãããªãããããããããæžããŠããããã«èŠããŸãã
ãããããã®æŽŸé¥ã®ãã¡ãªãããšããŠã¯ããªããšèšã£ãŠãæ £ãããšèªã¿ã«ããã
äŸãã°ãå
ã»ã©ã®ãã£ã¬ã¯ããªãŒé
äžã«1.txtãã9.txtãšãããã¡ã€ã«ããããšããŸãããã®ãã¡ã€ã«ã®ãã¹ãŠã«ã¢ã¯ã»ã¹ãforæã§ããå Žåã
directory_name = '/Users/tester/Desktop/'
for i in range(1, 10):
file_name = directory_name + str(i) + '.txt'
# ãã¡ã€ã«ãèªã¿èŸŒãåŠçæ £ããè ããããããããããæ°åãstrã«å€ããŠè¶³ãç®ãããªããŠãããã©ãããã£ããïŒããšãªããŸãã
ãã®åé¡ã解決ããŠãããã®ããäžã®3ã€ã®æŽŸé¥ã§ãã
ããŒã»ã³ã掟
Cèšèª/C++ã«è§ŠããŠããã°å°ãã¯ããããããããŸããã
äŸãã°ãããã£ãæžãæ¹ãæããããŸãã
print('this is a %s.' % 'sample') # 'this is a sample.'
print('%03d' % 25) # 025æå€ã«ããã®ãããªæžãæ¹ã¯pipã§ã€ã³ã¹ããŒã«ã§ãããããªãµãŒãããŒãã£ãŒã©ã€ãã©ãªãŒã®äžèº«ã«ãããèŠãããŸãã
ãã®æžãæ¹ã䜿ããšãäŸãã°001.txtãã120.txtãŸã§ã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ãããå Žåã«ãã
directory_name = '/Users/tester/Desktop'
for i in range(1, 121):
file_name = '%s/%03d.txt' % (directory_name, i)
# ãã¡ã€ã«ãèªã¿èŸŒãåŠçãšããæžãæ¹ãã§ããããã«ãªããŸãã
format掟
formatãšãããã®ã䜿ãã°ãå ã»ã©ã®ããŒã»ã³ã掟ãããããå°ããšã¬ã¬ã³ãã«æžããŸãã
desktop_directory_name = '/Users/tester/Desktop'
for i in range(1, 121):
file_name = '{directory_name}/{file_number:03}.txt'.format(
directory_name = desktop_directory_name,
file_number = i
)
'%s/%03d.txt' % (directory_name, i)
# ãã¡ã€ã«ãèªã¿èŸŒãåŠçãããå ã»ã©ãšåæ§ã«ãµãŒãããŒãã£ãŒã©ã€ãã©ãªãŒã®äžèº«ã«ãããèŠãããŸãã
fstring掟
æè¿æµè¡ãã®ãæååã®äžã«åã蟌ããããã°è¯ããªãïŒïŒããšãããã®ã§ãã
ãšãã£ã¿ãŒã«ãã£ãŠã¯{}ã§å²ãŸãã倿°ã®éšåã®è²ããããã«ããŠããããããã®ã§ãèªã¿ã«ããã¯ç¹ã«æããªããããããŸããã
ãŸããããå°ã现ããåãããšãfstring掟ã«ã¯ããŒãžã§ã³ã®éããã¡ãããšèæ ®ããŠãããç©å¥æŽŸãšææ°ããŒãžã§ã³ããæ£çŸ©ã ãšåéãããŠããéæ¿æŽŸã®2çš®é¡ãããŸãã
ç©å¥æŽŸã®ã³ãŒãäŸãšããŠã¯ã
a = 309
print(f'a={a}'} # a=309
li = [301, 209, 501, 116]
print(f'sum of li is {sum(li)}.') # sum of li is 1127.
charms = 'I love Python.'
print(f'charms={charms}') # charms=I love Python.
ãããŠéæ¿æŽŸã®ã³ãŒãäŸãšããŠã¯ã
a = 309
print(f'{a=}'} # a=309
li = [301, 209, 501, 116]
print(f'{sum(li)=}') # sum(li)=1127
charms = 'I love Python.'
print(f'{charms=}') # charms='I love Python.'
ãã®éæ¿æŽŸã®ã³ãŒãã¯3.8以éã§ãªããã°åããŸããããã®ããå€ãããŒãžã§ã³ãåãæšãŠãããšã«ãªããŸãã
ã¡ãªã¿ã«ç§ã¯ãã®fstring掟ã®éæ¿æŽŸã«è¿ããããããªã人éã§ãã
ãã¡ãããã¯ã©ã€ã¢ã³ããšãäžåžãšãã«é ŒãŸãããä»ã®æŽŸé¥ã§ãæžããŸãããäœãèšãããªãã£ãããåºæ¬çã«ãã®éæ¿ãªæžãæ¹ãããŸãã
颿°ã§äœãå ¥åãããŠäœãåºåãããã®ãèŠããããã
Pythonã¯ãããã倿°ã®åãäžããªããŠãè¯ããšããããšãå©ç¹ãšããŠæããããŠããŸãããéã«æè¿ã®ãã¬ã³ãã§ã¯ããã£ã±ãåãå®ãŸã£ãŠããªããšãäœãå ¥ããŠè¯ãã®ãããããªãããçµå±ã¡ãããšåããã§ãã¯ããªããšãããªãããšãããã®ã«ãªã£ãŠããŸãã
åå¥å€æ°ã®1ã€1ã€ã«ãŸã§åãæå®ããããšã¯ããªããŠãè¯ããããããŸããããèªåãäœã£ã颿°ãããã«ã¯åãã¢ãããŒã·ã§ã³ããŠãããã»ããåŸã ã®ä¿å®ã®èгç¹ãããæ¥œã ãšæããŸãã
def myadd(val1: int, val2: int) -> int:
return val1 + val2
ãã ãã以äžã®
def mysum(li: list[int]) -> int:
res = 0
for val in li:
res += val
return resã®ããã«æ°ããããã³ãŒããæžããšåããªããªã£ãŠããŸãããšãããã®ã§ã泚æãå¿ èŠã§ãã
ãã®å Žåã¯listã¯subscriptableã§ã¯ãªããšãããšã©ãŒãåºãŠããŸãã
倿°åã®èŠåãæ±ºããŠãã
ããã¯ããèšãããŠããããšãªã®ã§ãããŸã説æã¯ããŸããããèŠã¯ããããããã£ãŠintã ã£ãã£ãïŒããšããããã£ãŠãªãã®ããã®å€æ°ã ã£ãã£ãïŒããšããšãªãã®ãé²ãããã«éèŠã§ãã
ãã¡ããããã¯ãéãã³ã¬ãªã¢ã³ãªããŠFã¯ãŒãã ããšããã¹ããŒã¯ã±ãŒã¹ãªããŠCã¯ãŒãã ããšã宿æŠäºãèµ·ããããªãã®ãããããããã®ã§ããŸãå€ãã¯èšããŸãããç¬ãçµç¹ããããžã§ã¯ãã«ãã£ãŠçå®ããã倿°åã®èŠåã«åŸã£ãŠããã®ãç¡é£ã ãšæããŸã
import re
num = 0
while True:
num_str = input('0以äžã®æŽæ°ãå
¥åããŠãã ãã: ')
if re.search('^[0-9]+$', num_str):
num = int(num_str)
break
print('äžæ£ãªå
¥åããããŸãã')
iterableãªãã®ã¯iterableã«ããŠãã
äŸãã°ããªã¹ãã®äžèº«ãåºåããéã«ã
li = [302, 102, 403, 109]
for ix in range(len(li)):
print(li[ix])ãšæžããŠãããããã
li = [302, 102, 403, 109]
for val in li:
print(val)ãšæžããŠããã»ããèªã¿ãããã§ãã
ãã ãã以äžã®
li = [302, 102, 403, 109]
for ix in range(len(li)):
li[ix] = li[ix] * 2
# li[ix]ã䜿ã£ããããªäœãããã®åŠçã®ããã«èŠçŽ ã®äžèº«ãå®å šã«æžãæãããå Žåã¯ããã®éãã§ã¯ãããŸããã
ã§ããã ã仲éã«ãªããããªèŠçŽ ã¯ãŸãšãã
ãã£ãã®iterableãªãã®ã¯ãã®ãšããã§ãããããããããã¯èšã£ãŠãããè€æ°ã®ãªã¹ãã®åãã€ã³ããã¯ã¹ã®èŠçŽ ã«ã¢ã¯ã»ã¹ããããã ãããšãªãããšããããããããŸããã
ããããã¯èŠçŽ ã®æ§ç¯ã®ä»æ¹æ¬¡ç¬¬ã§è§£æ±ºã§ããŸãã
li1 = [103, 325, 450, 670]
li2 = [341, 504, 220, 118]
# ããŸãè¯ããªãäŸ
for ix in range(len(li1)):
print(li1[ix], li2[ix])ããæžããããªããããããŸãããã
li1 = [103, 325, 450, 670]
li2 = [341, 504, 220, 118]
# ããè¯ãäŸ
for val1, val2 in zip(li1, li2):
print(val1, val2)ããæžããã»ããèªã¿ãããã§ãã
ã§ããã ãæ©èœãåããã®ã¯ãŸãšãã
äŸãã°ããååã倿®µããšãã«ã®ãŒããšããèŠçŽ ãæã€ãæŒé£ããšããã¶ãŒãããããå Žåã¯ã
class Lunch(object):
def __init__(self, name: str, price: int, energy: int):
self.name = name
self.price = price
self.energy = energy
class Dessert(object):
def __init__(self, name: str, price: int, energy: int):
self.name = name
self.price = price
self.energy = energyãšæžãããããç¶æ¿ã䜿ã£ãŠ
class Dish(object):
def __init__(self, name: str, price: int, energy: int):
self.name = name
self.price = price
self.energy = energy
class Lunch(Dish):
pass
class Dessert(Dish):
pass
ãšæžããŠããŸã£ãã»ããããããšã¬ã¬ã³ãã§ãã
ãã¡ãããããã«ã¯ã©ã¹é¢æ°ãå«ããå Žåãåæ§ã§ãã
importã§fromã䜿ããå Žåã¯ã§ããã ãfromã䜿ã
ãŸããããã¯ã¹ããŒã¯ãã«ããŒã®åé¡ããå®éã®ã©ã€ãã©ãªãŒã®ä»æ§äžã®éœåããã䜿ããªãããšãããã®ã§ãäžéšã©ã€ãã©ãªãŒã«é¢ããŠã§ããã
from time import sleep, time
from matplotlib import pyplot as pltãšãã£ããããªæžãæ¹ããããšèªã¿ããããªããšæããŸãã
withã䜿ãããã®ã«ã¯withã䜿ã
æã®Pythonã§ã¯withãšãããã®ããªãã£ããããå°ã é¢åãªæžãæ¹ãããªããšãããªãããšããããŸããããä»ã¯ãããªããšã¯ãããŸããã
ãã¡ã€ã«ã®èªã¿èŸŒã¿ã¯
fname = 'sample.txt'
with open(fname, mode='r') as f:
f.read()ã§ããã®ãæ Œæ®µã«æ¥œã§ããã
ãŠã§ãäžããhtmlãåãåºãã®ã¯
import requests
url = 'https://example.com'
with requests.get(url) as req:
print(req.text)ãšæžãã»ããå§åçã«æ¥œã§ãã
ãšã¯ããã€ã³ã¿ãŒãããäžã«ã¯éå»ã®æç®ããµã€ããããªãã®æ°ããã®ã§ãããããè³å³ããŠããã®ã¯ãªããªãã«æ £ããŠããå¿ èŠããããšæããŸãã
èªåãäœã£ãã¯ã©ã¹ã®åºåã«è²¬ä»»ãæã€
èªäœã®ã¯ã©ã¹ã«ããçæãããã€ã³ã¹ã¿ã³ã¹ã«ã¯ã©ã®ãããªå€æ°ãå«ãŸããŠããã®ããšããããšããããã以äžã®
class Dish(object):
def __init__(self, name: str, price: int, energy: int):
self.name = name
self.price = price
self.energy = energy
dessert = Dish('ããªã³ã¢ã©ã¢ãŒã', 320, 400)
print(dessert.name) # 'ããªã³ã¢ã©ã¢ãŒã'
print(dessert.price) # 320
print(dessert.energy) # 400ã®ããã«æžããŠåºåããã®ã¯å€§å€ã§ãã
ã³ãŒãããã¹ã£ããããªãã¡ã¯ã¿ãªã³ã°ã§çºçããç¡é§ãªäœæ¥ãæžããããã«ãã
class Dish(object):
def __init__(self, name: str, price: int, energy: int):
self.name = name
self.price = price
self.energy = energy
def __str__(self):
name = self.name
price = self.price
energy = self.energy
return f'<{self.__class__.__name__}: {name=}, {price=}yen, {energy=}kcal>'
dessert = Dish('ããªã³ã¢ã©ã¢ãŒã', 320, 400)
print(dessert) # <Dish: name='ããªã³ã¢ã©ã¢ãŒã', price=320yen, energy=400kcal>ã®ããã«ç¹æ®ã¡ãœããã䜿ã£ãŠèŠãããããããšãããããããŸãã
ãšã©ãŒãèµ·ããŠãèµ·ããªããŠãæ³å®å€ã®æåãèµ·ããããšããããåºåãã
ããã¯ã»ãã®äžäŸã§ãããUNIXç³»ã§æžãããã®ãWindowsã«ç§»è¡ãããšãã«çºçãããã¡ã€ã«åã/ã§ååŸãããã®ã\\ã§ååŸãããã®ãåé¡ã«ä»éããŠçºçããŸãã
äŸãã°ããããã£ã¬ã¯ããªãŒsampleã®äžã«sub1ããsub8ãŸã§ã®ãµããã£ã¬ã¯ããªãŒãå
¥ã£ãŠãããããã«ãã®äžã«ããããraw1.csvããraw5.csvãšãããã¡ã€ã«ãå
¥ã£ãŠããå ŽåãUNIXç³»ã§å®è¡ãããš
import os
for fname in os.walk('./sample'):
print(fname)
# ('./sample', ['sub1', 'sub6', 'sub8', 'sub7', 'sub5', 'sub2', 'sub3', 'sub4'], [])
# ('./sample/sub1', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])
# ('./sample/sub6', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])
# ('./sample/sub8', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])
# ('./sample/sub7', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])
# ('./sample/sub5', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])
# ('./sample/sub2', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])
# ('./sample/sub3', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])
# ('./sample/sub4', [], ['raw2.csv', 'raw3.csv', 'raw1.csv', 'raw4.csv', 'raw5.csv'])ãšåºåãããŸãããWindowsã§ã¯\\ãå«ãã å¥ãªæååãåºãŠããŸãã
ããã/ãçšããreplace()ã§ãã£ã¬ã¯ããªãŒåãæžãæããããšãããšãåºåå
ãäžæã«ãªã£ãŠããŸãããšããããããããŸããã
ãã®ãããªãšããå®éã«åãããšãã«print()ã䜿ãããšã§ãããªããã®ã³ãŒããé©åã«åããªãã®ãããšããããšãèå¯ã§ããŸãã
ã³ã¡ã³ãã¯æžã
åœããåãããã®ã§æåã®ã»ãã§èšãã®ãå¿ããŠããŸããããäœããã£ãŠããã®ããšããããšãå¿ ãã³ã¡ã³ãã«æžããŸãããã
åºæ¬çã«ã³ãŒããæžããšããã®ã¯1人ã§ããããšã§ã¯ãããŸããã
ïŒäžã«ã¯Linusã®ããã«1人ã§äžççãªOSãäœã£ãŠããŸã人ããããïŒ
å€ãã®ã¹ããŒã¯ãã«ããŒã«ãšã£ãŠããããŠæªæ¥ã®èªåã«ãšã£ãŠããããããæ³šéãå ¥ããããšã¯ããã®åŸã®äœæ¥éã«å€§ãã圱é¿ããŸãã
ãããã«
ã³ãŒããæäººãããããªã»ããè¯ãã
Pythonãäœã£ãGuido van Rossumãããèšã£ãŠãŸããïŒèšã£ãŠããããªæ°ãããã®ã§ãããæ¥æ¬èªã®æç®ã§ã¯èŠã€ãããªãã£ãïŒ
Pythonããããªãã«æžããããã«ãªã£ãã®ã¯è¯ãããšã ãšã¯æããŸããããããã®æ®µéã«é²ãã ã®ãªããã³ãŒãããããã«æžããããã«å¿ãããŸãããã
ãã£ãšä»ãããããŸããŸãªäººãšããè¯ãé¢ä¿ãç¯ããããããè¯ããããã¯ããäœããããã«ãªããšæããŸãã
ãªãã§ãã®ããŒãžãæžããã®ã
ãç§ãã£ã¡ãã³ãŒãæžãããšæããã ããããã¶ããã¡ã®ä»£ã§ãã¡ã°ãã ãšç§ã¯ç§èªèº«ã§æãïŒããšèšã£ãŠããããå 茩ã®ã³ãŒããæåååŠçåšãã§ããŸãã«ãæ±ããããšããããšãšå ããŠãããã¡ã®ä»£ã§ãã¡ã°ãã³ãŒãæžããã®ãåãããªããŠä¿ºã ããããšèšã£ãŠããåçŽçãforæåšãã§ããŸãã«ãã²ã©ãåŠçãæžããŠããããã§ãã
ãã®ããããèªè² ããã®ã¯è¯ãããããããç§ã¯ã³ãŒããªããŠã»ãšãã©ãããå šãæžããªããããªä»äºãããããäœãèšãããŠãçŽæ¥çã«èšãè¿ã䟡å€ããªããšæã£ãŠãããã©ããããããµãã«èšããããªãããããã¡ãã£ãšèªã¿ãããã³ãŒããæžããŠãããªããïŒ
ç§ã¯åãã¡ãç§èªèº«ãããå§åçã«ããããªã³ãŒããæžã人ããå§åçã«ãšã¬ã¬ã³ããªåŠçãããã³ãŒããæžã人ã幟å€ãšç¥ã£ãŠãããã ãããåãã¡ãããŠã³ãããšã£ãŠããã®ããéåäŒã®ããã£ãã§åçŽçã«åã¡èªã£ãŠããå°åŠ1幎çãããã«ããããèŠããã®ãã
- åã®èšäº
ç»åãæšªã«äžŠã¹ãã瞊ã«äžŠã¹ããããã 2022.07.05
- 次ã®èšäº
ç飯åšã¯ã»ããšãã«å¿ èŠãªå®¶é»ãªã®ãïŒ 2026.08.13