리터럴에 부모를 죽인 Python 해설

11622 단어 파이썬재료Python3
@Raclett3 님의
문자열과 숫자와 진리의 리터럴에 부모를 죽인 파이썬 프로그래밍
굉장히 재미있는 라고 생각하는 것과 동시에, 무슨 일이 일어나고 있는지 이해할 수 없었기 때문에 조사해 보았습니다.
해설이라고 할까, 자신의 공부입니다.

주로 "작은 수치"항목을 깜박입니다.
잘못되면 마사카리 던져주세요.

0


int()  # 0

이것은 @Raclett3링크에도 있습니다.

or return 0 if no arguments are given

인수가 지정되지 않은 경우 0을 반환합니다.
이것은 간단합니다.

1


len([()])  # 1

이것은 리스트가 그 요소에 튜플을 1개 가지고 있으므로, len로 길이 1이 돌려주어지기만 하는군요.
즉 아래와 같은 예라면 무슨 일이 일어나고 있는지 알기 쉬울까요.
len([(), ()])  # 2
len([1, 2, 3])  # 3

2


len(((),()))  # 2

모든 괴롭히는 튜플이지만, 할 일은 1의 외부 목록이 튜플입니다.
조금 공백을 넣어 주면 알기 쉽다.
len( ( () , () ) )  # 2
len( ( () , () , () ) )  # 3

3


len(hex(not()))  # 3

not()는 전 기사의 @Raclett3씨의 해설이 엄청 알기 쉽기 때문에 그쪽을.
조금씩 변형해 보겠습니다.
len(hex(not()))

# ↓ not() == True

len(hex(True))

# ↓ True == 1

len(hex(1))

# ↓ hex()は引数を16進数の 文字列 に変換する。

len('0x1')  # つまり3!!

4


len(str(not()))  # 4

이것은 3이 이해할 수 있으면 간단합니다!
4자의 True를 str형으로 해, len로 길이를 취득하고 있습니다.
len(str(not()))

# ↓ not() == True

len(str(True))

# ↓ Trueが文字列に変換される。

len('True')  # 4!!

5


len(str(not[()]))  # 5

이것은 4의 False 버전.
len(str(not[()]))

# ↓ not[()] == False

len(str(False))

# ↓ Falseが文字列に変換される。

len('False')  # 5

6


len(str(complex(not(),int())))  # 6

이 근처에서 두통이 되네요
complex는 제1 인수에 실부, 제2 인수에 허부를 취해, complex형의 복소수를 돌려줍니다.
이쪽도 세세하게 보고 가는 것이 알기 쉽다고 생각합니다.
len(str(complex(not(),int())))

# ↓ not()はTrue、int()は0

len(str(complex(True, 0)))

# ↓ Trueは1

len(str(complex(1, 0)))

# ↓ 実部1、虚部1のcomplex型の複素数、(1+0j)が返る。

len(str((1+0j)))  # len( str( (1+0j) ) )

# ↓ (1+0j)をstr型にする。

len('(1+0j)')  # ()を含んだ6文字なので6が返る。

7


len(str(bytes(len(((),)))))  # 7

(((( ;˚Д˚)))
일순간 떨립니다만, 잘 보면 1을 bytes형으로 하고 있을 뿐.
bytes형의 캐릭터 라인 변환에 대해서는, @Raclett3 씨의 기사에 있는 대로 여기 에 샘플 코드도 있습니다.
len(str(bytes(len(((),)))))  # bytesの中身は、len( ( (), ) )

# ↓ つまり要素数1のタプルの長さがbytesの引数になる。

len(str(bytes(1)))

# ↓ 1をbytes型にする。

len(str(b'\\x00')  # \\ はエスケープシーケンスなので1文字。

# ↓ b'\\x00'を文字列にしてその長さを得る。

len("b'\\x00")  # 7!

8


len(str(((),())))  # 8

후반전은 ()가 많이 외형이 복잡하네요...
len(str(((),())))  # len( str( ((),()) ) )

# ↓ 「空のタプルを2つ要素に持つタプル」がstr()の引数。

len('((),())')  # 要素数2のタプルがそのまま文字列に変換され、文字列の長さ8が返る。

9


len(str(([int()],[])))  # 9
len(str(((int()),())))  # 全部タプルにしたらやばい見辛い

마침내 마지막입니다.
이것은 8과 같습니다
len(str(([int()],[])))

# ↓ int() == 0

len(str(([0],[])))

# ↓ 8と同じくstrの引数は、([0],[])なので...

len('([0],[])')  # 9!!!

엄청 길어졌지만 수요 있었던 것일까.
이런 기본적인 녀석은 평소 문서를 읽거나 하는 일이 없기 때문에 공부할 좋은 기회가 되었습니다.
@Raclett3 님에게 감사드립니다.

좋은 웹페이지 즐겨찾기