çµã¿èŸŒã¿é¢æ°Â¶
Python ã€ã³ã¿ããªã¿ã«ã¯æ°å€ãã®é¢æ°ãšåãçµã¿èŸŒãŸããŠããããã€ã§ãå©çšã§ããŸããããããããã«ã¢ã«ãã¡ãããé ã«æããŸãã
çµã¿èŸŒã¿é¢æ° |
|||
|---|---|---|---|
- abs(number, /)¶
æ°ã®çµ¶å¯Ÿå€ãè¿ããŸããåŒæ°ã¯æŽæ°ãæµ®åå°æ°ç¹æ°ãŸãã¯
__abs__()ãå®è£ ããããªããžã§ã¯ãã§ããåŒæ°ãè€çŽ æ°ãªãããã®çµ¶å¯Ÿå€ (magnitude) ãè¿ãããŸãã
- aiter(async_iterable, /)¶
asynchronous iterable ãã asynchronous iterator ãè¿ããŸãã
x.__aiter__()ãåŒã³åºãã®ãšç䟡ã§ãããªãã
iter()ãšã¯ç°ãªããaiter()ã¯ç¬¬äºåŒæ°ãæã¡ãŸãããAdded in version 3.10.
- all(iterable, /)¶
iterable ã®å šãŠã®èŠçŽ ãçãªãã° (ããã㯠iterable ã空ãªãã°)
Trueãè¿ããŸãã以äžã®ã³ãŒããšç䟡ã§ã:def all(iterable): for element in iterable: if not element: return False return True
- awaitable anext(async_iterator, /)¶
- awaitable anext(async_iterator, default, /)
When awaited, return the next item from the given asynchronous iterator, or default if given and the iterator is exhausted.
ããã¯çµã¿èŸŒã¿ã®
next()颿°ã®éåæçã§ãããåãããã«åäœããŸãããã㯠async_iterator ã®
__anext__()ã¡ãœãããåŒã³åºããåŸ ã¡åãå¯èœãªããžã§ã¯ã (awaitable) ãè¿ããŸããåŸ ã¡åããããšã«ããã€ãã¬ãŒã¿ã®æ¬¡ã®å€ãè¿ããŸãã default ãäžããããå Žåãã€ãã¬ãŒã¿ãæ¯æžãããšãã«ãã®å€ãè¿ãããŸãã default ãäžããããªãå Žåã¯StopAsyncIterationãéåºãããŸããAdded in version 3.10.
- any(iterable, /)¶
iterable ã®ããããã®èŠçŽ ãçãªãã°
Trueãè¿ããŸããiterable ã空ãªãFalseãè¿ããŸãã以äžã®ã³ãŒããšç䟡ã§ã:def any(iterable): for element in iterable: if element: return True return False
- ascii(object, /)¶
repr()ãšåæ§ããªããžã§ã¯ãã®å°åå¯èœãªè¡šçŸãå«ãæååãè¿ããŸãããrepr()ã«ãã£ãŠè¿ãããæååäžã®é ASCII æåã¯\xã\uã\Uãšã¹ã±ãŒãã䜿ã£ãŠãšã¹ã±ãŒããããŸãããã㯠Python 2 ã®repr()ã«ãã£ãŠè¿ãããã®ãšåãæååãäœããŸãã
- bin(integer, /)¶
æŽæ°ãå é ã« "0b" ãä»ãã 2 鲿ååã«å€æããŸãã çµæã¯ Python ã®åŒãšããŠã䜿ãã圢åŒã«ãªããŸãã integer ã Python ã®
intãªããžã§ã¯ãã§ãªãå ŽåãæŽæ°ãè¿ã__index__()ã¡ãœãããå®çŸ©ãããŠããªããã°ãªããŸããã ããã€ãã®äŸã瀺ããŸã:>>> bin(3) '0b11' >>> bin(-10) '-0b1010'
å é ã« "0b" ãä»ããŠæ¬²ããããããã¯ä»ããŠæ¬²ãããªãå Žåã«ã¯ãæ¬¡ã®æ¹æ³ã®ã©ã¡ãã§ã䜿ããŸãã
>>> format(14, '#b'), format(14, 'b') ('0b1110', '1110') >>> f'{14:#b}', f'{14:b}' ('0b1110', '1110')
è² ã®æ°å€ã 2 ã®è£æ°ãšããŠè¡šçŸããã«ã¯ã
enum.bin()ãåç §ããŠãã ããããã詳ããããšã¯
format()ãåç §ããŠãã ããã
- class bool(object=False, /)¶
çåœå€ãããªãã¡
TrueãFalseã®ãããããè¿ããŸããåŒæ°ã¯æšæºã® çåœå€å€å®æç¶ã ãçšããŠå€æãããŸããåŒæ°ãåœããŸãã¯çç¥ãããå Žåããã®é¢æ°ã¯Falseãè¿ããŸãããã以å€ã®å Žåã¯Trueãè¿ããŸããboolã¯ã©ã¹ã¯intã¯ã©ã¹ã®æŽŸçã¯ã©ã¹ã§ã (æ°å€å int, float, complex ãåç §ããŠãã ãã)ããã®ã¯ã©ã¹ããããã«æŽŸçããããšã¯ã§ããŸããããã®ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã¯FalseãšTrueã®ã¿ã§ã (ããŒãªã¢ã³å - bool ãåç §ããŠãã ãã)ãããŒãžã§ã³ 3.7 ã§å€æŽ: åŒæ°ã¯äœçœ®å°çšã«ãªããŸããã
- breakpoint(*args, **kws)¶
ãã®é¢æ°ã¯ãåŒã³åºãããç®æã«ãŠåŠçããããã¬ã«ç§»è¡ããŸããå ·äœçã«ã¯ã
sys.breakpointhook()ãåŒã³åºããargsãškwsããã®ãŸãŸæž¡ããŸããããã©ã«ãã§ã¯ãsys.breakpointhook()ã¯åŒæ°ãªãã§pdb.set_trace()ãåŒã³åºãã ãã§ãããã®å Žåãããã¯åãªã䟿å©é¢æ°ã§ãããã¬ã«å ¥ãããã«pdbãæç€ºçã«ã€ã³ããŒããããå€ãã®ã³ãŒããæžãããããã«æžãã ãã§ããã§ãããsys.breakpointhook()ã¯å¥ã®é¢æ°ã«èšå®ã§ããbreakpoint()ã¯ãããèªåã§åŒã³åºããããèªå奜ã¿ã®ãããã¬ã«åŠçãç§»è¡ãããããšãã§ããŸããsys.breakpointhook()ã«ã¢ã¯ã»ã¹ã§ããªãå Žåããã®é¢æ°ã¯RuntimeErrorãéåºããŸããããã©ã«ãã§ã¯ãç°å¢å€æ°
PYTHONBREAKPOINTãã»ããããããšã§breakpoint()ã®åäœãå€ããããšãã§ããŸãã äœ¿ãæ¹ã®è©³çްã¯sys.breakpointhook()ãåç §ããŠãã ããããã ãã
sys.breakpointhook()ãå¥ã®é¢æ°ã§çœ®ãæããããŠããå Žåãäžèšã®ç°å¢å€æ°ã«ãã£ãŠå¿ ãããåäœãå€ããããšãã§ããªãããšã«æ³šæããŠãã ãããåŒæ°
breakpointhookä»ãã§ ç£æ»ã€ãã³ãbuiltins.breakpointãéåºããŸããAdded in version 3.7.
- class bytearray(source=b'')
- class bytearray(source, encoding, errors='strict')
æ°ãããã€ãé åãè¿ããŸãã
bytearrayã¯ã©ã¹ã¯0 <= x < 256ã®ç¯å²ã®æŽæ°ãããªã倿Žå¯èœãªé åã§ãããã¥ãŒã¿ãã«ãªã·ãŒã±ã³ã¹å ã«èšè¿°ãããŠãã倿Žå¯èœãªé åã«å¯Ÿããæ®éã®ã¡ãœããã®å€§åãåããŠããŸãããŸããbytesåãæã€ã¡ãœããã®å€§åãåããŠããŸãïŒsee bytes ãš bytearray ã®æäœ)ããªãã·ã§ã³ã® source åŒæ°ã¯ãé åãç°ãªãæ¹æ³ã§åæåããã®ã«äœ¿ãããŸã:
æåå ã®å Žåã encoding (ãšããªãã·ã§ã³ã® errors) åŒæ°ãäžããªããã°ãªããŸããããã®ãšã
bytearray()ã¯æååãstr.encode()ã§ãã€ãã«å€æããŠè¿ããŸããæŽæ° ã®å Žåãé åã¯ãã®ãµã€ãºã«ãªããnull ãã€ãã§åæåãããŸãã
ãããã¡ã€ã³ã¿ãŒãã§ãŒã¹ ã«é©åãããªããžã§ã¯ãã®å Žåããã®ãªããžã§ã¯ãã®èªã¿åºãå°çšãããã¡ããã€ãé åã®åæåã«äœ¿ãããŸãã
ã€ãã©ãã« ã®å Žåãç¯å²
0 <= x < 256å ã®æŽæ°ã®ã€ãã©ãã«ã§ãªããã°ãªãããããããé åã®åæã®å 容ãšããŠäœ¿ãããŸãã
åŒæ°ããªããã°ãé·ã 0 ã®é åãçæãããŸãã
ãã€ããªã·ãŒã±ã³ã¹å --- bytes, bytearray, memoryview ãš bytearray ãªããžã§ã¯ã ãåç §ããŠãã ããã
- class bytes(source=b'')
- class bytes(source, encoding, errors='strict')
ç¯å²
0 <= x < 256ã®æŽæ°ã®ã€ãã¥ãŒã¿ãã«ãªã·ãŒã±ã³ã¹ã§ãã "bytes" ãªããžã§ã¯ããè¿ããŸããbytesã¯bytearrayã®ã€ãã¥ãŒã¿ãã«çã§ããããªããžã§ã¯ããå€åãããªãã¡ãœããããã€ã³ããã¯ã¹æå®ããªããžã§ã¯ãã®ã¹ã©ã€ã¹ã«ã€ããŠã®ãµããŸãã¯åãã§ããåŸã£ãŠãã³ã³ã¹ãã©ã¯ã¿åŒæ°ã¯
bytearray()ã®ãã®ãšåæ§ã«è§£éãããŸãããã€ãåãªããžã§ã¯ãã¯ãªãã©ã«ã§ãçæã§ããŸãã æååããã³ãã€ãåãªãã©ã« ãåç §ããŠãã ããã
ãã€ããªã·ãŒã±ã³ã¹å --- bytes, bytearray, memoryview, ãã€ããªããžã§ã¯ã, bytes ãš bytearray ã®æäœ ãåç §ããŠãã ããã
- callable(object, /)¶
object åŒæ°ãåŒã³åºãå¯èœãªããžã§ã¯ãã§ããã°
Trueããããã§ãªããã°Falseãè¿ããŸãããã®é¢æ°ãTrueãè¿ããŠããåŒã³åºãã¯å€±æããå¯èœæ§ããããŸãããFalseã§ããã°ã object ã®åŒã³åºãã¯æ±ºããŠæåããŸããããªããã¯ã©ã¹ã¯åŒã³åºãå¯èœ (ã¯ã©ã¹ãåŒã³åºããšæ°ããã€ã³ã¹ã¿ã³ã¹ãè¿ããŸã) ã§ãããŸããã€ã³ã¹ã¿ã³ã¹ã¯ã¯ã©ã¹ã__call__()ã¡ãœãããæã€ãªãåŒã³åºãå¯èœã§ããAdded in version 3.2: ãã®é¢æ°ã¯ Python 3.0 ã§äžåºŠåãé€ãããŸããããPython 3.2 ã§åŸ©æŽ»ããŸããã
- chr(codepoint, /)¶
æå®ãããUnicode ã³ãŒããã€ã³ããæåã衚ãæååãè¿ããŸããäŸãã°
chr(97)ã¯æåå'a'ããchr(8364)ã¯æåå'â¬'ãè¿ããŸããord()ã®éã§ããåŒæ°ã®æå¹ãªç¯å²ã¯ 0 ãã 1,114,111 (16 鲿°ã§ 0x10FFFF) ã§ããåŒæ°ãç¯å²å€ã®å Žå
ValueErrorãéåºãããŸãã
- @classmethod¶
ã¡ãœãããã¯ã©ã¹ã¡ãœãããžå€æããŸãã
ã¯ã©ã¹ã¡ãœããã¯ãã€ã³ã¹ã¿ã³ã¹ã¡ãœãããæé»ã®ç¬¬äžåŒæ°ãšããŠã€ã³ã¹ã¿ã³ã¹ããšãããã«ã第äžåŒæ°ãšããŠã¯ã©ã¹ããšããŸããã¯ã©ã¹ã¡ãœããã宣èšããã«ã¯ã以äžã®ã€ãã£ãªã ã䜿ããŸã:
class C: @classmethod def f(cls, arg1, arg2): ...
@classmethod圢åŒã¯é¢æ° ãã³ã¬ãŒã¿ ã§ãã詳ããã¯ é¢æ°å®çŸ© ãåç §ããŠãã ãããã¯ã©ã¹ã¡ãœããã¯ã(
C.f()ã®ããã«) ã¯ã©ã¹ããåŒã³åºãããšãã(C().f()ã®ããã«) ã€ã³ã¹ã¿ã³ã¹ããåŒã³åºãããšãã§ããŸãã ã€ã³ã¹ã¿ã³ã¹ã¯ãã®ã¯ã©ã¹ãäœã§ããããé€ããŠç¡èŠãããŸãã ã¯ã©ã¹ã¡ãœãããæŽŸçã¯ã©ã¹ããåŒã³åºãããå Žåã¯ããã®æŽŸçã¯ã©ã¹ãªããžã§ã¯ããæé»ã®ç¬¬äžåŒæ°ãšããŠæž¡ãããŸããã¯ã©ã¹ã¡ãœãã㯠C++ ã Java ã®éçã¡ãœãããšã¯ç°ãªããŸããéçã¡ãœããã¯ããã®ç¯ã®
staticmethod()ãåç §ããŠãã ãããã¯ã©ã¹ã¡ãœããã«ã€ããŠãã詳ããããšã¯ æšæºåã®éå±€ ãåç §ããŠãã ãããããŒãžã§ã³ 3.9 ã§å€æŽ: ã¯ã©ã¹ã¡ãœããã¯
property()ãªã©ãä»ã® ãã¹ã¯ãªãã¿ ãã©ããããããšãã§ããããã«ãªããŸãããããŒãžã§ã³ 3.10 ã§å€æŽ: ã¯ã©ã¹ã¡ãœããã¯ã¡ãœãã屿§ (
__module__,__name__,__qualname__,__doc__ãš__annotations__) ãç¶æ¿ããããã«ãªããŸããããŸããæ°ãã«__wrapped__屿§ãæã€ããã«ãªããŸãããããŒãžã§ã³ 3.11 ã§éæšå¥šãããŒãžã§ã³ 3.13 ã§åé€: ã¯ã©ã¹ã¡ãœããã¯
property()ãªã©ãä»ã® ãã¹ã¯ãªãã¿ ãã©ããããããšãã§ããªããªããŸããã
- compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)¶
source ãã³ãŒããªããžã§ã¯ãããããã¯ã AST ãªããžã§ã¯ãã«ã³ã³ãã€ã«ããŸãã ã³ãŒããªããžã§ã¯ãã¯
exec()æã§å®è¡ããããeval()åŒã³åºãã§è©äŸ¡ã§ããŸãã source ã¯éåžžã®æååã ãã€ãåã AST ãªããžã§ã¯ãã®ãããã§ãããŸããŸããã AST ãªããžã§ã¯ããžã®ããŸãã AST ãªããžã§ã¯ãããã®ã³ã³ãã€ã«ã®æ¹æ³ã¯ãastã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ããåç §ããŠãã ãããfilename åŒæ°ã«ã¯ãã³ãŒãã®èªã¿åºãå ã®ãã¡ã€ã«ãäžããªããã°ãªããŸãã; ãã¡ã€ã«ããèªã¿åºãããã®ã§ãªããã°ãèªèå¯èœãªå€ãæž¡ããŠäžãã (
'<string>'ãäžè¬çã«äœ¿ãããŸã)ãmode åŒæ°ã¯ãã³ã³ãã€ã«ãããã³ãŒãã®çš®é¡ãæå®ããŸã; source ãäžé£ã®æããæããªã
'exec'ãåäžã®åŒããæããªã'eval'ãåäžã®å¯Ÿè©±çæã®å Žå'single'ã§ãã(åŸè ã®å Žåãè©äŸ¡ãNone以å€ã§ããåŒæãå°åãããŸã)ããªãã·ã§ã³åŒæ° flags ãš dont_inherit ã¯ãã©ã® ã³ã³ãã€ã©ãªãã·ã§ã³ ãæå¹åãããã å°æ¥ã®æ©èœ ã®ã©ããèš±å¯ããããå¶åŸ¡ããŸããã©ã¡ãã®åŒæ°ãååšããªã (ãŸãã¯ã©ã¡ãããŒãã§ãã) å Žåã¯ã
compile()ã®åŒã³åºãå ã®ã³ãŒãã«äœçšãããã®ãšåããã©ã°ã§ã³ã³ãã€ã«ãããŸãã flags åŒæ°ãäžããã㊠dont_inherit ãäžããããªã (ãŸãã¯ãŒã) ã®å Žåãäžèšã«å ã㊠flags åŒæ°ã§äžããããã³ã³ãã€ã©ãªãã·ã§ã³ãš future æã䜿ãããŸãã dont_inherit ããŒãã§ãªãæŽæ°ã®å Žåã flags åŒæ°ã§æå®ããããªãã·ã§ã³ã ããæå¹ã§ã -- åŒã³åºãå ã³ãŒãã«é©çšããããã©ã° (å°æ¥ã®æ©èœãšã³ã³ãã€ã©ãªãã·ã§ã³) ã¯ç¡èŠãããŸããæå¹åããã³ã³ãã€ã©ãªãã·ã§ã³ãš future æã¯ããããã£ãŒã«ãã§æå®å¯èœã§ããããåäœã® OR ããšãããšã§è€æ°ã®ãªãã·ã§ã³ãäžç·ã«æå®ããããšãã§ããŸããç¹å®ã® future æ©èœãæå®ããããã«å¿ èŠãªããããã£ãŒã«ãã®æ å ±ã¯ã
__future__ã¢ãžã¥ãŒã«ã«ããã_Featureã€ã³ã¹ã¿ã³ã¹ã®compiler_flag屿§ã§åŸãããšãã§ããŸãã ã³ã³ãã€ã©ãã©ã° ã®æ å ±ã¯astã¢ãžã¥ãŒã«ã®PyCF_ã§å§ãŸããã©ã°ã§åŸãããšãã§ããŸããåŒæ° optimize ã¯ãã³ã³ãã€ã©ã®æé©åã¬ãã«ãæå®ããŸã; ããã©ã«ãã®å€
-1ã¯ãã€ã³ã¿ããªã¿ã®-Oãªãã·ã§ã³ã§äžããããã®ãšåãæé©åã¬ãã«ãéžã³ãŸããæç€ºçãªã¬ãã«ã¯ã0(æé©åãªãã__debug__ã¯ç)ã1(assert ã¯åãé€ããã__debug__ã¯åœ)ã2(docstring ãåãé€ããã) ã§ããThis function raises
SyntaxErrorif the compiled source is invalid, including a source containing a null character or that cannot be decoded;ValueErrorif mode or flags is invalid, or if a string source contains surrogate characters;MemoryErrororRecursionErrorif source is too complex to parse or compile, for example an expression with many thousands of nested operators; andOverflowErrorif source is too large.Python ã³ãŒããããŒã¹ããŠãã® AST 衚çŸãåŸããã®ã§ããã°ã
ast.parse()ãåç §ããŠãã ãããåŒæ°
sourceãšfilenameãæå®ããŠ ç£æ»ã€ãã³ãcompileãéåºããŸããããã¯ãæé»ã«è¡ãããã³ã³ãã€ã«ã§ãéåºãããå¯èœæ§ããããŸããæ³šé
è€æ°è¡ã«æž¡ãã³ãŒãã®æååã
'single'ã'eval'ã¢ãŒãã§ã³ã³ãã€ã«ãããšããå ¥åã¯äžã€ä»¥äžã®æ¹è¡æåã§çµç«¯ãããªããã°ãªããŸãããããã¯ãcodeã¢ãžã¥ãŒã«ã§äžå®å šãªæãšå®å šãªæãæ€ç¥ããããããããã§ããèŠå
AST ãªããžã§ã¯ãã«ã³ã³ãã€ã«ããŠãããšãã«ãååã«å€§ããæååãè€éãªæååã«ãã£ãŠ Python ã®æœè±¡æ§ææšã³ã³ãã€ã©ã®ã¹ã¿ãã¯ãæ·±ãã®éçãè¶ããããšã§ã Python ã€ã³ã¿ããªã¿ãã¯ã©ãã·ã¥ãããããŸãã
ããŒãžã§ã³ 3.2 ã§å€æŽ: Windows ã Mac ã®æ¹è¡ãåãä»ããŸãããŸã
'exec'ã¢ãŒãã§ã®å ¥åãæ¹è¡ã§çµãã£ãŠããå¿ èŠããããŸãããoptimize åŒæ°ã远å ãããŸãããããŒãžã§ã³ 3.5 ã§å€æŽ: 以å㯠source ã«ãã«ãã€ãããã£ããšãã«
TypeErrorãéåºããŠããŸãããããŒãžã§ã³ 3.8 ã§å€æŽ:
ast.PyCF_ALLOW_TOP_LEVEL_AWAITãã©ã°ãæž¡ããŠãããã¬ãã«ã®await,async for, ããã³async withã®ãµããŒããæå¹åããããšãã§ããããã«ãªããŸãããããŒãžã§ã³ 3.12 ã§å€æŽ:
SyntaxErroris raised instead ofValueErrorwhen null bytes are encountered in source.
- class complex(number=0, /)¶
- class complex(string, /)
- class complex(real=0, imag=0)
åäžã®æååãæ°å€ãè€çŽ æ°ã«å€æããããããã¯å®éšãšèéšããè€çŽ æ°ãäœæããŸãã
äŸ:
>>> complex('+1.23') (1.23+0j) >>> complex('-4.5j') -4.5j >>> complex('-1.23+4.5j') (-1.23+4.5j) >>> complex('\t( -1.23+4.5J )\n') (-1.23+4.5j) >>> complex('-Infinity+NaNj') (-inf+nanj) >>> complex(1.23) (1.23+0j) >>> complex(imag=-4.5) -4.5j >>> complex(-1.23, 4.5) (-1.23+4.5j)
åŒæ°ãæååã®å Žåã宿°éšïŒ
float()ãšåã圢åŒïŒãèæ°éšïŒåæ§ã®åœ¢åŒã§'j'ãŸãã¯'J'æ¥å°ŸèŸïŒã©ã¡ããããããã¯äž¡æ¹ïŒãã®å Žåãèæ°éšã®ç¬Šå·ã¯å¿ é ïŒãå«ãŸãªããã°ãªããŸãããæåå ã¯ç©ºçœãæ¬åŒ§'('ãš``')'`` ã§å²ãããšãã§ããŸãããç¡èŠãããŸããæååã¯ã'+'ã'-'ã'j'ãŸãã¯'J'æ¥å°ŸèŸ ããããŠ10鲿°ã®éã«ç©ºçœãå«ãã§ã¯ãªããŸãããããšãã°complex('1+2j')ã¯ããã§ãããcomplex('1 + 2j')ã¯ValueErrorãéåºããŸããããæ£ç¢ºã«ã¯ãå ¥åã¯æ¬åŒ§ããã³å é ãšæ«å°Ÿã®ç©ºçœæåãé€å»ããåŸã以äžã®ææ³ã«ãããcomplexvalueã®çæèŠåãæºããå¿ èŠããããŸã:complexvalue:
floatvalue|floatvalue("j" | "J") |floatvaluesignabsfloatvalue("j" | "J")åŒæ°ãæ°å€ã®å Žåãã³ã³ã¹ãã©ã¯ã¿ã¯
intãfloatã®ããã«æ°å€å€æããŸããäžè¬ç㪠Python ãªããžã§ã¯ãxã§ã¯ãcomplex(x)ã¯x.__complex__()ã«å§è²ããŸãã__complex__()ãå®çŸ©ãããŠããªãå Žåã¯__float__()ã«ãã©ãŒã«ããã¯ããŸãã__float__()ãå®çŸ©ãããŠããªãå Žåã«ã¯ã__index__()ã«ãã©ãŒã«ããã¯ããŸããïŒåŒæ°ãæå®ããããããŒã¯ãŒãåŒæ°ã䜿ãããŠããå ŽåãååŒæ°ã¯ä»»æã®æ°å€åïŒè€çŽ æ°ãå«ãïŒãšãªããŸããäž¡æ¹ã®åŒæ°ã宿°ã®å Žåã«ã¯ã宿°æå real ãšèæ°æå imag ãæã€è€çŽ æ°ãè¿ããŸããåŒæ°ãäž¡æ¹ãšãè€çŽ æ°ã®å Žåã宿°æå
real.real-imag.imagãšèæ°æåreal.imag+imag.realãæã€è€çŽ æ°ãè¿ããŸããåŒæ°ã®çæ¹ã宿°ã®å Žåãåè¿°ã®åŒã§ã¯ãã®å®æ°æåã®ã¿äœ¿ãããŸããæ°å€ãäžã€ã ãåŒæ°ã«ãšã
complex.from_number()ãåç §ããŠãã ãããåŒæ°ããã¹ãŠçç¥ãããå Žåã¯ã
0jãè¿ããŸããè€çŽ æ°åã«ã€ããŠã¯ æ°å€å int, float, complex ã«èª¬æããããŸãã
ããŒãžã§ã³ 3.6 ã§å€æŽ: ã³ãŒããªãã©ã«äžã§æ¡ãã°ã«ãŒãåããã®ã«ã¢ã³ããŒã¹ã³ã¢ãå©çšã§ããŸãã
ããŒãžã§ã³ 3.8 ã§å€æŽ:
__complex__()ãš__float__()ãå®çŸ©ãããŠããªãå Žåã__index__()ãžãã©ãŒã«ããã¯ããŸããããŒãžã§ã³ 3.14 ã§éæšå¥š: è€çŽ æ°ã real åŒæ°ãŸã㯠imag åŒæ°ãšããŠæž¡ããæ©èœã¯éæšå¥šãšãªããŸãããåäžã®äœçœ®åŒæ°ãšããŠæž¡ããŠãã ããã
- delattr(object, name, /)¶
setattr()ã®èŠªæã§ããåŒæ°ã¯ãªããžã§ã¯ããšæååã§ããæååã¯ãªããžã§ã¯ãã®å±æ§åã®ããããã§ãªããã°ãªããŸããã察象ã®ãªããžã§ã¯ããèš±å¯ããå Žåã«éãããã®é¢æ°ã¯æå®ãããååã®å±æ§ãåé€ããŸããããšãã°ãdelattr(x, 'foobar')ã¯del x.foobarãšç䟡ã§ãã name 㯠Python ã®èå¥åã§ããå¿ èŠã¯ãããŸãã (setattr()ãåç §ããŠãã ãã)ã
- class dict(**kwargs)
- class dict(mapping, /, **kwargs)
- class dict(iterable, /, **kwargs)
æ°ããèŸæžãäœæããŸãã
dictãªããžã§ã¯ãã¯èŸæžã¯ã©ã¹ã§ãã ãã®ã¯ã©ã¹ã«é¢ããããã¥ã¡ã³ããŒã·ã§ã³ã¯ Mapping Types --- dict ãåç §ããŠãã ãããFor other containers see the built-in
list,set, andtupleclasses, as well as thecollectionsmodule.
- dir()¶
- dir(object, /)
åŒæ°ããªãå ŽåãçŸåšã®ããŒã«ã«ã¹ã³ãŒãã«ããååã®ãªã¹ããè¿ããŸããåŒæ°ãããå Žåããã®ãªããžã§ã¯ãã®æå¹ãªå±æ§ã®ãªã¹ããè¿ãããšè©Šã¿ãŸãã
ãªããžã§ã¯ãã
__dir__()ãšããåã®ã¡ãœãããæã€ãªãããã®ã¡ãœãããåŒã³åºããã屿§ã®ãªã¹ããè¿ããªããã°ãªããŸãããããã«ãããã«ã¹ã¿ã ã®__getattr__()ã__getattribute__()颿°ãå®è£ ãããªããžã§ã¯ãã¯ãdir()ã屿§ãå ±åããããæ¹ãã«ã¹ã¿ãã€ãºã§ããŸãããªããžã§ã¯ãã
__dir__()ãæäŸããªãå Žåããã®åãªããžã§ã¯ããšãå®çŸ©ãããŠããã°ãªããžã§ã¯ãã®__dict__屿§ãããã§ããã ãæ å ±ãéããããšããŸããçµæã®ãªã¹ãã¯å¿ ãããå®å šã§ã¯ãªããã«ã¹ã¿ã ã®__getattr__()ãæã€å Žåã¯äžæ£ç¢ºãããããŸãããããã©ã«ãã®
dir()ã¡ã«ããºã ã¯ãå®å šãšããããæéèŠãªæ å ±ãäœæããããšãããããç°ãªãåã®ãªããžã§ã¯ãã§ã¯ç°ãªã£ãŠæ¯ãèããŸã:ãªããžã§ã¯ããã¢ãžã¥ãŒã«ãªããžã§ã¯ãã®å Žåããªã¹ãã«ã¯ã¢ãžã¥ãŒã«ã®å±æ§ã®ååãå«ãŸããŸãã
ãªããžã§ã¯ããåãªããžã§ã¯ããã¯ã©ã¹ãªããžã§ã¯ãã®å Žåããªã¹ãã«ã¯ãã®å±æ§ã®ååãšãååž°çã«ãã©ã£ããã®åºåºã¯ã©ã¹ã®å±æ§ãå«ãŸããŸãã
ãã以å€ã®å Žåã«ã¯ããªã¹ãã«ã¯ãªããžã§ã¯ãã®å±æ§åãã¯ã©ã¹å±æ§åãååž°çã«ãã©ã£ãåºåºã¯ã©ã¹ã®å±æ§åãå«ãŸããŸãã
è¿ããããªã¹ãã¯ã¢ã«ãã¡ãããé ã«äžŠã¹ãããŠããŸããäŸãã°:
>>> import struct >>> dir() # show the names in the module namespace ['__builtins__', '__name__', 'struct'] >>> dir(struct) # show the names in the struct module ['Struct', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into', 'unpack', 'unpack_from'] >>> class Shape: ... def __dir__(self): ... return ['area', 'perimeter', 'location'] ... >>> s = Shape() >>> dir(s) ['area', 'location', 'perimeter']
泚é
dir()ã¯äž»ã«å¯Ÿè©±ããã³ããã§ã®äœ¿çšã«äŸ¿å©ãªããã«æäŸãããŠããã®ã§ãå³å¯æ§ãäžè²«æ§ãéèŠããŠå®çŸ©ãããååã®ã»ãããšãããããããããèå³ãåŒããããªååã®ã»ãããè¿ãããšããŸãããŸãããã®é¢æ°ã®çްããåäœã¯ãªãªãŒã¹éã§å€ããå¯èœæ§ããããŸããäŸãã°ãåŒæ°ãã¯ã©ã¹ã§ãããšããã¡ã¿ã¯ã©ã¹å±æ§ã¯çµæã®ãªã¹ãã«å«ãŸããŸããã
- divmod(a, b, /)¶
2ã€ã® (è€çŽ æ°ã§ãªã) æ°ãåŒæ°ãšããŠãšããæŽæ°ã®é€æ³ãè¡ã£ããšãã®åãšå°äœãããªã2ã€ã®æ°ã®ãã¢ãè¿ããŸãã被æŒç®åã®åãç°ãªãå Žåãäºé ç®è¡æŒç®åã§ã®èŠåãé©çšãããŸããæŽæ°ã«å¯Ÿããçµæã¯
(a // b, a % b)ãšåãã§ããæµ®åå°æ°ç¹æ°ã§ã¯ãçµæã¯(q, a % b)ãšããããããŸãã q ã¯éåžžmath.floor(a / b)ã§ããããããã 1 å°ãªãããšããããŸãããããã«ããq * b + a % b㯠a ã«éåžžã«è¿ãå€ã«ãªããŸããããa % bããŒãã§ãªããšãã¯ããã®ç¬Šå·ã¯ b ãšåãã§ããããã€0 <= abs(a % b) < abs(b)ãæºãããŸãã
- enumerate(iterable, start=0)¶
enumerate ãªããžã§ã¯ããè¿ããŸãã iterable ã¯ãã·ãŒã±ã³ã¹ã iterator ãããããã¯ã€ãã¬ãŒã·ã§ã³ããµããŒããããã®ä»ã®ãªããžã§ã¯ãã§ãªããã°ãªããŸããã
enumerate()ã«ãã£ãŠè¿ãããã€ãã¬ãŒã¿ã®__next__()ã¡ãœããã¯ã (ããã©ã«ãã§ã¯ 0 ãšãªã start ããã®) ã«ãŠã³ããšã iterable äžã®ã€ãã¬ãŒã·ã§ã³ã«ãã£ãŠåŸãããå€ãå«ãã¿ãã«ãè¿ããŸãã>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
次ãšç䟡ã§ã:
def enumerate(iterable, start=0): n = start for elem in iterable: yield n, elem n += 1
- eval(source, /, globals=None, locals=None)¶
- ãã©ã¡ãŒã¿:
source (
str| code object) -- Python åŒãglobals (
dict|None) -- ã°ããŒãã«åå空é (default:None) ãlocals (mapping |
None) -- ããŒã«ã«åå空é (default:None) ã
- æ»ãå€:
è©äŸ¡ãããåŒã®çµæã
- äŸå€:
æ§æãšã©ãŒã¯äŸå€ãšããŠå ±åãããŸãã
èŠå
ãã®é¢æ°ã¯ä»»æã®ã³ãŒããå®è¡ããŸãã ä¿¡é Œã§ããªããŠãŒã¶å ¥åã«ãŠ ãã®é¢æ°ãåŒã³åºããšãã»ãã¥ãªãã£ã®è匱æ§ã«ã€ãªãããŸãã
source å®åŒæ°ã®ããŒã¹ãšè©äŸ¡ã¯ã globals / locals ã®ãããã³ã°ïŒè𳿳šïŒdictçžåœïŒãã°ããŒãã« / ããŒã«ã«ã®åå空éãšãã Python åŒ (æè¡çãªèšèã§ã¯ expression list) ãšããŠè¡ãããŸãã globals èŸæžãæž¡ãã ããã
__builtins__ããŒã®å€ãå«ãŸãªãå Žåã¯ããã®ããŒã®äžã«çµã¿èŸŒã¿ã¢ãžã¥ãŒã«builtinsã®èŸæžãžã®åç §ãæ¿å ¥ãããŠãããsource ãè§£æãããŸãã__builtins__ã®äžæžãã§ å©çšå¯èœãªååãå¶éã倿Žã§ããŸãããããã¯ã»ãã¥ãªãã£æ©æ§ã§ã¯ ãããŸãã ïŒå®è¡ãããã³ãŒãã¯äŸç¶ãšããŠå šçµã¿èŸŒã¿æ©èœã«ã¢ã¯ã»ã¹ã§ããŸãã locals ãããã³ã°ãçç¥ãããå Žåãããã©ã«ãã§ globals èŸæžã䜿ãããŸãã ã©ã¡ãã®ãããã³ã°ãçç¥ãããå Žåãeval()ãåŒã³åºãããç°å¢ã«ããã globals ãš locals ã®ããšã§åŒãè©äŸ¡ãããŸãã æ³šæç¹ãšããŠãeval() ããã®å€åŽã®ç°å¢å ã® ãã¹ããããã¹ã³ãŒã (ããŒã«ã«ã§ãªããªããžã§ã¯ã) ãžã®ã¢ã¯ã»ã¹ãæã€ã®ã¯ãïŒnonlocalæãªã©ã«ããïŒããããeval()ãåŒã³åºããã¹ã³ãŒãã§ãã§ã«åç §ãããŠããå Žåã®ã¿ã§ããäŸ:
>>> x = 1 >>> eval('x+1') 2
>>> eval("1, 2") (1, 2)
ãã®é¢æ°ã¯ (
compile()ã§çæããããããª) ä»»æã®ã³ãŒããªããžã§ã¯ããå®è¡ããã®ã«ãå©çšã§ããŸãããã®å Žåãæååã®ä»£ããã«ã³ãŒããªããžã§ã¯ããæž¡ããŠãã ããããã®ã³ãŒããªããžã§ã¯ãããåŒæ° mode ã'exec'ãšããŠã³ã³ãã€ã«ãããŠããå Žåãeval()ã®æ»ãå€ã¯Noneã«ãªããŸãããã³ã:
exec()颿°ã«ããæã®åçãªå®è¡ããµããŒããããŠããŸããglobals()ããã³locals()颿°ã¯ãããããçŸåšã®ã°ããŒãã«ããã³ããŒã«ã«ãªèŸæžãè¿ãã®ã§ãããããeval()ãexec()ã«æž¡ããŠäœ¿ãããšãã§ããŸãããœãŒã¹ã³ãŒããšããŠæååãäžããããå Žåãå é ãšæ«å°Ÿã®ç©ºçœæåããã³ã¿ãã¯åãå»ãããŸãã
ãªãã©ã«ã ããå«ãåŒã®æååãè©äŸ¡ãã颿°ã
ast.literal_eval()ãåç §ããŠãã ãããã³ãŒããªããžã§ã¯ããåŒæ°ãšããŠ ç£æ»ã€ãã³ã
execãéåºããŸããã³ãŒãã³ã³ãã€ã«ã®ã€ãã³ããéåºãããããšããããŸããããŒãžã§ã³ 3.13 ã§å€æŽ: globals ãš locals åŒæ° ã¯ããŒã¯ãŒããšããŠæž¡ããããã«ãªã£ãã
ããŒãžã§ã³ 3.13 ã§å€æŽ: ããã©ã«ãã® locals åå空éã®ã»ãã³ãã£ã¯ã¹ã¯ã çµã¿èŸŒã¿
locals()ã®èª¬æã®ããã«èª¿æŽãããã
- exec(source, /, globals=None, locals=None, *, closure=None)¶
èŠå
ãã®é¢æ°ã¯ä»»æã®ã³ãŒããå®è¡ããŸãã ä¿¡é Œã§ããªããŠãŒã¶å ¥åã«ãŠ ãã®é¢æ°ãåŒã³åºããšãã»ãã¥ãªãã£ã®è匱æ§ã«ã€ãªãããŸãã
ãã®é¢æ°ã¯ Python ã³ãŒãã®åçãªå®è¡ããµããŒãããŸãã source ã¯æååãã³ãŒããªããžã§ã¯ãã§ãªããã°ãªããŸãããæååã®å Žåããã®æååã¯äžé£ã® Python æãšããŠè§£æããããã㊠(æ§æãšã©ãŒã«ãªããªãéã) å®è¡ãããŸãã [1] ã³ãŒããªããžã§ã¯ãã®å Žåã¯ãåçŽã«å®è¡ãããŸããã©ã®å Žåã§ããå®è¡ãããã³ãŒãã¯ãã¡ã€ã«å ¥å圢åŒãšããŠæå¹ã§ããããšãæåŸ ãããŸã (ãªãã¡ã¬ã³ã¹ããã¥ã¢ã«ã® ãã¡ã€ã«å ¥å ç¯ãåç §ããŠãã ãã)ã
nonlocal,yield, ããã³returnæã¯ãexec()颿°ã«æž¡ãããã³ãŒãã®æèäžã§ããã颿°å®çŸ©ã®å€åŽã§äœ¿ãããšã¯ã§ããŸãããæ»ãå€ã¯Noneã§ããã©ã®å Žåã§ãããªãã·ã§ã³ã®éšåãçç¥ããããšãã³ãŒãã¯çŸåšã®ã¹ã³ãŒãå ã§å®è¡ãããŸãã globals ã ããäžããããå Žåããã®å€ã¯èŸæžã§ãªããã°ãªãã (ãã€èŸæžã®ãµãã¯ã©ã¹ã§ãã£ãŠã¯ãªãã)ãã°ããŒãã«å€æ°ãšããŒã«ã«å€æ°ã®äž¡æ¹ã«äœ¿ãããŸãã globals ãš locals ã®äž¡æ¹ãäžããããå Žåãããããã°ããŒãã«å€æ°ãšããŒã«ã«å€æ°ã«äœ¿ãããŸãã locals ãæå®ããå Žåããã®å€ã¯ãããåãªããžã§ã¯ãã§ãªããã°ãªããŸãããã¢ãžã¥ãŒã«ã¬ãã«ã§ã¯ globals ãš locals ã¯åãèŸæžã§ããããšã«çæããŠãã ããã
泚é
execã globals ãš locals 2ã€å¥ã ã®ãªããžã§ã¯ããåãå Žåãã³ãŒãã¯ã¯ã©ã¹å®çŸ©ã«åã蟌ãŸãããã®ããã«å®è¡ãããŸããããã¯ãå®è¡ãããã³ãŒãã§å®çŸ©ããã颿°ãšã¯ã©ã¹ãããããã¬ãã«ã§å²ãåœãŠããã倿°ã«ã¢ã¯ã»ã¹ã§ããªãããšãæå³ããŸãïŒããããã¬ãã«ã倿°ã¯ã¯ã©ã¹å®çŸ©ã«ãŠã¯ã©ã¹å€æ°ãšããŠæ±ãããããïŒãIf the globals dictionary does not contain a value for the key
__builtins__, a reference to the dictionary of the built-in modulebuiltinsis inserted under that key. Overriding__builtins__can be used to restrict or change the available names, but this is not a security mechanism: the executed code can still access all builtins.The closure argument specifies a closure--a tuple of cellvars. It's only valid when the object is a code object containing free (closure) variables. The length of the tuple must exactly match the length of the code object's
co_freevarsattribute.ã³ãŒããªããžã§ã¯ããåŒæ°ãšããŠ ç£æ»ã€ãã³ã
execãéåºããŸããã³ãŒãã³ã³ãã€ã«ã®ã€ãã³ããéåºãããããšããããŸããæ³šé
çµã¿èŸŒã¿é¢æ°
globals()ããã³locals()ã¯ãããããçŸåšã®ã°ããŒãã«ããã³ããŒã«ã«ã®åå空éãè¿ãã®ã§ãããããexec()ã®ç¬¬äºã第äžåŒæ°ã«ãã®ãŸãŸæž¡ããŠäœ¿ããšäŸ¿å©ãªããšããããŸããæ³šé
æšæºã§ã¯ locals ã¯åŸã«è¿°ã¹ã颿°
locals()ã®ããã«åäœããŸããexec()ã®åŒã³åºããè¿ãæã«ã³ãŒãã locals ã«äžãã圱é¿ãç¥ããããªããæç€ºçã« locals èŸæžãæž¡ããŠãã ãããããŒãžã§ã³ 3.11 ã§å€æŽ: closure ãã©ã¡ãŒã¿ã远å ãããŸããã
ããŒãžã§ã³ 3.13 ã§å€æŽ: globals ãš locals åŒæ° ã¯ããŒã¯ãŒããšããŠæž¡ããããã«ãªã£ãã
ããŒãžã§ã³ 3.13 ã§å€æŽ: ããã©ã«ãã® locals åå空éã®ã»ãã³ãã£ã¯ã¹ã¯ã çµã¿èŸŒã¿
locals()ã®èª¬æã®ããã«èª¿æŽãããã
- filter(function, iterable, /)¶
iterable ã®èŠçŽ ã®ãã¡ã function ãçã§ãããã®ããã€ãã¬ãŒã¿ãæ§ç¯ããŸãã iterable ã«ã¯ã·ãŒã±ã³ã¹ããã€ãã¬ãŒã·ã§ã³ããµããŒãããã³ã³ããããã€ãã¬ãŒã¿ãæž¡ããŸãã function ã
Noneã®ãšãã¯æç颿°ãæå®ããããã®ãšããŠæ±ããã iterable ã®ãã¡åœã§ãããã®ããã¹ãŠåãé€ãããŸãããªãã
filter(function, iterable)ã¯ã颿°ãNoneã§ãªããã°ãžã§ãã¬ãŒã¿åŒ(item for item in iterable if function(item))ãšåçã§ã颿°ãNoneãªã(item for item in iterable if item)ãšåçã§ããéã®åãããã颿°ã«ã€ããŠã¯ã
itertools.filterfalse()ãåç §ããŠãã ããã iterable ã®èŠçŽ ã®ãã¡ã function ãåœã§ãããã®ãè¿ããŸãã
- class float(number=0.0, /)¶
- class float(string, /)
æ°ãŸãã¯æååããçæãããæµ®åå°æ°ç¹æ°ãè¿ããŸãã
äŸ:
>>> float('+1.23') 1.23 >>> float(' -12345\n') -12345.0 >>> float('1e-003') 0.001 >>> float('+1E6') 1000000.0 >>> float('-Infinity') -inf
åŒæ°ãæååã®å Žåã10鲿°ã§ãªããã°ãªããŸãããå é ã«ç¬Šå·ãŸãã¯ç©ºçœãå«ãã§ãããŸããŸããã笊å·ã¯
'+'ã'-'ã®ããããã§ããæ£ç¬Šå·'+'ã¯çæãããå€ã«å¯ŸããŠäœã®å¹æããããŸãããåŒæ°ã¯ NaN (not-a-number) ãæ£ãŸãã¯è² ã®ç¡é倧ãããããæååã§ãããŸããŸãããããæ£ç¢ºã«ãããšãå ¥åã¯å é ãšæ«å°Ÿã®ç©ºçœæåãé€ãã以äžã«ç€ºãfloatvalueã®çæèŠåã«åŸãå¿ èŠããããŸã:sign: "+" | "-" infinity: "Infinity" | "inf" nan: "nan" digit: <a Unicode decimal digit, i.e. characters in Unicode general category Nd> digitpart:
digit(["_"]digit)* number: [digitpart] "."digitpart|digitpart["."] exponent: ("e" | "E") [sign]digitpartfloatnumber:number[exponent] absfloatvalue:floatnumber|infinity|nanfloatvalue: [sign]absfloatvalue倧æåãšå°æåã¯éèŠã§ã¯ãªãã®ã§ãäŸãã°ã "inf", "Inf", "INFINITY", "iNfINity" ã¯ãã¹ãŠæ£ã®ç¡é倧ã衚ãç¶ŽããšããŠåãå ¥ããããŸãã
ãŸããåŒæ°ãæŽæ°ãŸãã¯æµ®åå°æ°ç¹æ°ãªãã (Python ã®æµ®åå°æ°ç¹æ°ã®ç²ŸåºŠã§) åãå€ã®æµ®åå°æ°ç¹æ°ãè¿ãããŸãã åŒæ°ã Python ã®æµ®åå°æ°ç¹æ°ã®ç¯å²å€ãªãã
OverflowErrorãéåºãããŸããäžè¬ã® Python ãªããžã§ã¯ã
xã«å¯ŸããŠãfloat(x)ã¯x.__float__()ã«å§è²ããŸãã__float__()ãå®çŸ©ãããŠããªãå Žåã__index__()ãžãã©ãŒã«ããã¯ããŸããæ°å€åã®å€ã®ã¿åŒæ°ã«ãšã
float.from_number()ãåç §ããŠãã ãããåŒæ°ãäžããããªããã°ã
0.0ãè¿ãããŸããæµ®åå°æ°ç¹æ°åã«ã€ããŠã¯ã æ°å€å int, float, complex ãåç §ããŠãã ããã
ããŒãžã§ã³ 3.6 ã§å€æŽ: ã³ãŒããªãã©ã«äžã§æ¡ãã°ã«ãŒãåããã®ã«ã¢ã³ããŒã¹ã³ã¢ãå©çšã§ããŸãã
ããŒãžã§ã³ 3.7 ã§å€æŽ: åŒæ°ã¯äœçœ®å°çšã«ãªããŸããã
ããŒãžã§ã³ 3.8 ã§å€æŽ:
__float__()ãå®çŸ©ãããŠããªãå Žåã__index__()ãžãã©ãŒã«ããã¯ããŸãã
- format(value, format_spec='', /)¶
value ã format_spec ã§æç€ºãããéãã« "æŽåœ¢" ããæåå衚çŸã«å€æããŸãã format_spec ã®è§£é㯠value åŒæ°ã®åã«äŸåããŸãããã»ãšãã©ã®çµã¿èŸŒã¿åã§äœ¿ãããæšæºçãªæ§æãååšããŸã: Format specification mini-languageã
ããã©ã«ãã® format_spec ã¯ç©ºã®æååã§ããããã¯éåžž
str(value)ã®åŒã³åºããšåãçµæã«ãªããŸããformat(value, format_spec)ã®åŒã³åºãã¯ãtype(value).__format__(value, format_spec)ã«ç¿»èš³ããããã㯠value ã®__format__()ã¡ãœããã®æ€çŽ¢ããããšããã€ã³ã¹ã¿ã³ã¹èŸæžãåé¿ããŸãããã®ã¡ãœããã®æ¢çŽ¢ãobjectã«å°éããŠã format_spec ã空ã«ãªããªãã£ããã format_spec ãè¿ãå€ãæååã§ãªãã£ããããå ŽåãTypeErrorãéåºãããŸããããŒãžã§ã³ 3.4 ã§å€æŽ: format_spec ãç©ºã®æååã§ãªãå Žå
object().__format__(format_spec)ã¯TypeErrorãéåºããŸãã
- class frozenset(iterable=(), /)
Return a new
frozensetobject, optionally with elements taken from iterable.frozensetis a built-in class. See also setïŒéåïŒå --- set, frozenset for documentation about this class.ä»ã®ã³ã³ããã«ã€ããŠã¯ããã«ãã€ã³ã¯ã©ã¹
set,list,tuple,dictãcollectionsã¢ãžã¥ãŒã«ãèŠãŠãã ããã
- getattr(object, name, /)¶
- getattr(object, name, default, /)
object ã®æå®ããã屿§ã®å€ãè¿ããŸãã name ã¯æååã§ãªããã°ãªããŸãããäžããããæååããªããžã§ã¯ãã®å±æ§åã®ãã¡ããããã«äžèŽããã°ãæ»ãå€ã¯ãã®å±æ§ã®å€ã«ãªããŸããããšãã°ã
getattr(x, 'foobar')ã¯x.foobarãšç䟡ã§ããããæå®ããã屿§ãååšããªãå Žåã default ãæå®ãããŠããã°ãã®å€ãè¿ãããŸããããã§ãªãå Žåã¯AttributeErrorãéåºãããŸãã name 㯠Python èå¥åã§ããå¿ èŠã¯ãããŸãã (setattr()ãåç §ããŠãã ãã)ãæ³šé
ãã©ã€ããŒããªååã®ãã³ã°ãªã³ã° ã¯ã³ã³ãã€ã«æã«è¡ãããŸãããã®ããããã©ã€ããŒããªå±æ§ (å é ã«2ã€ã®ã¢ã³ããŒã¹ã³ã¢ã䌎ãååãæã€å±æ§) ã®å€ã
getattr()ã§åãåºãããã«ã¯ã屿§åãæåã§ãã³ã°ãªã³ã°ããå¿ èŠããããŸãã
- globals()¶
çŸåšã®ã¢ãžã¥ãŒã«ã®åå空éãå®è£ ããèŸæžãè¿ããŸãã颿°å ã®ã³ãŒãã«å¯ŸããŠã¯ã颿°ãå®çŸ©ããããšãã«èŸæžãèšå®ããããã®é¢æ°ãã©ãããåŒã°ãããã«ãããããåãå 容ã«ãªããŸãã
- hasattr(object, name, /)¶
åŒæ°ã¯ãªããžã§ã¯ããšæååã§ããæååããªããžã§ã¯ãã®å±æ§åã®äžã€ã§ãã£ãå Žå
Trueããããã§ãªãå ŽåFalseãè¿ããŸãã (ãã®é¢æ°ã¯ãgetattr(object, name)ãåŒã³åºããŠAttributeErrorãéåºãããã©ãããèŠãããšã§å®è£ ãããŠããŸãã)
- hash(object, /)¶
ãªããžã§ã¯ãã®ããã·ã¥å€ã (ååšããã°) è¿ããŸããããã·ã¥å€ã¯æŽæ°ã§ãããããã¯èŸæžãæ€çŽ¢ããéã«èŸæžã®ããŒãé«éã«æ¯èŒããããã«äœ¿ãããŸããçããå€ãšãªãæ°å€ã¯çããããã·ã¥å€ãæã¡ãŸã (1 ãš 1.0 ã®ããã«åãç°ãªã£ãŠããŠãã§ã)ã
泚é
ç¬èªã®
__hash__()ã¡ãœãããå®è£ ãããªããžã§ã¯ãã䜿ãå Žåãhash()ãå®è¡ãããã·ã³ã®ãããå¹ ã«åãããŠæ»ãå€ãåãæšãŠãããšã«æ³šæããŠãã ããã
- help()¶
- help(request)
çµã¿èŸŒã¿ãã«ãã·ã¹ãã ãèµ·åããŸãã(ãã®é¢æ°ã¯å¯Ÿè©±çãªäœ¿çšã®ããã®ãã®ã§ãã) åŒæ°ãäžããããŠããªãå Žåã察話çãã«ãã·ã¹ãã ã¯ã€ã³ã¿ããªã¿ã³ã³ãœãŒã«äžã§èµ·åããŸããåŒæ°ãæååã®å Žåãæååã¯ã¢ãžã¥ãŒã«ã颿°ãã¯ã©ã¹ãã¡ãœãããããŒã¯ãŒãããŸãã¯ããã¥ã¡ã³ãã®é ç®åãšããŠæ€çŽ¢ããããã«ãããŒãžãã³ã³ãœãŒã«äžã«å°åãããŸããåŒæ°ããã®ä»ã®ãªããžã§ã¯ãã®å Žåããã®ãªããžã§ã¯ãã«é¢ãããã«ãããŒãžãçæãããŸãã
help()ãåŒã³åºãããšãã«é¢æ°ã®åŒæ°ãªã¹ãã«ã¹ã©ãã·ã¥ (/) ãçŸããå Žåã¯ãã¹ã©ãã·ã¥ããåã®åŒæ°ãäœçœ®å°çšåŒæ°ã ãšããæå³ã§ããããšã«æ³šæããŠãã ããããã詳ããæ å ±ã¯ã äœçœ®å°çšåŒæ°ã«ã€ããŠã® FAQ ã®é ç® ãåç §ããŠãã ããããã®é¢æ°ã¯ã
siteã¢ãžã¥ãŒã«ãããçµã¿èŸŒã¿ã®åå空éã«ç§»ãããŸããã
- hex(integer, /)¶
æŽæ°ãå é ã« "0x" ãä»ããå°æåã® 16 鲿ååã«å€æããŸãã integer ã Python ã®
intãªããžã§ã¯ãã§ãªãå ŽåãæŽæ°ãè¿ã__index__()ã¡ãœãããå®çŸ©ãããŠããªããã°ãªããŸããã ããã€ãã®äŸã瀺ããŸã:>>> hex(255) '0xff' >>> hex(-42) '-0x2a'
æŽæ°ã倧æåã® 16 鲿ååãå°æåã® 16 鲿ååãå é ã® "0x" ä»ãã "0x" ç¡ãã«å€æãããå Žåã¯ãæ¬¡ã«æããæ¹æ³ã䜿ããŸã:
>>> '%#x' % 255, '%x' % 255, '%X' % 255 ('0xff', 'ff', 'FF') >>> format(255, '#x'), format(255, 'x'), format(255, 'X') ('0xff', 'ff', 'FF') >>> f'{255:#x}', f'{255:x}', f'{255:X}' ('0xff', 'ff', 'FF')
ãã詳ããããšã¯
format()ãåç §ããŠãã ããã16ãåºãšããŠ16鲿°æååãæŽæ°ã«å€æããã«ã¯
int()ãåç §ããŠãã ãããæ³šé
æµ®åå°æ°ç¹æ°ã®16鲿åå衚èšãåŸããå Žåã«ã¯ã
float.hex()ã¡ãœããã䜿ã£ãŠäžããã
- id(object, /)¶
ãªããžã§ã¯ãã® "èå¥å€" ãè¿ããŸãããã®å€ã¯æŽæ°ã§ããã®ãªããžã§ã¯ãã®æå¹æéäžã¯äžæãã€å®æ°ã§ããããšãä¿èšŒãããŠããŸããæå¹æéãéãªããªã 2 ã€ã®ãªããžã§ã¯ãã¯åã
id()å€ãæã€ãããããŸãããããã¯ãªããžã§ã¯ãã®ã¡ã¢ãªã¢ãã¬ã¹ã§ãã
åŒæ°
idãæå®ããŠ ç£æ»ã€ãã³ãbuiltins.idãéåºããŸãã
- input()¶
- input(prompt, /)
åŒæ° prompt ãååšããã°ããããæ«å°Ÿã®æ¹è¡ãé€ããŠæšæºåºåã«æžãåºãããŸããæ¬¡ã«ããã®é¢æ°ã¯å ¥åãã 1 è¡ãèªã¿èŸŒã¿ãæååã«å€æã㊠(æ«å°Ÿã®æ¹è¡ãé€ããŠ) è¿ããŸãã EOF ãèªã¿èŸŒãŸãããšãã
EOFErrorãéåºãããŸããäŸ:>>> s = input('--> ') --> Monty Python's Flying Circus >>> s "Monty Python's Flying Circus"
readlineã¢ãžã¥ãŒã«ãèªã¿èŸŒãŸããŠããã°ãinput()ã¯ããã䜿ã£ãŠç²Ÿç·»ãªè¡ç·šéããã¹ããªæ©èœãæäŸããŸããå ¥åãèªã¿èŸŒãåã«ãåŒæ°
promptä»ãã§ ç£æ»ã€ãã³ãbuiltins.inputãéåºããŸããå ¥åã®èªã¿èŸŒã¿ã«æåããåŸã«ããã®çµæä»ãã§ ç£æ»ã€ãã³ã
builtins.input/resultãéåºããŸãã
- class int(number=0, /)¶
- class int(string, /, base=10)
æ°ãŸãã¯æååããçæãããæŽæ°ãªããžã§ã¯ããè¿ããŸããåŒæ°ãæå®ãããªãå Žåã¯
0ãè¿ããŸããäŸ:
>>> int(123.45) 123 >>> int('123') 123 >>> int(' -12_345\n') -12345 >>> int('FACE', 16) 64206 >>> int('0xface', 0) 64206 >>> int('01110011', base=2) 115
åŒæ°ã«
__int__()ãå®çŸ©ãããŠããå Žåã¯ãint(x)ã¯x.__int__()ãè¿ããŸããåŒæ°ã«__index__()ãå®çŸ©ãããŠããå Žåã¯ãx.__index__()ãè¿ããŸããæµ®åå°æ°ç¹æ°ã«ã€ããŠã¯ããã㯠0 ã«è¿ãåŽãžåãæšãŠãŸããåŒæ°ãæ°å€ã§ãªããããŸã㯠base ãäžããããå ŽåãåŒæ°ã¯ base ãåºæ°ãšããæŽæ°ã衚çŸããæååã
bytesã€ã³ã¹ã¿ã³ã¹ããŸãã¯bytearrayã€ã³ã¹ã¿ã³ã¹ã®ããããã§ãªããã°ãªããŸãããæååã¯å é ã«+ãŸãã¯-ã䌎ã£ãã (笊å·ãšæ°å€ã®éã«ç©ºçœæåãå ¥ããŠã¯ãããŸãã)ãæ°å€ã®å é ã«ä»»æã®æ°ã®ãŒããä»ããããååŸã«ç©ºçœæåãä»ããããåæ¡ãåäžã®äžç·ã§åºåã£ããããŠãæå¹ã§ããn-鲿°ã®æŽæ°æååã¯ãåæ¡ã0ãã n-1 ã®æ°å€ã§è¡šãããŸãããŠãã³ãŒãã®10鲿°ã§ã¯ãåæ¡ã¯0ãã9ã®ããããã§ãããŸã10ãã35ãŸã§ã®å€ã¯
aããz(ãŸãã¯AããZ) ã§è¡šãããŸããããã©ã«ãã® base ã¯10ã§ããåºæ°ã«æå®å¯èœãªå€ã¯0ããã³2ãã36ãŸã§ã®æŽæ°ã§ãã2鲿°ã8鲿°ã16鲿°ã®æååã¯ãæŽæ°ãªãã©ã«ãšåæ§ã«ããããã0b/0B,0o/0O, ãŸãã¯0x/0Xããã¬ãã£ãã¯ã¹ãšããŠè¿œå ããããšãã§ããŸããåºæ°ã0ã«æå®ããå Žåãæåå㯠ã³ãŒãã«ãããæŽæ°ãªãã©ã« ãšåãããã«è§£éãããŸããããªãã¡ããã¬ãã£ãã¯ã¹ã«ãã£ãŠåºæ°ã2, 8, 10, ãŸã㯠16 ã®ã©ãã«ãªãããæ±ºãŸããŸããåºæ°ã0ã«ããå Žåå é ã«ãŒãã远å ããããšã¯ã§ããŸãã: ããªãã¡int('010', 0)ã¯åºæ°ã0ã«æå®ããŠããããäžæ£ã§ãããint('010')ãint('010', 8)ã¯æå¹ã§ããæŽæ°åã«ã€ããŠã¯ã æ°å€å int, float, complex ãåç §ããŠãã ããã
ããŒãžã§ã³ 3.4 ã§å€æŽ: base ã
intã®ã€ã³ã¹ã¿ã³ã¹ã§ãªããbase ãªããžã§ã¯ããbase.__index__ã¡ãœãããæã£ãŠããå Žåããã®ã¡ãœãããåŒãã§åºã«å¯ŸããæŽæ°ãåŸãããšãã§ããŸãã以åã®ããŒãžã§ã³ã§ã¯base.__index__ã§ã¯ãªãbase.__int__ã䜿çšããŠããŸãããããŒãžã§ã³ 3.6 ã§å€æŽ: ã³ãŒããªãã©ã«äžã§æ¡ãã°ã«ãŒãåããã®ã«ã¢ã³ããŒã¹ã³ã¢ãå©çšã§ããŸãã
ããŒãžã§ã³ 3.7 ã§å€æŽ: 第1åŒæ°ã¯äœçœ®å°çšã«ãªããŸããã
ããŒãžã§ã³ 3.8 ã§å€æŽ:
__int__()ãå®çŸ©ãããŠããªãå Žåã__index__()ãžãã©ãŒã«ããã¯ããŸããããŒãžã§ã³ 3.11 ã§å€æŽ:
intãžã®æååå ¥åããã®æåå衚çŸã¯ããµãŒãã¹æåŠæ»æ (DoS æ»æ) ãé¿ããããã«å¶éãããããšããããŸããæååãintã«å€æãããintãæååã«å€æãããããéã«ãã®å¶éãè¶ ããå ŽåãValueErrorãéåºãããŸãã詳ããã¯ æŽæ°æååã®å€æã«ãããé·ãå¶é ãåç §ããŠãã ãããããŒãžã§ã³ 3.14 ã§å€æŽ:
int()no longer delegates to the__trunc__()method.
- isinstance(object, classinfo, /)¶
object åŒæ°ã classinfo åŒæ°ã«æå®ããåããŸãã¯ãã® (çŽæ¥ã鿥ããŸãã¯ ä»®æ³ ã®) ãµãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã§ããå Žåã«
Trueãè¿ããŸãã object ãäžããããåã®ãªããžã§ã¯ãã§ãªãå Žåããã®é¢æ°ã¯åžžã«Falseãè¿ããŸãã classinfo ãåãªããžã§ã¯ãã®ã¿ãã« (ãŸãã¯ååž°çã«ãã®ãããªã¿ãã«ãå«ãã¿ãã«) ãè€æ°ã®åã® Union å ã§ããå Žåã object ããããã®åã®ããããã®ã€ã³ã¹ã¿ã³ã¹ã§ããã°Trueãè¿ããŸãã classinfo ãåãåãããªãã¿ãã«ãŸãã¯ååž°çã¿ãã«ã®ãããã§ããªãå ŽåãTypeErroräŸå€ãéåºãããŸããã¿ãã«ã®äžã§å è¡ããåã«å¯Ÿãããã§ãã¯ãæåããå ŽåãåŸç¶ã®äžæ£ãªåã«å¯ŸããŠTypeErrorãéåºãããªãããšããããŸããããŒãžã§ã³ 3.10 ã§å€æŽ: classinfo ã« Union å ãæå®ã§ããããã«ãªããŸããã
- issubclass(class, classinfo, /)¶
Return
Trueif class is a subclass (direct, indirect, or virtual) of classinfo. A class is considered a subclass of itself. classinfo may be a tuple of class objects (or recursively, other such tuples) or a Union å, in which case returnTrueif class is a subclass of any entry in classinfo. In any other case, aTypeErrorexception is raised.ããŒãžã§ã³ 3.10 ã§å€æŽ: classinfo ã« Union å ãæå®ã§ããããã«ãªããŸããã
- iter(iterable, /)¶
- iter(callable, sentinel, /)
iterator ãªããžã§ã¯ããè¿ããŸãã第äºåŒæ°ããããã©ããã«ãã£ãŠç¬¬äžåŒæ°ã®è§£éã¯å€§ããç°ãªããŸãã第äºåŒæ°ããªãå Žåãåäžã®åŒæ°ã¯ iterable ãããã³ã« (
__iter__()ã¡ãœãã) ããµããŒãããã³ã¬ã¯ã·ã§ã³ãªããžã§ã¯ããããŸãã¯ã·ãŒã±ã³ã¹ãããã³ã« (0ããå§ãŸãæŽæ°ãåŒæ°ã«ãšã__getitem__()ã¡ãœãã) ããµããŒããããªããžã§ã¯ãã§ãªããã°ãªããŸããã第äžåŒæ°ãã©ã¡ãã®ãããã³ã«ããµããŒãããªãå Žåã¯TypeErroräŸå€ãéåºãããŸãã第äºåŒæ° sentinel ãäžããããå Žåã第äžåŒæ°ã¯åŒã³åºãå¯èœãªããžã§ã¯ãã§ãªããã°ãªããŸããããã®å Žåã«çæãããã€ãã¬ãŒã¿ã¯__next__()ã¡ãœãããåŒã³åºãããšã«åŒæ°ãªãã§ callable ãåŒã³åºããŸã; æ»ãå€ã sentinel ãšçãããã°ãStopIterationãéåºãããŸãããã以å€ã®å Žåã¯æ»ãå€ããã®ãŸãŸè¿ãããŸããã€ãã¬ãŒã¿å ãèŠãŠãã ããã
2åŒæ°åœ¢åŒã®
iter()ã®äŸ¿å©ãªå©ç𿹿³ã®1ã€ã¯ããããã¯ãªãŒããŒã®æ§ç¯ã§ãã äŸãã°ããã€ããªã®ããŒã¿ããŒã¹ãã¡ã€ã«ããåºå®å¹ ã®ãããã¯ããã¡ã€ã«ã®çµç«¯ã«å°éãããŸã§èªã¿åºãã«ã¯æ¬¡ã®ããã«ããŸã:from functools import partial with open('mydata.db', 'rb') as f: for block in iter(partial(f.read, 64), b''): process_block(block)
- len(object, /)¶
ãªããžã§ã¯ãã®é·ã (èŠçŽ ã®æ°) ãè¿ããŸããåŒæ°ã¯ã·ãŒã±ã³ã¹ (æååããã€ãåãã¿ãã«ããªã¹ããrange ç) ãã³ã¬ã¯ã·ã§ã³ (èŸæžãéåãåçµéåç) ã§ãã
lenã¯ãäŸãã°range(2 ** 100)ã®ãããªãsys.maxsizeãè¶ ããé·ãã«å¯ŸããŠOverflowErrorãéåºããŸãã
- class list(iterable=(), /)
listã¯ãå®éã«ã¯é¢æ°ã§ã¯ãªããã¥ãŒã¿ãã«ãªã·ãŒã±ã³ã¹åã§ã ãªã¹ãå (list) ãš ã·ãŒã±ã³ã¹å --- list, tuple, range ã«ããã¥ã¡ã³ãåãããŠããŸãã
- locals()¶
çŸåšã®ããŒã«ã« ã·ã³ãã« ããŒãã«ã衚ããããã³ã° ãªããžã§ã¯ããè¿ããŸããããã¯å€æ°åãããŒãšããçŸåšãã€ã³ããããŠããåç §ãå€ãšããŸãã
ã¢ãžã¥ãŒã« ã¹ã³ãŒãã§ã¯ãåäžã®åå空éã§
exec()ãeval()ã䜿ãå Žåãšåããããã®é¢æ°ã¯globals()ãšåãåå空éãè¿ããŸããã¯ã©ã¹ ã¹ã³ãŒãã§ã¯ãã¡ã¿ã¯ã©ã¹ ã³ã³ã¹ãã©ã¯ã¿ã«æž¡ãããåå空éãè¿ããŸãã
exec()ãeval()ãåŒæ° local ãš global ãåããŠäœ¿ãããŠãå Žåã§ã¯ã颿°ã®åŒã³åºãã§æž¡ãããããŒã«ã«åå空éãè¿ããŸããäžèšã©ã®å Žåã§ããç¹å®ã®å®è¡ãã¬ãŒã å ã§ã®å
locals()㯠åã ãããã³ã° ãªããžã§ã¯ããè¿ããŸããlocals()ããè¿ããããããã³ã° ãªããžã§ã¯ããéããŠè¡ããã倿Žã¯ãä»£å ¥ãåä»£å ¥ããŸãã¯åé€ãããããŒã«ã«å€æ°ãšããŠå¯èŠåãããŸãããããŠããŒã«ã«å€æ°ã®ä»£å ¥ãåä»£å ¥ããŸãã¯åé€ã¯ãè¿ããããããã³ã° ãªããžã§ã¯ãã®å 容ãžçŽã¡ã«åæ ãããŸããoptimized scope ïŒé¢æ°ããžã§ãã¬ãŒã¿ãŒãã³ã«ãŒãã³ãå«ãïŒã§ã¯ã
locals()ãåŒã³åºããšã代ããã«é¢æ°ã®ããŒã«ã«å€æ°ãšéããŒã«ã« ã»ã«åç §ã®çŸåšã®ãã€ã³ãã£ã³ã°ãå«ãã æ°ããèŸæžãè¿ããŸãããã®å Žåãè¿ãããèŸæžã䜿ã£ãŠè¡ããã倿Žã¯ã察å¿ããããŒã«ã«å€æ°ãéããŒã«ã« ã»ã«åç §ã«ã¯ æžãæ»ãããŸãã ããŸããããŒã«ã«å€æ°ãéããŒã«ã« ã»ã«åç §ãžä»£å ¥ãåä»£å ¥ãåé€ãè¡ã£ãŠãã以åã«è¿ãããèŸæžã®å 容ã«ã¯ 圱é¿ããŸãã ãlocals()åŒã³åºãã颿°ããžã§ãã¬ãŒã¿ãã³ã«ãŒãã³å ã®å å 衚èšå ã«ããã°ãããã¯ãããå«ãã¹ã³ãŒãããåŒã³åºãããšãšåçã§ãããã ãå å 衚èšã®åæåãããååŸ©å€æ°ãå«ãŸããŸããä»ã®ã¹ã³ãŒãã§ã¯ãå å 衚èšããã¹ãããã颿°ãšããŠå®è¡ãããŠãããã®ããã«æ¯èããŸããlocals()åŒã³åºãããžã§ãã¬ãŒã¿åŒã®äžéšã§ããã°ããã¹ãããããžã§ãã¬ãŒã¿é¢æ°å ã®åŒã³åºããšåçã§ããããŒãžã§ã³ 3.12 ã§å€æŽ: å å 衚èšã«ããã
locals()ã®æ¯ãèã ã¯ã PEP 709 ã§èª¬æãããŠããããã«æŽæ°ãããŸãããããŒãžã§ã³ 3.13 ã§å€æŽ: PEP 667 ã®äžéšãšããŠããã®é¢æ°ããè¿ããããããã³ã°ãªããžã§ã¯ãã倿Žããã»ãã³ãã£ã¯ã¹ãå®çŸ©ãããŸããã optimized scopes ã®æ¯ãèãã¯äžèšã®ããã«ãªããŸãããå®çŸ©ãããã ãã§ããã®ä»ã®ã¹ã³ãŒãã®æ¯ãèãã¯ä»¥åã®ããŒãžã§ã³ã®ãŸãŸã§ãã
- map(function, iterable, /, *iterables, strict=False)¶
Return an iterator that applies function to every item of iterable, yielding the results. If additional iterables arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With multiple iterables, the iterator stops when the shortest iterable is exhausted. If strict is
Trueand one of the iterables is exhausted before the others, aValueErroris raised. For cases where the function inputs are already arranged into argument tuples, seeitertools.starmap().ããŒãžã§ã³ 3.14 ã§å€æŽ: strict ãã©ã¡ãŒã¿ã远å ãããŸããã
- max(iterable, /, *, key=None)¶
- max(iterable, /, *, default, key=None)
- max(arg1, arg2, /, *args, key=None)
iterable ã®äžã§æå€§ã®èŠçŽ ããŸãã¯2ã€ä»¥äžã®åŒæ°ã®äžã§æå€§ã®ãã®ãè¿ããŸãã
äœçœ®åŒæ°ã1ã€ã ãäžããããå Žåãããã¯ç©ºã§ãªã iterable ã§ãªããŠã¯ãããŸããããã® iterable ã®æå€§ã®èŠçŽ ãè¿ãããŸãã2 ã€ä»¥äžã®ããŒã¯ãŒãç¡ãã®äœçœ®åŒæ°ãäžããããå Žåããã®äœçœ®åŒæ°ã®äžã§æå€§ã®ãã®ãè¿ãããŸãã
ä»»æã®ããŒã¯ãŒãå°çšåŒæ°ã 2 ã€ãããŸãã key åŒæ°ã¯åŒæ°ã 1 ã€åãé åºé¢æ° (
list.sort()ã®ãã®ã®ããã«) ãæå®ããŸãã default åŒæ°ã¯äžããããã€ãã©ãã«ã空ã®å Žåã«è¿ããªããžã§ã¯ããæå®ããŸãã ã€ãã©ãã«ã空㧠default ãäžããããŠããªãå ŽåValueErrorãéåºãããŸããæå€§ã®èŠçŽ ãè€æ°ãããšãããã®é¢æ°ã¯ãã®ãã¡æåã«çŸãããã®ãè¿ããŸããããã¯ã
sorted(iterable, key=keyfunc, reverse=True)[0]ãheapq.nlargest(1, iterable, key=keyfunc)ã®ãããªãä»ã®ãœãŒãå®å®æ§ãç¶æããããŒã«ãšäž¡ç«ããŸããããŒãžã§ã³ 3.4 ã§å€æŽ: ããŒã¯ãŒãå°çšåŒæ° default ã远å ãããŸããã
ããŒãžã§ã³ 3.8 ã§å€æŽ: key åŒæ°ã
Noneã§ããããšã蚱容ããŸãã
- class memoryview(object)
äžãããããªããžã§ã¯ãããäœããã "ã¡ã¢ãªãã¥ãŒ" ãªããžã§ã¯ããè¿ããŸãã詳ãã㯠ã¡ã¢ãªãã¥ãŒ ãåç §ããŠãã ããã
- min(iterable, /, *, key=None)¶
- min(iterable, /, *, default, key=None)
- min(arg1, arg2, /, *args, key=None)
iterable ã®äžã§æå°ã®èŠçŽ ããŸãã¯2ã€ä»¥äžã®åŒæ°ã®äžã§æå°ã®ãã®ãè¿ããŸãã
äœçœ®åŒæ°ã1ã€ã ãäžããããå Žåãããã¯ç©ºã§ãªã iterable ã§ãªããŠã¯ãããŸããããã® iterable ã®æå°ã®èŠçŽ ãè¿ãããŸãã2 ã€ä»¥äžã®ããŒã¯ãŒãç¡ãã®äœçœ®åŒæ°ãäžããããå Žåããã®äœçœ®åŒæ°ã®äžã§æå°ã®ãã®ãè¿ãããŸãã
ä»»æã®ããŒã¯ãŒãå°çšåŒæ°ã 2 ã€ãããŸãã key åŒæ°ã¯åŒæ°ã 1 ã€åãé åºé¢æ° (
list.sort()ã®ãã®ã®ããã«) ãæå®ããŸãã default åŒæ°ã¯äžããããã€ãã©ãã«ã空ã®å Žåã«è¿ããªããžã§ã¯ããæå®ããŸãã ã€ãã©ãã«ã空㧠default ãäžããããŠããªãå ŽåValueErrorãéåºãããŸããæå°ã®èŠçŽ ãè€æ°ãããšãããã®é¢æ°ã¯ãã®ãã¡æåã«çŸãããã®ãè¿ããŸããããã¯ã
sorted(iterable, key=keyfunc)[0]ãheapq.nsmallest(1, iterable, key=keyfunc)ã®ãããªãä»ã®ãœãŒãå®å®æ§ãç¶æããããŒã«ãšäž¡ç«ããŸããããŒãžã§ã³ 3.4 ã§å€æŽ: ããŒã¯ãŒãå°çšåŒæ° default ã远å ãããŸããã
ããŒãžã§ã³ 3.8 ã§å€æŽ: key åŒæ°ã
Noneã§ããããšã蚱容ããŸãã
- next(iterator, /)¶
- next(iterator, default, /)
Retrieve the next item from the iterator by calling its
__next__()method. If default is given, it is returned if the iterator is exhausted, otherwiseStopIterationis raised.
- class object¶
ããããããããã¯ã©ã¹ã«ç¶æ¿ããã倧æ¬ã®ããŒã¹ã¯ã©ã¹ã§ãããã®ã¯ã©ã¹ãæã€ã¡ãœããã¯ãã©ã® Python ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«ããããŸããã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºããšããŸã£ãããªãªããžã§ã¯ããè¿ããŸããã³ã³ã¹ãã©ã¯ã¿ã«åŒæ°ã¯æå®ã§ããŸããã
- oct(integer, /)¶
æŽæ°ãå é ã« "0o" ãä»ãã 8 鲿ååã«å€æããŸãã çµæã¯ Python ã®åŒãšããŠã䜿ãã圢åŒã«ãªããŸãã integer ã Python ã®
intãªããžã§ã¯ãã§ãªãå ŽåãæŽæ°ãè¿ã__index__()ã¡ãœãããå®çŸ©ãããŠããªããã°ãªããŸããã äŸãã°ã次ã®ããã«ãªããŸã:>>> oct(8) '0o10' >>> oct(-56) '-0o70'
æŽæ°ãæ¥é èŸ "0o" ä»ãã "0o" ç¡ãã® 8 鲿ååã«å€æãããå Žåã¯ãæ¬¡ã«æããæ¹æ³ã®ããããã䜿ã£ãŠãã ããã
>>> '%#o' % 10, '%o' % 10 ('0o12', '12') >>> format(10, '#o'), format(10, 'o') ('0o12', '12') >>> f'{10:#o}', f'{10:o}' ('0o12', '12')
ãã詳ããããšã¯
format()ãåç §ããŠãã ããã
- open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)¶
file ãéãã察å¿ãã ãã¡ã€ã«ãªããžã§ã¯ã ãè¿ããŸãããã¡ã€ã«ãéãããšãã§ããªããã°ã
OSErrorãéåºãããŸãã ãã®é¢æ°ã®å©çšäŸã«ã€ããŠã Reading and Writing Files ãåç §ããŠãã ãããfile 㯠path-like object ã§ãéããã¡ã€ã«ã®ãã¹å (絶察ãã¹ãŸãã¯çŸåšã®äœæ¥ãã£ã¬ã¯ããªããã®çžå¯Ÿãã¹) ãããã¯ã©ãããããã¡ã€ã«ã®æŽæ°ã®ãã¡ã€ã«ãã¹ã¯ãªãã¿ãäžããŸãã (ãã¡ã€ã«ãã¹ã¯ãªãã¿ãäžããããå Žåã closefd ã
Falseã«èšå®ãããŠããªããããããã®é¢æ°ãè¿ã I/O ãªããžã§ã¯ããã¯ããŒãºããããšãã«ãã¡ã€ã«ãã¹ã¯ãªãã¿ãã¯ããŒãºãããŸãã)mode is an optional string that specifies the mode in which the file is opened. It defaults to
'r'which means open for reading in text mode. Other common values are'w'for writing (truncating the file if it already exists),'x'for exclusive creation, and'a'for appending (which on some Unix systems, means that all writes append to the end of the file regardless of the current seek position). In text mode, if encoding is not specified the encoding used is platform-dependent:locale.getencoding()is called to get the current locale encoding. (For reading and writing raw bytes use binary mode and leave encoding unspecified.) The available modes are:æå
æå³
'r'èªã¿èŸŒã¿çšã«éã (ããã©ã«ã)
'w'æžã蟌ã¿çšã«éãããŸããã¡ã€ã«ãåãè©°ãã
'x'æä»çãªçæã«éãããã¡ã€ã«ãååšããå Žåã¯å€±æãã
'a'æžã蟌ã¿çšã«éãããã¡ã€ã«ãååšããå Žåã«ã¯æ«å°Ÿã«è¿œèšãã
'b'ãã€ããªã¢ãŒã
't'ããã¹ãã¢ãŒã (ããã©ã«ã)
'+'æŽæ°çšã«éã (èªã¿èŸŒã¿ã»æžã蟌ã¿çš)
ããã©ã«ãã®ã¢ãŒãã¯
'r'(ããã¹ãã®èªã¿èŸŒã¿çšã«éãã'rt'ãšå矩) ã§ãã'w+'ãš'w+b'ã¯ãã¡ã€ã«ãéããŠäžæžãããŸãã'r+'ãš'r+b'ã¯ãã¡ã€ã«ãäžæžãããã«éããŸããAs mentioned in the æŠèŠ, Python distinguishes between binary and text I/O. Files opened in binary mode (including
'b'in the mode argument) return contents asbytesobjects without any decoding. In text mode (the default, or when't'is included in the mode argument), the contents of the file are returned asstr, the bytes having been first decoded using a platform-dependent encoding or using the specified encoding if given.泚é
Python ã¯ãäžå±€ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããã¹ããã¡ã€ã«ãã©ãèªèãããã«ã¯äŸåããŸãã; ãã¹ãŠã®åŠç㯠Python èªèº«ã§è¡ããããã£ãŠãã©ãããã©ãŒã éäŸåã§ãã
buffering ã¯ãªãã·ã§ã³ã®æŽæ°ã§ããããã¡ãªã³ã°ã®ããªã·ãŒãèšå®ããããã«äœ¿ãããŸãã ãããã¡ãªã³ã°ãç¡å¹åããããã«ã¯0ãæž¡ããŠãã ãã (ãã€ããªã¢ãŒãã§ã®ã¿èšå®å¯èœã§ã)ããŸãè¡åäœã§ã®ãããã¡ãªã³ã°ã«ã¯1ãèšå®ããŠãã ãã (ããã¹ãã¢ãŒãã§ã®æžãèŸŒã¿æã®ã¿æå¹ã§ã)ãåºå®ãµã€ãºã®ãã£ã³ã¯ãããã¡ã«å¯Ÿãããµã€ãºããã€ãåäœã§æå®ãããå Žåã¯ã1ãã倧ããæŽæ°ãæž¡ããŠãã ããããã®åœ¢åŒã§ãããã¡ãµã€ãºãæå®ããå Žåããã€ããªåœ¢åŒã§ãããã¡ãªã³ã°ããµããŒããã I/O (buffered I/O) ã«ã¯ãã®ãŸãŸé©çšãããŸããã
TextIOWrapper(ããªãã¡mode='r+'ã®ã¢ãŒãã§ãªãŒãã³ããããã¡ã€ã«) ã§ã¯å¥ã®ãããã¡ãªã³ã°ãè¡ããããããŸãããTextIOWrapperã§ãããã¡ãªã³ã°ãç¡å¹åããã«ã¯ãio.TextIOWrapper.reconfigure()ã§write_throughãã©ã°ã䜿ãããšãæ€èšããŠãã ããã buffering åŒæ°ãäžããããªãã£ãå Žåãããã©ã«ãã®ãããã¡ãªã³ã°ããªã·ãŒã¯ä»¥äžã®ããã«åäœããŸã:ãã€ããªã¢ãŒãã§ã¯ãåºå®ãµã€ãºã®ãã£ã³ã¯ãããã¡ã䜿ãããŸãããããã¡ã®ãµã€ãºã¯ãããã€ã¹ã®ãããã¯ãµã€ãºãååŸã§ããå Žåã¯
max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE)ã§ããã»ãšãã©ã®ç°å¢ã§ã¯ããã®ãããã¡ã¯éåžž 128 ãããã€ãã§ããã察話çãªãããã¹ããã¡ã€ã« (
isatty()ãTrueãè¿ããã¡ã€ã«) ã¯è¡ãããã¡ãªã³ã°ã䜿çšããŸãã ãã®ä»ã®ããã¹ããã¡ã€ã«ã¯ãäžã§èª¬æãããã€ããªãã¡ã€ã«çšã®æ¹éã䜿çšããŸãã
encoding is the name of the encoding used to decode or encode the file. This should only be used in text mode. The default encoding is platform dependent (whatever
locale.getencoding()returns), but any text encoding supported by Python can be used. See thecodecsmodule for the list of supported encodings.errors is an optional string that specifies how encoding and decoding errors are to be handledâthis cannot be used in binary mode. A variety of standard error handlers are available (listed under ãšã©ãŒãã³ãã©), though any error handling name that has been registered with
codecs.register_error()is also valid. The standard names include:'strict'to raise aValueErrorexception if there is an encoding error. The default value ofNonehas the same effect.'ignore'ignores errors. Note that ignoring encoding errors can lead to data loss.'replace'causes a replacement marker (such as'?') to be inserted where there is malformed data.'surrogateescape'will represent any incorrect bytes as low surrogate code units ranging from U+DC80 to U+DCFF. These surrogate code units will then be turned back into the same bytes when thesurrogateescapeerror handler is used when writing data. This is useful for processing files in an unknown encoding.'xmlcharrefreplace'is only supported when writing to a file. Characters not supported by the encoding are replaced with the appropriate XML character reference&#nnn;.'backslashreplace'replaces malformed data by Python's backslashed escape sequences.'namereplace'(also only supported when writing) replaces unsupported characters with\N{...}escape sequences.
newline ã¯ã¹ããªãŒã ããåãåã£ãæ¹è¡æåãã©ã®ããã«ããŒã¹ããããæ±ºå®ããŸãã
None,'','\n','\r', ãŸãã¯'\r\n'ã®ãããããæå®ã§ããŸããããã¯ä»¥äžã®ããã«åäœããŸã:ã¹ããªãŒã ããã®å ¥åã®èªã¿èŸŒã¿æãnewline ã
Noneã®å ŽåããŠãããŒãµã«æ¹è¡ã¢ãŒããæå¹ã«ãªããŸããå ¥åäžã®è¡ã¯'\n','\r', ãŸãã¯'\r\n'ã§çµãããåŒã³åºãå ã«è¿ãããåã«'\n'ã«å€æãããŸãã''ã®å ŽåããŠãããŒãµã«æ¹è¡ã¢ãŒãã¯æå¹ã«ãªããŸãããè¡æ«ã¯å€æãããã«åŒã³åºãå ã«è¿ãããŸãããã®ä»ã®æ£åœãªå€ã®å Žåãå ¥åè¡ã¯äžããããæååã§ã®ã¿çµãããè¡æ«ã¯å€æãããã«åŒã³åºãå ã«è¿ãããŸããã¹ããªãŒã ãžã®åºåã®æžãèŸŒã¿æãnewline ã
Noneã®å Žåãå šãŠã®'\n'æåã¯ã·ã¹ãã ã®ããã©ã«ãã®è¡ã»ãã¬ãŒã¿os.linesepã«å€æãããŸãã newline ã''ãŸãã¯'\n'ã®å Žåã¯å€æãããŸãããnewline ããã®ä»ã®æ£åœãªå€ã®å Žåãå šãŠã®'\n'æåã¯äžããããæååã«å€æãããŸãã
closefd ã
Falseã§ããã¡ã€ã«åã§ã¯ãªããŠãã¡ã€ã«èšè¿°åãäžããããå Žåãäžå±€ã®ãã¡ã€ã«èšè¿°åã¯ãã¡ã€ã«ãéããããåŸãéãããŸãŸãšãªããŸãã ãã¡ã€ã«åãäžããããå Žåãclosefd ã¯True(ããã©ã«ãå€) ã§ãªããã°ãªããŸããã ããã§ãªãå Žåãšã©ãŒãéåºãããŸããåŒã³åºãå¯èœãªããžã§ã¯ãã opener ãšããŠäžããããšã§ãã«ã¹ã¿ã ã®ãªãŒãããŒã䜿ããŸãããããŠãã¡ã€ã«ãªããžã§ã¯ãã®äžå±€ã®ãã¡ã€ã«èšè¿°åã¯ãopener ã (file, flags) ã§åŒã³åºããŠåŸãããŸããopener ã¯éãããã¡ã€ã«èšè¿°åãè¿ããªããã°ãªããŸããã (
os.openã opener ãšããŠæž¡ããšãNoneãæž¡ããã®ãšåæ§ã®æ©èœã«ãªããŸã)ãæ°ãã«äœæããããã¡ã€ã«ã¯ ç¶æ¿äžå¯ ã§ãã
次ã®äŸã¯
os.open()颿°ã® dir_fd åŒæ°ã䜿ããäžãããããã£ã¬ã¯ããªããã®çžå¯Ÿãã¹ã§æå®ããããã¡ã€ã«ãéããŸã:>>> import os >>> dir_fd = os.open('somedir', os.O_RDONLY) >>> def opener(path, flags): ... return os.open(path, flags, dir_fd=dir_fd) ... >>> with open('spamspam.txt', 'w', opener=opener) as f: ... print('This will be written to somedir/spamspam.txt', file=f) ... >>> os.close(dir_fd) # ãã¡ã€ã«èšè¿°åã®è§£æŸæŒãããªãããã«
open()颿°ãè¿ã file object ã®åã¯ã¢ãŒãã«äŸåããŸããopen()ããã¡ã€ã«ãããã¹ãã¢ãŒã ('w','r','wt','rt', ãªã©) ã§éãã®ã«äœ¿ã£ããšãã¯io.TextIOBase(ç¹ã«io.TextIOWrapper) ã®ãµãã¯ã©ã¹ãè¿ããŸãã ãã¡ã€ã«ããããã¡ãªã³ã°ä»ãã®ãã€ããªã¢ãŒãã§éãã®ã«äœ¿ã£ããšãã¯io.BufferedIOBaseã®ãµãã¯ã©ã¹ãè¿ããŸãã å®éã®ã¯ã©ã¹ã¯æ§ã ã§ãã èªã¿èŸŒã¿ãã€ããªã¢ãŒãã§ã¯io.BufferedReaderãè¿ããŸãã æžã蟌ã¿ãã€ããªã¢ãŒãã远èšãã€ããªã¢ãŒãã§ã¯io.BufferedWriterãè¿ããŸãã èªã¿æžãã¢ãŒãã§ã¯io.BufferedRandomãè¿ããŸãã ãããã¡ãªã³ã°ãç¡å¹ãªãšãã¯rawã¹ããªãŒã ãããªãã¡io.RawIOBaseã®ãµãã¯ã©ã¹ã§ããio.FileIOãè¿ããŸããfileinputã(open()ã宣èšãããå Žæã§ãã)ioãosãos.pathãtempfileãshutilãªã©ã®ããã¡ã€ã«æäœã¢ãžã¥ãŒã«ãåç §ããŠãã ãããåŒæ°
path,mode,flagsãæå®ããŠ ç£æ»ã€ãã³ãopenãéåºããŸããmodeãšflagsã®2ã€ã®åŒæ°ã¯åŒã³åºãæã®å€ããä¿®æ£ãããããæšéã«ããèšå®ããããããå¯èœæ§ããããŸããããŒãžã§ã³ 3.3 ã§å€æŽ:
opener åŒæ°ã远å ããŸããã
'x'ã¢ãŒãã远å ããŸããã以åã¯
IOErrorãéåºãããŸãã; ããã¯çŸåšOSErrorã®ãšã€ãªã¢ã¹ã§ããæ¢åã®ãã¡ã€ã«ã æä»ççæã¢ãŒã(
'x')ã§éããå ŽåãFileExistsErrorãéåºããããã«ãªããŸããã
ããŒãžã§ã³ 3.4 ã§å€æŽ:
ãã¡ã€ã«ãç¶æ¿äžå¯ã«ãªããŸããã
ããŒãžã§ã³ 3.5 ã§å€æŽ:
ã·ã¹ãã ã³ãŒã«ãäžæããã·ã°ãã«ãã³ãã©ãäŸå€ãéåºããªãã£ãå Žåããã®é¢æ°ã¯
InterruptedErroräŸå€ãéåºãã代ããã«ã·ã¹ãã ã³ãŒã«ãå詊è¡ããããã«ãªããŸãã (è«æ ã«ã€ããŠã¯ PEP 475 ãåç §ããŠãã ãã)ã'namereplace'ãšã©ãŒãã³ãã©ã远å ãããŸããã
ããŒãžã§ã³ 3.6 ã§å€æŽ:
os.PathLikeãå®è£ ãããªããžã§ã¯ããåãå ¥ããããã«ãªããŸãããWindowsã§ã¯ãã³ã³ãœãŒã«ãããã¡ã®ãªãŒãã³ã¯ã
io.FileIOã§ã¯ãªããio.RawIOBaseã®ãµãã¯ã©ã¹ãè¿ãã§ãããã
ããŒãžã§ã³ 3.11 ã§å€æŽ:
'U'ã¢ãŒãã¯åé€ãããŸããã
- ord(character, /)¶
æåã®çªå·ãè¿ããŸãã
åŒæ°ãïŒæåã®æååã®å Žåã¯ããã®æåã® Unicode ã³ãŒããã€ã³ããè¿ããŸããäŸãã°
ord('a')ã¯97ãord('â¬')(ãŠãŒã) ã¯8364ã«ãªããŸããchr()ãšåå¯Ÿã®æäœã§ããåŒæ°ã é·ãïŒã®
bytesãŸãã¯bytearrayã§ããå Žåã¯ããã®ãã€ãå€ãè¿ããŸããäŸãã°ãord(b'a')ã¯97ã«ãªããŸãã
- pow(base, exp, mod=None)¶
base ã® exp ä¹ãè¿ããŸã; mod ãããã°ãbase ã® exp ä¹ã«å¯Ÿãã mod ã®å°äœãè¿ããŸã (
pow(base, exp) % modããå¹çããèšç®ãããŸã)ãäºåŒæ°ã®åœ¢åŒpow(base, exp)ã¯ãåªä¹æŒç®åã䜿ã£ãbase**expãšç䟡ã§ããWhen arguments are builtin numeric types with mixed operand types, the coercion rules for binary arithmetic operators apply. For
intoperands, the result has the same type as the operands (after coercion) unless the second argument is negative; in that case, all arguments are converted to float and a float result is delivered. For example,pow(10, 2)returns100, butpow(10, -2)returns0.01. For a negative base of typeintorfloatand a non-integral exponent, a complex result is delivered. For example,pow(-9, 0.5)returns a value close to3j. Whereas, for a negative base of typeintorfloatwith an integral exponent, a float result is delivered. For example,pow(-9, 2.0)returns81.0.base ãš exp ã
intãªãã©ã³ãã§ mod ãååšãããšãã mod ããŸãæŽæ°åã§ãªããã°ãªããããã€ãŒãã§ãã£ãŠã¯ãããŸããã mod ãååšã㊠exp ãè² ã®æŽæ°ã®å Žåã base 㯠mod ãšäºãã«çŽ (æå€§å ¬çŽæ°ã1) ã§ãªããã°ãªããŸããããã®å Žåã inv_base ã base ã«å¯Ÿãã mod ãæ³ãšããã¢ãžã¥ã©éæ° (base ãš inv_base ã®ç©ã mod ã§å²ã£ãäœãã1ã«ãªããããªæ°) ãšããŠãpow(inv_base, -exp, mod)ãè¿ãããŸãã以äžã¯
97ãæ³ãšãã38ã®ã¢ãžã¥ã©éæ°ã®èšç®äŸã§ã:>>> pow(38, -1, mod=97) 23 >>> 23 * 38 % 97 == 1 True
ããŒãžã§ã³ 3.8 ã§å€æŽ:
intãªãã©ã³ãã«å¯ŸããŠãäžåŒæ°åœ¢åŒã®powã§ç¬¬äºåŒæ°ã«è² ã®å€ãåãããšãã§ããããã«ãªããŸãããããã«ããã¢ãžã¥ã©éæ°ã®èšç®ãå¯èœã«ãªããŸããããŒãžã§ã³ 3.8 ã§å€æŽ: ããŒã¯ãŒãåŒæ°ãåãããšãã§ããããã«ãªããŸããã以åã¯äœçœ®åŒæ°ã ãããµããŒããããŠããŸããã
- print(*objects, sep=' ', end='\n', file=None, flush=False)¶
objects ã sep ã§åºåããªããããã¹ãã¹ããªãŒã file ã«è¡šç€ºããæåŸã« end ã衚瀺ããŸããsep ã end ã file ã flush ãäžããå ŽåãããŒã¯ãŒãåŒæ°ãšããŠäžããå¿ èŠããããŸãã
ããŒã¯ãŒããªãã®åŒæ°ã¯ãã¹ãŠã
str()ãããããã«æååã«å€æããã sep ã§åºåãããªããã¹ããªãŒã ã«æžãåºãããæåŸã« end ãç¶ããŸãã sep ãš end ã®äž¡æ¹ãšããæååã§ãªããã°ãªããŸãããããããNoneã«ãããšãããã©ã«ãã®å€ã䜿ãããŸãã objects ãäžããããªããã°ãprint()㯠end ã ããæžãåºããŸããfile åŒæ°ã¯ã
write(string)ã¡ãœãããæã€ãªããžã§ã¯ãã§ãªããã°ãªããŸãããæå®ãããªãããNoneã§ããå Žåãsys.stdoutã䜿ãããŸãã衚瀺ãããåŒæ°ã¯å šãŠããã¹ãæååã«å€æãããŸããããprint()ã¯ãã€ããªã¢ãŒããã¡ã€ã«ãªããžã§ã¯ãã«ã¯äœ¿çšã§ããŸããã代ããã«file.write(...)ã䜿ã£ãŠãã ãããåºåããããã¡åããããã©ããã¯éåžž file ã§æ±ºãŸããŸãããflush ããŒã¯ãŒãåŒæ°ãçãªãã¹ããªãŒã ã¯åŒ·å¶çã«ãã©ãã·ã¥ãããŸãã
ããŒãžã§ã³ 3.3 ã§å€æŽ: ããŒã¯ãŒãåŒæ° flush ã远å ãããŸããã
- class property(fget=None, fset=None, fdel=None, doc=None)¶
property 屿§ãè¿ããŸãã
fget ã¯å±æ§å€ãååŸããããã®é¢æ°ã§ããfset ã¯å±æ§å€ãèšå®ããããã®é¢æ°ã§ããfdel ã¯å±æ§å€ãåé€ããããã®é¢æ°ã§ããdoc ã¯å±æ§ã® docstring ãäœæããŸãã
å žåçãªäœ¿çšæ³ã¯ã屿§
xã®åŠçã®å®çŸ©ã§ã:class C: def __init__(self): self._x = None def getx(self): return self._x def setx(self, value): self._x = value def delx(self): del self._x x = property(getx, setx, delx, "I'm the 'x' property.")
c ã C ã®ã€ã³ã¹ã¿ã³ã¹ãªãã°ã
c.x㯠getter ãåŒã³åºããc.x = value㯠setter ããdel c.x㯠deleter ãåŒã³åºããŸããIf given, doc will be the docstring of the property attribute. Otherwise, the property will copy fget's docstring (if it exists). This makes it possible to create read-only properties easily using
@propertyas a decorator:class Parrot: def __init__(self): self._voltage = 100000 @property def voltage(self): """Get the current voltage.""" return self._voltage
@propertyãã³ã¬ãŒã¿ã¯voltage()ãåãååã®ãŸãŸ èªã¿åºãå°çšå±æ§ã® "getter" ã«ããvoltage ã®ããã¥ã¡ã³ãæååã "Get the current voltage." ã«èšå®ããŸãã- @getter¶
- @setter¶
- @deleter¶
property ãªããžã§ã¯ãã¯
getter,setter,deleterã¡ãœãããæã£ãŠããŸãããããã®ã¡ãœããããã³ã¬ãŒã¿ãšããŠäœ¿ããšã察å¿ããã¢ã¯ã»ãµé¢æ°ããã³ã¬ãŒãããã颿°ã«èšå®ãããã property ã®ã³ããŒãäœæã§ããŸãã ãããäžçªåããããã説æããäŸããããŸã:class C: def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del self._x
ãã®ã³ãŒãã¯æåã®äŸãšç䟡ã§ãã远å ã®é¢æ°ã«ã¯ãå¿ ãå ã® property ãšåãåå (ãã®äŸã§ã¯
x) ãäžããŠäžãããè¿ããã property ãªããžã§ã¯ãããã³ã³ã¹ãã©ã¯ã¿ã®åŒæ°ã«å¯Ÿå¿ãã
fget,fset, ããã³fdel屿§ãæã¡ãŸãã
ããŒãžã§ã³ 3.5 ã§å€æŽ: 屿§ãªããžã§ã¯ãã®ããã¯ã¹ããªã³ã°ãæžã蟌ã¿å¯èœã«ãªããŸããã
- __name__¶
ããããã£åãä¿æãã屿§ãããããã£åã¯å®è¡æã«å€æŽã§ããŸãã
Added in version 3.13.
- class range(stop, /)
- class range(start, stop, step=1, /)
rangeã¯ãå®éã«ã¯é¢æ°ã§ã¯ãªãã€ãã¥ãŒã¿ãã«ãªã·ãŒã±ã³ã¹åã§ã range ãš ã·ãŒã±ã³ã¹å --- list, tuple, range ã«ããã¥ã¡ã³ãåãããŠããŸãã
- repr(object, /)¶
ãªããžã§ã¯ãã®å°åå¯èœãªè¡šçŸãå«ãæååãè¿ããŸãããã®é¢æ°ã¯å€ãã®åã«ã€ããŠã
eval()ã«æž¡ããããšããšåãå€ãæã€ãããªãªããžã§ã¯ãã衚ãæååãçæããããšããŸããããã§ãªãå Žåã¯ãå±±æ¬åŒ§ã«å²ãŸãããªããžã§ã¯ãã®åã®ååãšè¿œå ã®æ å ± (倧æµã®å Žåã¯ãªããžã§ã¯ãã®ååãšã¢ãã¬ã¹ãå«ã¿ãŸã) ãè¿ããŸããã¯ã©ã¹ã¯ã__repr__()ã¡ãœãããå®çŸ©ããããšã§ããã®é¢æ°ã«ãããã®ã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ãè¿ããã®ãå¶åŸ¡ããããšãã§ããŸããsys.displayhook()ã«ã¢ã¯ã»ã¹ã§ããªãå Žåããã®é¢æ°ã¯RuntimeErrorãéåºããŸãããã®ã¯ã©ã¹ã¯ãeval è©äŸ¡å¯èœãªç¬èªã® representation ãæã¡ãŸã:
class Person: def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return f"Person('{self.name}', {self.age})"
- reversed(object, /)¶
èŠçŽ ãéé ã«åãåºãã€ãã¬ãŒã¿ (reverse iterator) ãè¿ããŸããåŒæ°ã¯
__reversed__()ã¡ãœãããæã€ããã·ãŒã±ã³ã¹åãããã³ã« (__len__()ã¡ãœãããããã³ã0以äžã®æŽæ°ãåŒæ°ãšãã__getitem__()ã¡ãœãã) ããµããŒããããªããžã§ã¯ãã§ãªããã°ãªããŸããã
- round(number, ndigits=None)¶
number ãå°æ°ç¹ä»¥äž ndigits æ¡ã®ç²ŸåºŠã§äžžããå€ãè¿ããŸããndigits ãçç¥ããããã
Noneã ã£ãå Žåãå ¥åå€ã«æãè¿ãæŽæ°ãè¿ããŸããround()ããµããŒãããçµã¿èŸŒã¿åã§ã¯ãå€ã¯ 10 ã®ãã€ãã¹ ndigits ä¹ã®åæ°ã®äžã§æãè¿ããã®ã«äžžããããŸã; äºã€ã®åæ°ãåãã ãè¿ããªããå¶æ°ãéžã¶æ¹ã« (ãã®ãããäŸãã°round(0.5)ãšround(-0.5)ã¯äž¡æ¹ãšã0ã«ãround(1.5)ã¯2ã«) äžžããããŸãã ndigits ã«ã¯ä»»æã®æŽæ°å€ãæå¹ãšãªããŸã (æ£ã®æŽæ°ããŒããè² ã®æŽæ°)ã è¿ãå€ã¯ ndigits ãæå®ãããŠããªããNoneã®å Žåã¯æŽæ°ãããã§ãªããã°è¿ãå€ã¯ number ãšåãåã§ããäžè¬ç㪠Python ãªããžã§ã¯ã
numberã«å¯ŸããŠãroundã¯åŠçã number.__round__ ã«ç§»è²ããŸããæ³šé
æµ®åå°æ°ç¹æ°ã«å¯Ÿãã
round()ã®æ¯ãèãã¯æå€ãªãã®ãããããŸãã: äŸãã°ãround(2.675, 2)ã¯äºæ³éãã®2.68ã§ã¯ãªã2.67ãäžããŸããããã¯ãã°ã§ã¯ãããŸãã: ããã¯ã»ãšãã©ã®å°æ°ãæµ®åå°æ°ç¹æ°ã§æ£ç¢ºã«è¡šããªãããšã®çµæã§ãã詳ãã㯠浮åå°æ°ç¹æŒç®ããã®åé¡ãšå¶é ãåç §ããŠãã ããã
- class set(iterable=(), /)
Return a new
setobject, optionally with elements taken from iterable.setis a built-in class. See also setïŒéåïŒå --- set, frozenset for documentation about this class.ä»ã®ã³ã³ããã«ã€ããŠã¯
collectionsã¢ãžã¥ãŒã«ãçµã¿èŸŒã¿ã®frozensetãlistãtupleãdictã¯ã©ã¹ãåç §ããŠãã ããã
- setattr(object, name, value, /)¶
getattr()ã®çžæ¹ã§ããåŒæ°ã¯ãªããžã§ã¯ããæååãããããä»»æã®å€ã§ããæååã¯æ¢åã®å±æ§ãŸãã¯æ°ããªå±æ§ã®ååã«ã§ããŸãããã®é¢æ°ã¯æå®ãããªããžã§ã¯ããèš±ãã°ãå€ã屿§ã«é¢é£ä»ããŸããäŸãã°ãsetattr(x, 'foobar', 123)ã¯x.foobar = 123ãšç䟡ã§ãã__getattribute__()ã®ã«ã¹ã¿ãã€ãºã__slots__ãéããŠãªããžã§ã¯ãã匷å¶ããŠããªãéãã name 㯠Names (identifiers and keywords) ã§å®çŸ©ãããŠãã Python èå¥åã§ããå¿ èŠã¯ãããŸããã屿§åãèå¥åã§ãªãå Žåããããã䜿ã£ã屿§ãžã®ã¢ã¯ã»ã¹ã¯ã§ããŸããããgetattr()ãªã©ãéããŠã¢ã¯ã»ã¹å¯èœã§ããæ³šé
ãã©ã€ããŒããªååã®ãã³ã°ãªã³ã° ã¯ã³ã³ãã€ã«æã«è¡ãããŸãããã®ããããã©ã€ããŒããªå±æ§ (å é ã«2ã€ã®ã¢ã³ããŒã¹ã³ã¢ã䌎ãååãæã€å±æ§) ã®å€ã
setattr()ã§ã»ããããããã«ã¯ã屿§åãæåã§ãã³ã°ãªã³ã°ããå¿ èŠããããŸãã
- class slice(stop, /)¶
- class slice(start, stop, step=None, /)
range(start, stop, step)ã§æå®ãããã€ã³ããã¯ã¹ã®ã»ããã衚ã slice ãªããžã§ã¯ããè¿ããŸãã åŒæ° start ãš step ã®ããã©ã«ãã¯Noneã§ããslice ãªããžã§ã¯ã㯠ã¹ã©ã€ã¹è¡šèš ã䜿çšãããšãã«ãäœãããŸããäŸãã°
a[start:stop:step]ãa[start:stop, i]ã§ããiterator çãšããŠ
itertools.islice()颿°ããããŸãã- start¶
- stop¶
- step¶
ãããã®å±æ§ã¯èªã¿åãå°çšã§ãåŒæ°ãšããŠæž¡ãããå€ (ãŸãã¯ããã©ã«ãå€) ã«ã»ãããããŸããå€ãæ ŒçŽãã以å€ã«ä»ã«çŽæ¥çãªæ©èœã¯ãããŸããããã ããNumpy ãªã©ã®ãµãŒãããŒãã£ããã±ãŒãžã䜿çšããŸãã
- sorted(iterable, /, *, key=None, reverse=False)¶
iterable ã®èŠçŽ ãäžŠã¹æ¿ããæ°ããªãªã¹ããè¿ããŸãã
2 ã€ã®ãªãã·ã§ã³åŒæ°ãããããããã¯ããŒã¯ãŒãåŒæ°ãšããŠæå®ãããªããã°ãªããŸããã
key ã«ã¯ 1 åŒæ°é¢æ°ãæå®ããŸãããã㯠iterable ã®åèŠçŽ ããæ¯èŒããŒãå±éããã®ã«äœ¿ãããŸã (äŸãã°ã
key=str.lowerã®ããã«æå®ããŸã)ã ããã©ã«ãå€ã¯Noneã§ã (èŠçŽ ãçŽæ¥æ¯èŒããŸã)ãreverse ã¯çåœå€ã§ãã
Trueãã»ãããããå Žåããªã¹ãã®èŠçŽ ã¯åã ã®æ¯èŒãå転ãããã®ãšããŠäžŠã³æ¿ããããŸããæ§åŒã® cmp 颿°ã key 颿°ã«å€æããã«ã¯
functools.cmp_to_key()ã䜿çšããŠãã ãããçµã¿èŸŒã¿ã®
sorted()颿°ã¯å®å®ãªããšãä¿èšŒãããŠããŸããåçãªèŠçŽ ã®çžå¯Ÿé åºã倿Žããªãããšãä¿èšŒãããŠããã°ããœãŒãã¯å®å®ã§ããããã¯è€æ°ã®ãã¹ã§ãœãŒããè¡ãªãã®ã«åœ¹ç«ã¡ãŸãïŒäŸãã°éšçœ²ã§ãœãŒãããŠãã絊äžã®ççŽã§ãœãŒãããå ŽåïŒããœãŒãã¢ã«ãŽãªãºã ã¯ãèŠçŽ éã®æ¯èŒã«
<æŒç®åã ãã䜿ããŸãããããã£ãŠãœãŒãã®ããã«ã¯__lt__()ã¡ãœãããå®çŸ©ããã°ååãªã¯ãã§ããã PEP 8 ã¯6ã€ã® æ¯èŒæŒç®å ãå šãŠå®è£ ããããšãæšå¥šããŠããŸããããã«ãããç°ãªãã¡ãœãããå¿ èŠãšããmax()ã®ãããªä»ã®ãœãŒãããŒã«ããåãããŒã¿ã«å¯ŸããŠé©çšããããšã«ãã£ãŠèµ·ãããããã°ãé¿ããå©ãã«ãªããŸãã6ã€ã®æ¯èŒæŒç®åãå šãŠå®è£ ããããšã¯ããªãã¬ã¯ã·ã§ã³ã«ãã£ãŠ__gt__()ã¡ãœãããåŒã³åºãå¯èœæ§ã®ããåæ··åã®æ¯èŒã§ã®æ··ä¹±ãé¿ããããšã«ã圹ç«ã¡ãŸãããœãŒãã®äŸãšç°¡åãªãã¥ãŒããªã¢ã«ã¯ ãœãŒãã®ãã¯ãã㯠ãåç §ããŠäžããã
- @staticmethod¶
ã¡ãœãããéçã¡ãœãããžå€æããŸãã
éçã¡ãœããã¯æé»ã®ç¬¬äžåŒæ°ãåãåããŸãããéçã¡ãœããã宣èšããã«ã¯ããã®ã€ãã£ãªã ã䜿ã£ãŠãã ãã:
class C: @staticmethod def f(arg1, arg2, argN): ...
@staticmethod圢åŒã¯é¢æ° ãã³ã¬ãŒã¿ ã§ãã詳ããã¯ é¢æ°å®çŸ© ãåç §ããŠãã ãããéçã¡ãœãã㯠(
C.f()ã®ããã«) ã¯ã©ã¹ã«å¯ŸããŠåŒã³åºãããšãã (C().f()ã®ããã«) ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠåŒã³åºãããšãã§ããŸããããã«ãéçã¡ãœãã descriptor ã¯åŒã³åºãå¯èœã§ãããããã(f()ã®ããã«) ã¯ã©ã¹å®çŸ©ã®äžã§ã䜿çšã§ããŸããStatic methods in Python are similar to those found in Java or C++. Also, see
@classmethodfor a variant that is useful for creating alternate class constructors.ãããããã³ã¬ãŒã¿ãšåããã
staticmethodã¯æ®éã®é¢æ°ã®ããã«åŒã¹ããã®è¿ãå€ã§åŠçãè¡ããŸãã ãã®æ©èœã¯ãã¯ã©ã¹æ¬äœãã颿°ãåç §ããå¿ èŠãããããã€ãã€ã³ã¹ã¿ã³ã¹ã¡ãœããã«èªå倿ãããã®ãé¿ãããã±ãŒã¹ã§å¿ èŠã«ãªããŸãã ãã®ãããªã±ãŒã¹ã§ã¯ããã®ã€ãã£ãªã ã䜿ããŸã:def regular_function(): ... class C: method = staticmethod(regular_function)
éçã¡ãœããã«ã€ããŠè©³ããæ å ±ã¯ æšæºåã®éå±€ ãåç §ããŠãã ããã
ããŒãžã§ã³ 3.10 ã§å€æŽ: Static methods now inherit the method attributes (
__module__,__name__,__qualname__,__doc__and__annotations__), have a new__wrapped__attribute, and are now callable as regular functions.
- class str(*, encoding='utf-8', errors='strict')
- class str(object)
- class str(object, encoding, errors='strict')
- class str(object, *, errors)
object ã®
strçãè¿ããŸãã詳现ã¯str()ãåç §ããŠãã ãããstrã¯çµã¿èŸŒã¿ã®æåå ã¯ã©ã¹ ã§ããæååã«é¢ããäžè¬çãªæ å ±ã¯ãããã¹ãã·ãŒã±ã³ã¹å --- str ãåç §ããŠãã ããã
- sum(iterable, /, start=0)¶
start ãš iterable ã®èŠçŽ ãå·Šããå³ãžåèšããç·åãè¿ããŸãã iterable ã®èŠçŽ ã¯éåžžã¯æ°å€ã§ãstart ã®å€ã¯æååã§ãã£ãŠã¯ãªããŸããã
䜿ãå Žé¢ã«ãã£ãŠã¯ã
sum()ãããããéžæè¢ããããŸããæååãããªãã·ãŒã±ã³ã¹ãçµåããé«éãã€æãŸããæ¹æ³ã¯''.join(sequence)ãåŒã¶ããšã§ããæµ®åå°æ°ç¹æ°å€ãæ¡åŒµããã粟床ã§å ç®ããã«ã¯ãmath.fsum()ãåç §ããŠãã ãããäžé£ã®ã€ãã©ãã«ãé£çµããã«ã¯ãitertools.chain()ã®äœ¿çšãèããŠãã ãããããŒãžã§ã³ 3.8 ã§å€æŽ: start ãã©ã¡ãŒã¿ãããŒã¯ãŒãåŒæ°ãšããŠæå®ããããšãã§ããããã«ãªããŸããã
ããŒãžã§ã³ 3.12 ã§å€æŽ: æµ®åå°æ°ç¹æ°ã®ç·åãèšç®ãããšããã»ãšãã©ã®ç°å¢ã§ããé«ç²ŸåºŠãªçµæãšããè¯ãäºææ§ãåŸãããã¢ã«ãŽãªãºã ã䜿çšããããã«ãªããŸããã
ããŒãžã§ã³ 3.14 ã§å€æŽ: Added specialization for summation of complexes, using same algorithm as for summation of floats.
- class super¶
- class super(type, object_or_type=None, /)
ã¡ãœããã®åŒã³åºãã type ã®èŠªãŸãã¯å åŒã¯ã©ã¹ã«å§è²ãããããã·ãªããžã§ã¯ããè¿ããŸããããã¯ã¯ã©ã¹ã®äžã§ãªãŒããŒã©ã€ããããç¶æ¿ã¡ãœããã«ã¢ã¯ã»ã¹ããã®ã«äŸ¿å©ã§ãã
object_or_type ã¯ã¡ãœããã®æ€çŽ¢ã®ããã® method resolution order (ã¡ãœãã解決é åº) ãæ±ºå®ããŸããæ€çŽ¢ã¯ type çŽåŸã®ã¯ã©ã¹ããéå§ããŸãã
äŸãã° object_or_type ã®
__mro__屿§ãD -> B -> C -> A -> objectã§ããã type ã®å€ãBã ãšãããšãsuper()ã¯C -> A -> objectã®é çªã§ã¡ãœãããæ€çŽ¢ããŸããThe
__mro__attribute of the class corresponding to object_or_type lists the method resolution search order used by bothgetattr()andsuper(). The attribute is dynamic and can change whenever the inheritance hierarchy is updated.第 2 åŒæ°ãçããããªããè¿ãããã¹ãŒããŒãªããžã§ã¯ãã¯æçžãããŸããã第 2 åŒæ°ããªããžã§ã¯ãã§ããã°ã
isinstance(obj, type)ã¯çã§ãªããã°ãªããŸããã第 2 åŒæ°ãåã§ããã°ãissubclass(type2, type)ã¯çã§ãªããã°ãªããŸãã (ããã¯ã¯ã©ã¹ã¡ãœããã«åœ¹ã«ç«ã€ã§ããã)ãã¯ã©ã¹ã®éåžžã®ã¡ãœããäžã§çŽæ¥åŒã³åºãããå Žåãã©ã¡ãã®åŒæ°ãçããŸã (ããŒãåŒæ°
super()ã) ããã®å Žåã type ã¯ãã®å²ãã§ããã¯ã©ã¹ãšãªãã obj ã¯çŽæ¥å²ãã§ãã颿°ã®ç¬¬äžåŒæ° (éåžžã¯self) ãšãªããŸãã (ã€ãŸãããŒãåŒæ°super()ã¯ããã¹ãããã颿°ã§ã¯æåŸ ã©ããã«åäœããŸãããããã«ã¯ æã«ãã¹ãããã颿°ãäœããžã§ãã¬ãŒã¿åŒãå«ãŸããŸã)super ã®å žåçãªçšé㯠2 ã€ãããŸãã第äžã«ãåç¶æ¿ã®ã¯ã©ã¹éå±€æ§é ã§ super ã¯ååãæç€ºããããšãªã芪ã¯ã©ã¹ãåç §ããã®ã«äœ¿ããããããã³ãŒããã¡ã³ããã³ã¹ãããããªããŸãããã®çšéã¯ä»ã®ããã°ã©ãã³ã°èšèªã§èŠããã super ã®çšéã«ãã䌌ãŠããŸãã
2ã€ç®ã®çšéã¯åçãªå®è¡ç°å¢ã«ãããŠå調ç (cooperative) ãªå€éç¶æ¿ããµããŒãããããšã§ãããã㯠Python ã«ç¹æã®çšéã§ãéçã«ã³ã³ãã€ã«ãããèšèªããåç¶æ¿ã®ã¿ããµããŒãããèšèªã«ã¯èŠãããªããã®ã§ãããã®æ©èœã«ãããåãååã®ã¡ãœãããå®è£ ããè€æ°ã®åºåºã¯ã©ã¹ã䜿ã£ã "ãã€ã€ã¢ã³ãå* ã®ç¶æ¿æ§é ãå®è£ ããããšãã§ããŸããè¯ãèšèšã¯ããã®ãããªå®è£ ã«ãããŠãã©ã®ãããªå Žåã§ãåãåŒã³åºãã·ã°ããã£ãæã€ããã«åŒ·å¶ããŸãã (çç±ã¯åŒã³åºãã®é åºãå®è¡æã«æ±ºå®ãããããšãåŒã³åºãé åºã¯ã¯ã©ã¹éå±€æ§é ã®å€åã«é å¿ããããšããããŠåŒã³åºãé åºãå®è¡æãŸã§æªç¥ã®å åŒã¯ã©ã¹ãå«ãŸããå Žåãããããšã§ã)ã
äž¡æ¹ã®çšéã«ãããŠãå žåçãªã¹ãŒããŒã¯ã©ã¹ã®åŒã³åºãã¯æ¬¡ã®ããã«ãªããŸã:
class C(B): def method(self, arg): super().method(arg) # ããã¯æ¬¡ãšåãããšãè¡ããŸã: # super(C, self).method(arg)
ã¡ãœããã®ã«ãã¯ã¢ããã«å ããŠã
super()ã¯å±æ§ã®ã«ãã¯ã¢ããã«å¯ŸããŠãåæ§ã«åäœããŸããèãããçšéã®ã²ãšã€ã¯èŠªã¯ã©ã¹ãå åŒã¯ã©ã¹ã® descriptors (ãã¹ã¯ãªãã¿) ãåŒã³åºãããšã§ãããªãã
super()ã¯super().__getitem__(name)ã®ãããªæç€ºçãªããã衚èšå±æ§æ¢çŽ¢ã®æçžåŠçã®äžéšãšããŠå®è£ ãããŠããŸããããã¯ã__getattribute__()ã¡ãœãããäºæž¬å¯èœãªé åºã§ã¯ã©ã¹ãæ€çŽ¢ããããã«å®è£ ããå調çãªå€éç¶æ¿ããµããŒãããããšã§å®çŸãããŠããŸããåŸã£ãŠãsuper()ã¯æãsuper()[name]ã®ãããªæŒç®åã䜿ã£ãæé»ã®æ¢çŽ¢åãã«ã¯å®çŸ©ãããŠããŸããããŸãã
super()ã®äœ¿çšã¯åŒæ°ç¡ãã®åœ¢åŒãé€ãã¡ãœããå éšã«éå®ãããªãããšã«ã泚ç®ããŠäžããã2åŒæ°ã®åœ¢åŒã¯ãå¿ èŠãªèŠçŽ ãæ£ç¢ºã«æå®ããã®ã§ãé©åœãªåç §ãäœãããšãã§ããŸããã¯ã©ã¹å®çŸ©äžã«ãããåŒæ°ç¡ãã®åœ¢åŒã¯ãå®çŸ©ãããŠããã¯ã©ã¹ãåãåºãã®ã«å¿ èŠãªè©³çްããéåžžã®æ¹æ³ã§çŸåšã®ã€ã³ã¹ã¿ã³ã¹ã«ã¢ã¯ã»ã¹ããããã«ã³ã³ãã€ã©ãåããã®ã§ã¯ããããŸããsuper()ãçšããŠå調çãªã¯ã©ã¹ãèšèšããæ¹æ³ã®å®è·µçãªææ¡ã¯ã guide to using super() ãåç §ããŠãã ãããããŒãžã§ã³ 3.14 ã§å€æŽ:
superãªããžã§ã¯ã㯠pickle å¯èœ ã〠ã³ããŒå¯èœ ã«ãªããŸããã
- class tuple(iterable=(), /)
tupleã¯ãå®éã¯é¢æ°ã§ã¯ãªãã€ãã¥ãŒã¿ãã«ãªã·ãŒã±ã³ã¹åã§ãã¿ãã«å (tuple) ãš ã·ãŒã±ã³ã¹å --- list, tuple, range ã«ããã¥ã¡ã³ãåãããŠããŸãã
- class type(object, /)¶
- class type(name, bases, dict, /, **kwargs)
åŒæ°ã1ã€ã ãã®å Žåãobject ã®åãè¿ããŸããè¿ãå€ã¯åãªããžã§ã¯ãã§ãäžè¬ã«
object.__class__ã«ãã£ãŠè¿ãããã®ãšåããªããžã§ã¯ãã§ãããªããžã§ã¯ãã®åã®å€å®ã«ã¯ã
isinstance()çµã¿èŸŒã¿é¢æ°ã䜿ãããšãæšå¥šãããŸããããã¯ãµãã¯ã©ã¹ãèæ ®ããããã§ããåŒæ°ã3ã€ã®å Žåãæ°ããåãªããžã§ã¯ããè¿ããŸããããã¯æ¬è³ªçã«ã¯
classæã®åçãªæžåŒã§ãã name æååã¯ã¯ã©ã¹åã§ã__name__屿§ã«ãªããŸãã bases åºåºã¯ã©ã¹ã®ã¿ãã«ã§ã__bases__屿§ã«ãªããŸã; 空ã®å Žåã¯å šãŠã®ã¯ã©ã¹ã®åºåºã¯ã©ã¹ã§ããobjectã远å ãããŸãã dict ã¯ãã¯ã©ã¹æ¬äœã®å±æ§ãšã¡ãœããã®å®çŸ©ãå«ãèŸæžã§ã; èŸæžã¯__dict__屿§ã«ãªãåã«ã³ããŒãããããã©ãããããããšããããŸãã以äžã®2ã€ã®æã¯åãtypeãªããžã§ã¯ããçæããŸã:>>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1))
äžèšãåç §ããŠãã ããã
äžåŒæ°åœ¢åŒã®åŒã³åºãã«äžããããããŒã¯ãŒãåŒæ°ã¯ã(metaclass ãé€ã) ã¯ã©ã¹å®çŸ©ã«ãããããŒã¯ãŒãåŒæ°ãšåæ§ã«ãé©åãªã¡ã¿ã¯ã©ã¹ã®æ©æ§ (éåžžã¯
__init_subclass__()) ã«æž¡ãããŸããUnlike a
classstatement, the three argument form does not call the metaclass__prepare__method (see ã¯ã©ã¹ã®åå空éã®æºå). Usetypes.new_class()to dynamically create a class using the appropriate metaclass.ã¯ã©ã¹çæãã«ã¹ã¿ãã€ãºãã ãåç §ããŠãã ããã
ããŒãžã§ã³ 3.6 ã§å€æŽ:
type.__new__ããªãŒããŒã©ã€ãããŠããªãtypeã®ãµãã¯ã©ã¹ã¯ããªããžã§ã¯ãã®åãåŸãã®ã«ïŒåŒæ°åœ¢åŒãå©çšããããšãã§ããŸããã
- vars()¶
- vars(object, /)
ã¢ãžã¥ãŒã«ãã¯ã©ã¹ãã€ã³ã¹ã¿ã³ã¹ããããã¯ãã以å€ã®
__dict__屿§ãæã€ãªããžã§ã¯ãã®ã__dict__屿§ãè¿ããŸããã¢ãžã¥ãŒã«ãã€ã³ã¹ã¿ã³ã¹ã®ãããªãªããžã§ã¯ãã¯ãæŽæ°å¯èœãª
__dict__屿§ãæã£ãŠããŸãããã ãããã以å€ã®ãªããžã§ã¯ãã§ã¯__dict__屿§ãžã®æžã蟌ã¿ãå¶éãããŠããå ŽåããããŸããæžã蟌ã¿ã«å¶éãããäŸãšããŠã¯ãèŸæžãçŽæ¥æŽæ°ãããããšãé²ãããã«types.MappingProxyTypeã䜿ã£ãŠããã¯ã©ã¹ããããŸããåŒæ°ããªãå Žå
vars()ã¯locals()ã®ããã«åäœããŸããæå®ããããªããžã§ã¯ãã«
__dict__屿§ããªãå Žå (ããšãã°ãã®ã¯ã©ã¹ã__slots__屿§ãå®çŸ©ããŠããå Žå)ãTypeErroräŸå€ãéåºãããŸããããŒãžã§ã³ 3.13 ã§å€æŽ: ãã®é¢æ°ãåŒæ°ãªãã§åŒã³åºãããšãã®è¿ãå€ã¯ã
locals()çµã¿èŸŒã¿é¢æ°ã§ã®èª¬æã«æŽæ°ãããŸããã
- zip(*iterables, strict=False)¶
è€æ°ã®ã€ãã©ãã«ã䞊è¡ã«å埩åŠçããåã€ãã©ãã«ã®èŠçŽ ãããªãã¿ãã«ãçæããŸãã
以äžã¯ããã°ã©ã äŸã§ã:
>>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']): ... print(item) ... (1, 'sugar') (2, 'spice') (3, 'everything nice')
ããæ£åŒãªå®çŸ©:
zip()ã¯ã i çªç®ã®ã¿ãã«ã åŒæ°ã«äžããåã€ãã©ãã«ã® i çªç®ã®èŠçŽ ãå«ããããªãã¿ãã«ã®ã€ãã¬ãŒã¿ãè¿ããŸããzip()ã«å¯Ÿããå¥ã®èãæ¹ã¯ããã®é¢æ°ã¯è¡ãåã«ããŸãåãè¡ã«å€æãããšããããšã§ãããã㯠è¡åã®è»¢çœ® ãšãã䌌ãŠããŸããzip()ã¯é å»¶è©äŸ¡ã§ã: ã€ãã©ãã«ãforã«ãŒãã«æž¡ãããããlistã§ã©ãããããããããªã©ããŠå埩åŠçããããŸã§ãèŠçŽ ãå®éã«åŠçãããããšã¯ãããŸãããããã§èæ ®ãã¹ãããšã¯ã
zip()ã«æž¡ãããã€ãã©ãã«ãç°ãªãé·ããæã€ããšããããšããç¹ã§ã; ãšãã«ã¯æå³çãªå ŽåãããããŸããšãã«ã¯ã€ãã©ãã«ãæºåããã³ãŒãã«ããããã°ã®ããšãããã§ãããã Python ã¯ãã®åé¡ã«å¯ŸããŠ3ã€ã®ç°ãªãã¢ãããŒããæäŸããŸã:By default,
zip()stops when the shortest iterable is exhausted. It will ignore the remaining items in the longer iterables, cutting off the result to the length of the shortest iterable:>>> list(zip(range(3), ['fee', 'fi', 'fo', 'fum'])) [(0, 'fee'), (1, 'fi'), (2, 'fo')]
zip()ã¯ããã°ãã°åãåã£ãã€ãã©ãã«ãå šãŠåãé·ãã§ãããšããæ³å®ã®äžã§äœ¿ãããŸãããã®ãããªå Žåãstrict=Trueãªãã·ã§ã³ã®å©çšãæšå¥šãããŸãããã®åºåã¯éåžžã®zip()ãšåãã§ã:>>> list(zip(('a', 'b', 'c'), (1, 2, 3), strict=True)) [('a', 1), ('b', 2), ('c', 3)]
Unlike the default behavior, it raises a
ValueErrorif one iterable is exhausted before the others:>>> for item in zip(range(3), ['fee', 'fi', 'fo', 'fum'], strict=True): ... print(item) ... (0, 'fee') (1, 'fi') (2, 'fo') Traceback (most recent call last): ... ValueError: zip() argument 2 is longer than argument 1
strict=TrueåŒæ°ãªãã®å Žåãé·ãã®ç°ãªãã€ãã©ãã«ãçããåå ãšãªããããªããã°ãããã®æç¹ã§ã¯åé¡ãªãåŠçãããŸãããããŠä»£ããã«ããã°ã©ã ã®å¥ã®å Žæã§ãåå ãç¹å®ãã«ãããã°ãšããŠæ€åºãããããšã«ãªãã§ããããçãã€ãã©ãã«ãäžå®ã®å€ã§ããã£ã³ã°ããŠå šãŠã®ã€ãã©ãã«ãåãé·ãã«ãªãããã«ããããšãã§ããŸãããã®æ©èœã¯
itertools.zip_longest()ã§æäŸãããŸãã
ãšããžã±ãŒã¹: åŒæ°ãšããŠã€ãã©ãã«ãã²ãšã€ã ãæž¡ããå Žåã
zip()㯠1 ã¿ãã«ã®ã€ãã¬ãŒã¿ãè¿ããŸããåŒæ°ãªãã®å Žåã¯ç©ºã®ã€ãã¬ãŒã¿ãè¿ããŸãããã³ããšã³ã:
ã€ãã©ãã«ã®å·Šããå³ãžã®è©äŸ¡é åºã¯ä¿èšŒãããŠããŸãããã®ãã
zip(*[iter(s)]*n, strict=True)ã䜿ã£ãŠããŒã¿ç³»åãé·ã n ã®ã°ã«ãŒãã«ã¯ã©ã¹ã¿ãªã³ã°ããã€ãã£ãªã ã䜿ããŸããããã¯ãååºåã¿ãã«ãã€ãã¬ãŒã¿ãnååŒã³åºããçµæãšãªãããã åã ã€ãã¬ãŒã¿ãnåç¹°ãè¿ããŸããããã¯å ¥åãé·ã n ã®ãã£ã³ã¯ã«åå²ãã广ããããŸããzip()ã«ç¶ããŠ*æŒç®åã䜿ããšãzip ãããªã¹ããå ã«æ»ããŸã:>>> x = [1, 2, 3] >>> y = [4, 5, 6] >>> list(zip(x, y)) [(1, 4), (2, 5), (3, 6)] >>> x2, y2 = zip(*zip(x, y)) >>> x == list(x2) and y == list(y2) True
ããŒãžã§ã³ 3.10 ã§å€æŽ:
strictåŒæ°ã远å ãããŸããã
- __import__(name, globals=None, locals=None, fromlist=(), level=0)¶
泚é
ããã¯
importlib.import_module()ãšã¯éããæ¥åžžã® Python ããã°ã©ãã³ã°ã§ã¯å¿ èŠãªãé«çãªé¢æ°ã§ãããã®é¢æ°ã¯
importæã«ããåŒã³åºãããŸãã (builtinsã¢ãžã¥ãŒã«ãã€ã³ããŒãããŠbuiltins.__import__ã«ä»£å ¥ããããšã§) ãã®é¢æ°ã眮ãæããŠimportæã®ã»ãã³ãã£ã¯ã¹ã倿Žããããšãã§ããŸãããåæ§ã®ããšãããã®ã«éåžžã¯ã€ã³ããŒããã㯠(PEP 302 åç §) ãå©çšããæ¹ãç°¡åã§ããã€ããã©ã«ãã®ã€ã³ããŒãå®è£ ã䜿çšãããŠããããšãä»®å®ããã³ãŒããšã®éã§åé¡ãèµ·ããªãã®ã§ããã®ããæ¹ã¯ åŒ·ã æšå¥šãããŸããã__import__()ãçŽæ¥äœ¿çšããããšãæšå¥šããããimportlib.import_module()ã®æ¹ã奜ãŸããŸãããã®é¢æ°ã¯ãã¢ãžã¥ãŒã« name ãã€ã³ããŒããã globals ãš locals ãäžããããã°ãããã±ãŒãžã®ã³ã³ããã¹ãã§ååãã©ãè§£éãããæ±ºå®ããã®ã«äœ¿ããŸãã fromlist 㯠name ã§äžããããã¢ãžã¥ãŒã«ããã€ã³ããŒããããã¹ããªããžã§ã¯ããŸãã¯ãµãã¢ãžã¥ãŒã«ã®ååãäžãŸããæšæºã®å®è£ ã§ã¯ locals åŒæ°ã¯ãŸã£ãã䜿ãããã globals ã¯
importæã®ããã±ãŒãžã³ã³ããã¹ããæ±ºå®ããããã«ã®ã¿äœ¿ãããŸããlevel ã¯çµ¶å¯Ÿãšçžå¯Ÿã©ã¡ãã®ã€ã³ããŒãã䜿ãããæå®ããŸãã
0(ããã©ã«ã) ã¯çµ¶å¯Ÿã€ã³ããŒãã®ã¿å®è¡ããŸããæ£ã® level ã®å€ã¯ã__import__()ãåŒã³åºãããã£ã¬ã¯ããªããæ€çŽ¢å¯Ÿè±¡ãšãªã芪ãã£ã¬ã¯ããªã®æ°ã瀺ããŸã (詳现㯠PEP 328 ãåç §ããŠãã ãã)ãname 倿°ã
package.module圢åŒã§ãããšããéåžžã¯ãname ã§æåãããã¢ãžã¥ãŒã« ã§ã¯ãªããæäžäœã®ããã±ãŒãž (æåã®ããããŸã§ã®åå) ãè¿ãããŸããããããªããã空ã§ãªã fromlist åŒæ°ãäžãããããšã name ã§æåãããã¢ãžã¥ãŒã«ãè¿ãããŸããäŸãã°ãæ
import spamã¯ã以äžã®ã³ãŒãã®ãããªãã€ãã³ãŒãã«åž°çµããŸã:spam = __import__('spam', globals(), locals(), [], 0)
æ
import spam.hamã¯ããã®åŒã³åºãã«ãªããŸã:spam = __import__('spam.ham', globals(), locals(), [], 0)
ããã§
__import__()ãã©ã®ããã«æäžäœã¢ãžã¥ãŒã«ãè¿ããŠãããã«æ³šæããŠäžãããimportæã«ããååãæçžããããªããžã§ã¯ãã«ãªã£ãŠããŸããäžæ¹ã§ãæ
from spam.ham import eggs, sausage as sausã¯ã以äžãšãªããŸã_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], 0) eggs = _temp.eggs saus = _temp.sausage
ããã§ã
__import__()ããspam.hamã¢ãžã¥ãŒã«ãè¿ãããŸãããã®ãªããžã§ã¯ããããã€ã³ããŒããããååãåãåºãããããããã®ååãšããŠä»£å ¥ãããŸããåçŽã«ååããã¢ãžã¥ãŒã« (ããã±ãŒãžã®ç¯å²å ã§ããããç¥ããŸãã) ãã€ã³ããŒãããããªãã
importlib.import_module()ã䜿ã£ãŠãã ãããããŒãžã§ã³ 3.3 ã§å€æŽ: è² ã® level ã®å€ã¯ãµããŒããããªããªããŸãã (ããã©ã«ãå€ã® 0 ã«å€æŽãããŸã)ã
ããŒãžã§ã³ 3.9 ã§å€æŽ: ã³ãã³ãã©ã€ã³ãªãã·ã§ã³
-Eor-Iãæå®ãããå Žåãç°å¢å€æ°PYTHONCASEOKã¯ç¡èŠãããããã«ãªããŸããã
èæ³š