Python datatype
Transcript of Python datatype
StudyOf Landvibe
Python - DataType
Outline
1. Overview2. Built-in Type3. Data Type4. Input / Output5. Mutable vs Immutable6. Data Structure
Calling a function
Object instantiation
Overview - Exampleimport math def showArea(shape): print("Area = ", shape.area() )
def widthOfSquare(area): return math.sqrt(area) class Rectangle(object): def __init__(self, width, height): self.width = width self.height = height def area(self): return self.width * self.height ###### Main Program ######r = Rectangle(10, 20) showArea(r)
Import a library module
Function
No Semicolon ; No brackets {}
Class
Comment
Indent ( ๋ณดํต 4์นธ )
Overview โ Similarities to Java
โข Everything inherits from โobjectโโข Large standard libraryโข Garbage collection
Overview โ Differences to Java
โข Dynamic Typingโข Everything is โobjectโ
โข No name declartionsโข Sparse syntax
โข No {} for blocks, just indentationโข No () for if/while conditions
โข Interative interpreterโข # for comments
Overview โ Python Interpreter
Complier ๊ฐ python code ๋ฅผ ์ปดํ์ผํด์ .pyc file(byte code, intermediate code) ๋ก ๋ณํ์ํจ๋ค
.py file(python code)
Compiler .pyc file Inter-preter Output
Interpreter๊ฐ .pyc file ์ ํ๋ก์ธ์ค์ loadํ์ฌ ์คํ์ํจ๋ค
Overview โ Python Interpreter
์ฅ ? ์ด๊ฑฐ ์๋ฐ ์๋์์ ????
์๋ฐ๋ ์ปดํ์ผ๋ฌ ์ธ์ด๋ผ๋ฉด์์ !?!?!?!?!!?
Overview โ Python Interpreter
Complier ๊ฐ python code ๋ฅผ ์ปดํ์ผํด์ .pyc file(byte code, intermediate code) ๋ก ๋ณํ์ํจ๋ค
.py file(python code)
Compiler .pyc file Inter-preter Output
Python Interpreter ์ฐ๋ฉด CPythonJVM ์ฐ๋ฉด JythonCLR ์ฐ๋ฉด Ironpython
Interpreter = VM( ๊ฑฐ์ ๊ฐ์ต๋๋ค )
Compile ๊ณผ์ ์ High Level Language ์ ๊ณตํต์ ์ธ ํน์ง์ ๋๋ค .
Built-in Type Hierarchy
Data Type โ Preview
โข ํ์ด์ฌ์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์ ๋๋ค .
123a>>> a=123
>>> print(a)123
Data Type โ Preview
โข ๋ณ์ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ ๋ฌธ์โข ์๋ฌธ์ (a~z)โข ๋๋ฌธ์ (A~Z)โข ์ซ์ (0~9)โข ์ธ๋์ค์ฝ์ด (_)
๊ฐ๋ฅโข bominkyo13 โข __landvibeโข KoenHee_91
๋ถ๊ฐ๋ฅโข 13je_jangโข landvibe!@#โข if
Data Type โ Preview
โข ์์ฝ์ด๋ ๋ณ์์ด๋ฆ์ผ๋ก ์ฌ์ฉ๋ถ๊ฐ
Data Type
โข ๋ฐ์ดํฐ์ ๊ณตํต๋ ํน์ง๊ณผ ์ฉ๋์ ๋ฐ๋ผ ๋ถ๋ฅํ์ฌ ์ ์ํ ๊ฒโข ์ซ์ํ (Numeric Type)
- Integer, float, complexโข ๋ ผ๋ฆฌํ (Boolean Type)
- True, Falseโข ๋ฌธ์์ดํ (String Type)
- โThis is Stringโ
Numeric Typesโข Integers
โข Generally signed, 32-bitโข Long Integer
โข Unlimited size ( ๋์ ์ผ๋ก ๊ฒฐ์ , 64 ๋นํธ ์ด์ ๊ฐ๋ฅ )โข In python3, long = int
โข Floatโข ๋ถ๋์์์ โข Python ์๋ double ํ ์์
โข Complexโข Format : <real> + <imag>jโข Example : 6+3j
Numeric Types
>>> 456456>>> 00์ซ์ ์์ ๊ธฐํธ๊ฐ ์์ผ๋ฉด ์์ , + ๋ถํ๋ฉด ์์ , - ๋ถํ๋ฉด ์์>>> 123123>>> +123123>>> -123-123
์ฐ์๋ ์ซ์๋ ๋ฆฌํฐ๋ด ์ ์๋ก ๊ฐ์ฃผ
Numeric Types
>>> 5+1015>>> 5-10-5/ ์ฐ์ฐ์ ๋ถ๋์์ซ์ , // ์ฐ์ฐ์ ๋ชซ , % ์ฐ์ฐ์ ๋๋จธ์ง ๊ฐ >>> 5/100.5>>> 5//100>>> 5%105
๋ง์ , ๋บ์ , ๊ณฑ์ , ๋๋์ ๊ฐ๋ฅ , ** ๋ n ์ ๊ณฑ>>> 5*1050>>> 5/100.5
>>> 5/0Taceback (most recent call lask): File โ<stdin>โ, line 1, in <mod-ule>ZeroDivisionError: division by zero
0 ์ผ๋ก ๋๋์ง ๋ง์๋ค
>>> 2**101024
Numeric Types
โข ์ฐ์ฐ ์ฐ์ ์์โข 2400 // 500 * 500 + 2400 % 500 ?
โข ์ง์ (base)โข Default : 10 ์ง์ (Decimal)โข 2 ์ง์ (Binary) : 0b, 0Bโข 8 ์ง์ (Octal) : 0o, 0Oโข 16 ์ง์ (Hex) : 0x, 0Xโข 10 ์ง์ > n ์ง์ ๋ณํ : bin(), oct(), hex() ํจ์ ์ฌ์ฉ
โข ํ ๋ณํโข int(), float() ํจ์ ์ฌ์ฉ
Numeric Types
>>> 2400 // 500 * 500 + 2400 % 5002400>>> ((2400 // 500) * 500) + (2400 % 500)2400์ง์ ๋ณํ>>> 0b102>>> 0o108>>> 0x1016
์ฐ์ฐ์ ์ฐ์ ์์
>>> bin(10)โ0b1010โ>>> oct(10)โ0o12โ>>> hex(10)โ0xaโ // str ํ์ผ๋ก ๋ฐํ
Numeric Types
>>> int(True)1>>> int(False)0
ํ ๋ณํ (int)
>>> int(99.5)99>>> int(1.0e4)10000
>>> int(โ88โ)88>>> int(โ-23โ)-23
>>> int(โ99.5โ)ERROR>>> int(โ1.0E4โ)ERROR
์์์ , ์ง์๋ฅผ ํฌํจํ ๋ฌธ์์ด์ ์ฒ๋ฆฌ x
>>> 4+0.94.9
์ซ์์ ํ์ ์ ์์ด์ ์ฌ์ฉํ๋ฉด , ์๋์ผ๋ก ํ๋ณํ
Numeric Types
>>> float(True)1.0>>> float(False)0.0
ํ ๋ณํ (float)
>>> float(99)99.0>>> float(1.0e4)10000.0
>>> float(โ88โ)88.0>>> float(โ-23โ)-23.0
Numeric Types
โข ์ ๋ฆฌ์ฐ์ฐ ๊ธฐํธ ๊ฒฐ๊ณผ ์ฐ์ ์์x + y x ๋ํ๊ธฐ yx - y x ๋นผ๊ธฐ yx * y x ๊ณฑํ๊ธฐ yx / y x ๋๋๊ธฐ y (float ๊ฐ )x // y x ๋ฅผ y ๋ก ๋๋ ๊ฐ์ ๋ชซx % y x ๋ฅผ y ๋ก ๋๋ ๊ฐ์ ๋๋จธ์ง-x ๋ถํธ ๋ณ๊ฒฝ+x ๋ณ๋ ์์x ** y x ์ y ์ ๊ณฑ
๋ฎ์
๋์
Boolean Types
๋น๊ต ์ฐ์ฐ์ ๋ป < ์์ <= ์๊ฑฐ๋ ๊ฐ์ > ํฐ >= ํฌ๊ฑฐ๋ ๊ฐ์ == ๊ฐ์ != ๊ฐ์ง ์์ is ๊ฐ์ ๊ฐ์ฒด์ธ is not ๊ฐ์ ๊ฐ์ฒด๊ฐ ์๋
๋ ผ๋ฆฌ ์ฐ์ฐ์ ๊ฒฐ ๊ณผ x or y x, y ์ค ํ๋๋ง
์ฐธ์ด๋ฉด ์ฐธ , ๋๋จธ์ง๋ ๊ฑฐ์ง
x and y x, y ๋ชจ๋ ์ฐธ์ด๋ฉด ์ฐธ , ๋๋จธ์ง๋ ๊ฑฐ์ง
not x x ๊ฐ ์ฐธ์ด๋ฉด ๊ฑฐ์ง ,x ๊ฐ ๊ฑฐ์ง์ด๋ฉด ์ฐธ
โข True & False
Boolean Types
>>> a=123123>>> b=123123>>> id(a)25428720>>> id(b)25428704>>> a is b # is ๋ id ๊ฐ์ ๋น๊ตFalse>>> a == b # == ๋ ๋ด์ฉ์ ๋น๊ตTrue
== vs is
Boolean Types
>>> 4 > 9 or 3 > 2True>>> 4 > 9 and 3 > 2False>>> not 4 > 9True
๊ฐ๋จํ ์์ !
String Types
โข ํ์ด์ฌ์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ค ํ๋ โ ๋ฌธ์์ด ์ฒ๋ฆฌ๊ฐ ์ฝ๋คโข ๋ฌธ์์ด ์ฒ๋ฆฌ๋ ํ์ฉ๋๊ฐ ์์ฃผ ๋์ !โข Sequence( ๋ฐฐ์ด์ ์ฑ์ง ) ์ Immutable ํ Typeโข ๋ฌธ์์ด์ ์ธ์ฉ ๋ถํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์๋ค
โข โSingle Quotesโโข โDouble Quotesโโข โโโ Triple Quotesโโโ or โโโ Triple Quotesโโโ
โข ์์>>> print(โThis string may contain a โ โ)This string may contain a โ>>> print(โA โ is allowedโ)A โ is allowed
String Types
>>> str(98.6)โ98.6โ>>> str(1.0e4)โ10000.0โ>>> str(True)โTrueโ
๋ฐ์ดํฐ ํ์ ๋ณํ str()
>>> โInhaโ + โUnivโโInhaUnivโ
๊ฒฐํฉ : str1 + str2
>>> โInhaโ * 5โInhaInhaInhaInhaInhaโ
๋ฐ๋ณต : str * number
String Types
>>> pirnt(โ ํ xx ์ค๊ฐ๊ณ ์ฌ ์ ์ :โ + 30)
str() ์ ์ฐ๋ ์ด์ ?
>>> pirnt(โ ํ xx ์ค๊ฐ๊ณ ์ฌ ์ ์ :โ + str(30))
๋ช ์์ ์ผ๋ก ํ๋ณํ์ด ํ์ํ ๋ !
String Types
>>> letter = โlandvibeโ>>> letter[0]โlโ>>> letter[1]โaโ>>> letter[7]โeโ>>> letter[0:3]โlanโ>>> letter[1:4]โandโ>>> letter[3:]โdvibeโ>>> letter[:]โlandvibeโ
๋ฌธ์์ด ์ถ์ถ : str[] > Seqeunce ์ด๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ !
String Types
>>> print(โโโ ๋ณด๋ฏผ์๊ณต๋ถ์ขํ์โโโ )
๋ณด๋ฏผ์๊ณต๋ถ์ขํ์
โโโ โโโ ์ ์ด๋ฐ ์ฐ์ง ?
>>> s=โ ๋ณด๋ฏผ์ ๊ณต๋ถ์ข ํ์โ>>> len(s)10
๋ฌธ์์ด์ ๊ธธ์ด : len()
>>> print(โ ๋ณด๋ฏผ์ \n ๊ณต๋ถ์ข \n ํ์โ )๋ณด๋ฏผ์๊ณต๋ถ์ขํ์
์ด์ค์ผ์ดํ ๋ฌธ์์ด : \n
String Types
>>> a=โ ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ ์ฝ๋ค์ !โ>>> a.startswith(โ ํ์ด์ฌโ ) # ๋ฌธ์์ด์ด โํ์ด์ฌโ์ผ๋ก ์์ํ๋์ง ํ์ธTrue>>> a.endswith(โ!โ) # ๋ฌธ์์ด์ด โ !โ ๋ก ๋๋๋์ง ํ์ธTrue>>> a.endswith(โ ๊ตฌ๋ ค์โ ) # ๋ฌธ์์ด์ด โ๊ตฌ๋ ค์โ๋ก ๋๋๋์ง ํ์ธFalse>>> a.replace(โ ํ์ด์ฌโ , โpythonโ) # โ ํ์ด์ฌโ์ โ pythonโ ์ผ๋ก ๋ณ๊ฒฝโpython ํ๋ก๊ทธ๋๋ฐ ์ฝ๋ค์ !>>> โPythonโ.upper() # โPythonโ ์ ๋๋ฌธ์๋ก ๋ณ๊ฒฝโPYTHONโ>>> โPythonโ.lower() # โPythonโ ์ ์๋ฌธ์๋ก ๋ณ๊ฒฝโpythonโ>>> โzโ.join(โPythonโ) # โPythonโ ์ฌ์ด์ โ zโ ๋ฌธ์ ๋ผ์ ๋ฃ๊ธฐโPzyztzhzoznโ
๊ทธ ๋ฐ์ ๋ฌธ์์ด ํจ์๋ค
String Types
๋ค ์ธ์ธ ํ์ ์์ต๋๋ค .
ํ์ํ ๋๋ง๋ค ์ฐพ์์ฐ์ธ์ .์ ๋ ๋ค ๋ชฐ๋ผ์
Input & Output
ํ์ค ์ ๋ ฅ : input(โ ์ง๋ฌธ ๋ด์ฉโ )
>>> deadline = input(โ ์์ฑ์จ ํต๊ธ์ด ๋ช์์์ ?โ)โ ์์ฑ์จ ํต๊ธ์ด ๋ช์์์ ?โ 11 ์ 30 ๋ถ์ ๋๋ค>>> deadlineโ11 ์ 30 ๋ถ์ ๋๋คโinput ํจ์์ ๋ฐํ๊ฐ์ ๋ฌด์กฐ๊ฑด str ์ ๋๋ค !
>>> num = input(โ ์ซ์๋ฅผ ์ ๋ ฅํ์ธ์โ )์ซ์๋ฅผ ์ ๋ ฅํ์ธ์ 3>>> numโ3โ>>> type(num)<class โstrโ>
Input & Output
ํ์ค ์ถ๋ ฅ : print( ์ถ๋ ฅ๋ด์ฉ , end=โ\nโ)>>> print(โโLife is goodโ)Life is goodํฐ๋ฐ์ดํ (โ) ๋ก ๋๋ฌ ์ธ์ธ ๋ฌธ์์ด์ + ์ ๋์ผ , ๋์ด ์ฐ๊ธฐ๋ ์ฝค๋ง (,) ๋ก ํ๋ค>>> print(โLifeโ โisโ โgoodโ)Lifeisgood>>> print(โLifeโ+โisโ +โgoodโ)Lifeisgood>>> print(โLifeโ, โisโ, โgoodโ)Life is good๋์ด ์ฐ๊ธฐ๋ ์ฝค๋ง (,) ๋ก ํ๋ค>>> for i in range(10):โฆ print(i, end=โ โ)0 1 2 3 4 5 6 7 8 9
Mutable vs Immutable
Mutable : ๋ณํ ์ ์๋ ๋ฐ์ดํฐํImmutable : ๋ณํ ์ ์๋ ๋ฐ์ดํฐํ , ๋ณํ ์ ์์ผ๋ ์๋ก ์์ฑ !
>>> hello = โ ์๋ ํ์ธ์โ>>> a = id(hello)>>> hello = โ ๋ฐ๊ฐ์ต๋๋คโ>>> a == id(hello) # ์๋ณ์๊ฐ ๋ค๋ฅด๋ค !!False
Immutable ์์
hello ๋ณ์์ ๊ฐ์ ๋ณ๊ฒฝํ๊ฒ ์๋๋ผ๋ฉ๋ชจ๋ฆฌ์ ์๋ก์ด ๊ณต๊ฐ์ ์์ฑํ๋ค์์ ๊ทธ๊ณณ์ ๊ฐ์ ๋ณต์ฌํ ๊ฒ !
Mutable vs Immutable
>>> hello_list = [โhiโ]>>> a = id(hello_list)>>> hello_list[0] = [โhelloโ]>>> a == id(hello_list) # ์๋ณ์๊ฐ ๊ฐ์ !True
Mutable ์์
hello_list[0] ์ ๊ฐ์ ๋ณ๊ฒฝ
Mutable Immutable๋ฆฌ์คํธํ (list)์ฌ์ ํ (dict)์งํฉํ (set)๋ฐ์ดํธ ๋ฐฐ์ดํ (byte array)
์ซ์ํ (numbers) : int, float, com-plex๋ฌธ์์ดํ (string)ํํํ (tuple)๋ถํธ์งํฉํ (frozenset)๋ฐ์ดํธํ (bytes)
๊ธฐ์ตํด๋์ธ์ !!!!!!!!
Data Structure
โข ๋ฐ์ดํฐ๋ฅผ ํ์ฉ ๋ฐฉ์์ ๋ฐ๋ผ ์กฐ๊ธ ๋ ํจ์จ์ ์ผ๋ก ์ด์ฉํ ์ ์๋๋ก ์ปดํจํฐ์ ์ ์ฅํ๋ ์ฌ๋ฌ๋ฐฉ๋ฒโข ๋ฆฌ์คํธํ (List Type)โข ํํํ (Tuple Type)โข ์ธํธํ (Set Type)โข ์ฌ์ ํ (Dictionary Type)
List Type
โข ํ๋์ ์งํฉ ๋จ์๋ก ๋์ผํ ๋ณ์์ ์์ฐจ์ ์ผ๋ก ์ ์ฅโข ๋ฐฐ์ด (Array) ์ด๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํจโข [] ๋ก ์ ์ธ>>> pockets = [4, 6, 1, 9]
4 6 1 9๋ฆฌ์คํธ pockets :
์์ index [0] [1] [2] [3]
์์ index [-4] [-3] [-2] [-1]
List Type
โข ํด์ฆ !>>> pockets = [4, 6, 1, 9]
1. pockets[0]
2. pockets[3]
3. pockets[4]
4. pockets[-1]
5. len(pockets)
6. type(pockets)
List Type
โข ์ ๋ต>>> pockets = [4, 6, 1, 9]
1. pockets[0] > 4
2. pockets[3] > 9
3. pockets[4] > IndexError : list index out of range
4. pockets[-1] > 9
5. len(pockets) > 4
6. type(pockets) > <class โlistโ>
List Type
โข ๋ฆฌ์คํธ ๋ฐ์ดํฐ ๋ณ๊ฒฝ>>> pockets = [4, 6, 1, 9]>>> pockets[0] = 3>>> pockets[3, 6, 1, 9]๋ฆฌ์คํธ ํญ๋ชฉ ์ถ๊ฐ : append(value)
>>> pockets.append(7)>>> pockets[3, 6, 1, 9, 7]
๋ฆฌ์คํธ ํญ๋ชฉ ์ญ์ : remove(value)
>>> pockets.remove(1)>>> pockets[3, 6, 9, 7]
๋ฆฌ์คํธ ํญ๋ชฉ ์ฝ์ : insert(idx, val)
>>> pockets.insert(1,2)>>> pockets[3, 2, 6, 1, 9, 7]
๋ฆฌ์คํธ ํญ๋ชฉ ์ถ์ถ : pop(idx)
>>> pockets.pop(3)1>>> pockets[3, 2, 6, 9, 7]
List Type
โข ๋ฆฌ์คํธ ๋ฐ์ดํฐ ์๋ฅด๊ธฐ๋ณ์๋ช [ start : end ] - ๋ฆฌ์คํธ์ start ์ธ๋ฑ์ค ~ end-1 ์ธ๋ฑ์ค ๊น์ง - start, end ์๋ต ๊ฐ๋ฅ>>> pockets = [4, 6, 1, 9]>>> pockets[1:3][6, 1]>>> pockets[:3][4, 6, 1]>>> pockets[-2:][1, 9]>>> pockets[:][4, 6, 1 ,9]
List Type
โข ๋ฆฌ์คํธ ๋ฐ์ดํฐ ๋ณต์ฌ= vs [:]
>>> pockets = [4, 6, 1, 9]>>> pockets_copy = pock-ets>>> pockets_copy[4, 6, 1, 9]ํด์ฆ !!
>>> pockets_copy.append(3)>>> pockets_copy[4, 6, 1, 9 ,3]>>> pockets # ๊ฒฐ๊ณผ๊ฐ ??
>>> pockets = [4, 6, 1, 9]>>> pockets_copy = pock-ets[:]>>> pockets_copy[4, 6, 1, 9]
List Type
โข ๋ฆฌ์คํธ ๋ฐ์ดํฐ ๋ณต์ฌ์ ๋ต !
์ ๋ฆฌ pockets_copy = pockets ๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐ pockets_copy = pockets[:] ๋ ๊ฐ์ ๋ณต์ฌ
>>> pockets[4, 6, 1, 9 ,3]>>> id(pockets) == id(pockets_copy)True
>>> pockets[4, 6, 1, 9]>>> id(pockets) == id(pockets_copy)False
List Type
โข ๋ฆฌ์คํธ ๋ฐ์ดํฐ ํฉ์น๊ธฐ & ํ์ฅํ๊ธฐ
๋ฆฌ์คํธ ํ์ฅํ๊ธฐ>>> a.extend(b)>>> a # a ๋ค์ b ๊ฐ ๋ถ๋๋ค[1, 2 ,3 ,4 ,5 ,6]
>>> a = [1, 2, 3]>>> b = [4, 5, 6]>>> c = a + b # ์๋ก ์์ฑ๋๋ค !>>> c[1, 2, 3, 4, 5 , 6]
List Type
โข ๋ฆฌ์คํธ ์ญ์ del() ํจ์ ์ฌ์ฉ>>> a = [1, 2, 3, 4, 5, 6]>>> del a[0]>>> a[2, 3, 4, 5, 6]>>> del a[1:3]>>> a[2, 5 ,6]>>> del a[:]>>> a[]>>> del a>>> aNameError: name โaโ is not defined
List Type
โข ๋ฆฌ์คํธ ๋ค์ํ๊ฒ ์ฌ์ฉํ๊ธฐ๋ฆฌ์คํธ์์ ์ฌ๋ฌ๊ฐ์ ํ์ ํผ์ฉ ๊ฐ๋ฅ>>> many_type = [โ ๊ฑดํฌโ , โje_jangโ, 100, 3.14 ]
์ค์ฒฉ ๋ฆฌ์คํธ ์ฌ์ฉ ๊ฐ๋ฅ>>> many_type = [โ ๊ฑดํฌโ , โje_jangโ, 100, 3.14 ]>>> nested_list = [ [1, 2, 3, 4], many_type , [5, 6, 7, 8]>>> nested_list[1][1]โje_jangโ>>> nested_list[2][3]8
Tuple Typeโข Immutale ํ ๋ฆฌ์คํธํโข ๋ค๋ฅธ ์ข ๋ฅ์ ๋ฐ์ดํฐํ์ ํจํน ์ธํจํน ํ ๋ ์ฌ์ฉโข ์ถ๊ฐ , ์ญ์ , ์๋ฅด๊ธฐ ๋ถ๊ฐ๋ฅ !โข () ๋ก ์์ฑ , but ์๋ต ๊ฐ๋ฅ>>> landvibe = โ ๋ฏผ์นโ , 1993, โ ์ฐ๊ณคโ , 1993 # () ๊ดํธ ์๋ต๊ฐ๋ฅ>>> landvibe(โ ๋ฏผ์นโ , 1993, โ ์ฐ๊ณคโ , 1993)>>> landvibe[0] # ๋ฆฌ์คํธ์ฒ๋ผ ์ธ๋ฑ์ค ๊ธฐ๋ฅ ์ฌ์ฉ ๊ฐ๋ฅโ ๋ฏผ์นโ>>> landvibe[1:3](1993, โ ์ฐ๊ณคโ , 1993)
Tuple Type
>>> landvibe = (โ ๋ฏผ์นโ , 1994, โ ์ฐ๊ณคโ , 1994)>>> landvibe(โ ๋ฏผ์นโ , 1994, โ ์ฐ๊ณคโ , 1994)>>> landvibe[0] = โ ๊ฑดํฌโTypeError: โtupleโ object does not support item ass-ginment
Tuple ์ Immutable ํฉ๋๋ค !
>>> landvibe = [โ ๋ฏผ์นโ , 1994], [โ ์ฐ๊ณคโ , 1994]>>> landvibe([โ ๋ฏผ์นโ , 1994], [โ ์ฐ๊ณคโ , 1994])>>> landvibe[1][0] = โ ๊ฑดํฌโ
์ฌ๊ธฐ์ ํด์ฆ !!!
๊ฒฐ๊ณผ๋ !?!?!?
Tuple Type
>>> landvibe = [โ ๋ฏผ์นโ , 1994], [โ ์ฐ๊ณคโ , 1994]>>> landvibe([โ ๋ฏผ์นโ , 1994], [โ ์ฐ๊ณคโ , 1994])>>> landvibe[1][0] = โ ๊ฑดํฌโ>>> landvibe ([โ ๋ฏผ์นโ , 1994], [โ ๊ฑดํฌโ , 1994])
์ ๋ต !
List ๋ Mutable ํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํฉ๋๋ค !
Tuple Type
>>> empty = ()>>> empty1 = tuple()>>> type(empty)<class โtupleโ>>>> len(empty)0>>> type(empty1)<class โtupleโ>>>> len(empty1)0>>> single = โ ๊ฑดํฌโ , # , ์ ์ฃผ๋ชฉํ์>>> type(single)<class โtupleโ>>>> len(single)1
๋นํํ , ํ๋์ ํญ๋ชฉ๋ง ์๋ ํํ ์์ฑ์ ์ฃผ์์ฌํญ
Tuple Type
>>> landvibe = โ ๋ฏผ์นโ , 1994, โ ์ฐ๊ณคโ , 1994# ์ด๊ฒ ํจํน>>> a, b, c, d = landvibe # ์ด๊ฒ ์ธํจํน>>> aโ ๋ฏผ์นโ>>>b1994
ํจํน vs ์ธํจํน
ํ๋ณํ - list(), tuple() ํจ์ ์ฌ์ฉ>>> landvibe_list= list(landvibe)>>> type(landvibe_list)<class โlistโ>>>> landvibe_tuple = tuple(landvibe_list)<class โtupleโ>
Set Typeโข Mutable ํ ๋ฐ์ดํฐ ๊ตฌ์กฐโข Index, ์์๊ฐ ์์โข ์ค๋ณต์ด ํ์ฉ๋์ง ์์โข {} ๋ก ์์ฑ>>> landvibe = {โ ์์ฑโ , โ ์ฑํโ , โ ์ฌํโ , โ ์์ฑโ , โ ์ฑํโ }>>> landvibe{โ ์์ฑโ , โ ์ฑํโ , โ ์ฌํโ }
ํญ๋ชฉ ์กด์ฌ ์ ๋ฌด ํ์ธ>>> โ ์์ฑโ in landvibeTrue>>> โ ๋ฉ์โ in landvibeFalse
Set Type
>>> landvibe = {โ ์์ฑโ , โ ์ฑํโ , โ ์ฌํโ }>>> landvibe.add(โ ์ฃผ์โ )>>> landvibe{โ ์์ฑโ , โ ์ฑํโ , โ ์ฌํโ , โ ์ฃผ์โ }
ํญ๋ชฉ์ถ๊ฐ : add()
>>> landvibe.update(โ ๊ฑดํฌโ , โ ๊ท์ โ )>>> landvibe{โ ์์ฑโ , โ ์ฑํโ , โ ์ฌํโ , โ ์ฃผ์โ , โ ๊ฑดํฌโ , โ ๊ท์ โ }
ํญ๋ชฉ ์ฌ๋ฌ๊ฐ ์ถ๊ฐ : update()
>>> landvibe.remove(โ ์์ฑโ )>>> landvibe{โ ์ฑํโ , โ ์ฌํโ , โ ์ฃผ์โ , โ ๊ฑดํฌโ , โ ๊ท์ โ }
ํญ๋ชฉ ์ญ์ : remove()
Set Type
>>> landvibe = set(โlaaaaandviiibeโ)>>> landvibe{โlโ, โaโ, โnโ, โdโ, โvโ, โiโ, โbโ, โeโ}
ํฉ์งํฉ , ๊ต์งํฉ , ์ฐจ์งํฉ , ์ฌ์งํฉ>>> a = { 1, 2, 3, 4 }>>> b = { 3, 4, 5, 6 }>>> a-b # ์ฐจ์งํฉ{1, 2}>>> a | b # ํฉ์งํฉ{ 1, 2, 3, 4, 5, 6}>>> a & b # ๊ต์งํฉ{ 3, 4}>>> a ^ b # ์ฌ์งํฉ{1, 2, 5 ,6}
์ค๋ณต๋ฌธ์ ์ ๊ฑฐ
Dictionary Typeโข Mutable ํ ๋ฐ์ดํฐ ๊ตฌ์กฐโข Map ์ ๊ตฌํ์ฒดโข Key, Value ์์ผ๋ก ํ๋์ ๋ ธ๋๊ฐ ๊ตฌ์ฑ๋๋คโข Key ๋ ์ค๋ณต ๋ถ๊ฐ , Key ๋ค์ ์งํฉ์ Set ์ ์ฑ์ง์ ๊ฐ์งโข {key:value} ๋ก ์์ฑ>>> landvibe = {โ ์์ฑโ : 97, โ ๊ท์ โ :92}>>> landvibe{โ ์์ฑโ : 97, โ ๊ท์ โ :92}>>> type(landvibe)<class โdictโ>>>> len(landvibe)2
Dictionary Type
>>> landvibe = {โ ์์ฑโ : 97, โ ๊ท์ โ :92}>>> landvibe[โ ์ค์คโ ] = 94>>> landvibe{โ ์์ฑโ : 97, โ ๊ท์ โ :92, โ ์ค์คโ :94}>>> del landvibe[โ ๊ท์ โ ]>>> landvibe{โ ์์ฑโ : 97, โ ์ค์คโ :94}>>> landvibe[โ ์ค์คโ ] = 95{โ ์์ฑโ : 97, โ ์ค์คโ :95}
์ถ๊ฐ , ์ญ์ , ๋ณ๊ฒฝ : dict_name[key]=value
Dictionary Type
>>> landvibe = {โ ์์ฑโ : 97, โ ๊ท์ โ :92, โ ์ค์คโ : 95}>>> landvibe.keys()dict_keys([โ ์์ฑโ , โ ๊ท์ โ , โ ์ค์คโ ]) # set ์ ์ฑ์ง์ ๊ฐ์ง๋๋ค>>> list(landvibe.keys()) # [index] ๋ก ์ ๊ทผ ๋ถ๊ฐ๋ฅ[โ ์์ฑโ , โ ๊ท์ โ , โ ์ค์คโ ]>>> sorted(landvibe.keys())[โ ๊ท์ โ , โ ์์ฑโ , โ ์ค์คโ ]
key ์ถ์ถ : keys()
>>> list(landvibe.values())[97, 92, 95]
value ์ถ์ถ : values()
Dictionary Type
>>> landvibe = {โ ์์ฑโ : 97, โ ๊ท์ โ :92, โ ์ค์คโ : 95}>>> โ ์์ฑโ in landvibeTrue>>> โ ์งํโ not in landvibeTrue
ํค ์กด์ฌ , ๋๋ฝ ์ ๋ฌด ํ์ธ
>>> landvibe = dict( [ (โ ์์ฑโ , 97), (โ ๊ท์ โ , 92), (โ ์ค์คโ , 95) ] )>>> landvibe{โ ์์ฑโ : 97, โ ๊ท์ โ :92, โ ์ค์คโ : 95}>>> landvibe = dict( ์์ฑ =97, ์ค์ค =95)>>> landvibe{โ ์์ฑโ : 97, โ ์ค์คโ : 95}
ํ ๋ณํ : dict( list( tuple(key,value) ) )
๋
์๊ณ ํ์ จ์ต๋๋ค .์ค๋์ ์์ ๊ฐ ์์ต๋๋ค .