2021. 2. 24. 10:30ใWork/Python
๐ Web IDE : https://repl.it/
๐ Web Documentation : https://docs.python.org/3.5/library/index.html
Naming Rules
Data Types
- ๐ string a_string = "Like this"
- "์ด๋ฆ %s" % "๋ด์ด๋ฆ" , "๋์ด %s" % "25"
- "์ด๋ฆ %s, ๋์ด %s" % ("๋ด์ด๋ฆ", 25)
- "์ด๋ฆ : %(name)s, ๋์ด %(age)s" % {"name":"๋ด์ด๋ฆ", "age":25}
- Formating : %d → 10์ง์, %o → 8์ง์, %x → 16์ง์, %f → ๋ถ๋์์์ , %d → ์ ์, %% → %๋ก ํ์, %5s → ์ฐ์ธก์ ๋ ฌ 5๋งํผ, %-5s → ์ข์ธก์ ๋ ฌ 5๋งํผ, %0.2f → 3.14, %2.2f → ์ฐ์ธก์ ๋ ฌ 2๋งํผ & ์์ ์๋ฆฟ์ 2๋งํผ, $02.2f → ๋น์ด์๋ ์๋ฆฌ์๋ 0์ผ๋ก ์ฑ์
- "์ด๋ฆ: {}, ๋์ด{}".format("๋ด์ด๋ฆ",25} → ์์ฐจ์ ์ผ๋ก ์ ์ฉ, "์ด๋ฆ:{0}".format("๋ด์ด๋ฆ")
- "{0:f}.format()" → ์์์ 6์๋ฆฌ, "{0:2f}.format()" → ์์์ 2์๋ฆฌ
- "{name}, {age}".format(name="๋ด์ด๋ฆ",age=20)
- ๐ int a_number = 3
- ๐ float a_float = 3.12
- ๐ boolean a_boolean = False
- ๐ null a_none = None
- ๐ list a_list = [1, 2, 3]
- โญ a_list[1] = 3 → a_list[1, 3, 3] โญ a_list = ["hi", 21]
- ๐ tuple a_tuple = ("hi",20)
- ๐ซ a_tuple[1] = 21, โญ a_tuple = ("hi", 21)
- ๐ set a_set = {1, 2, 3, 3} → a_set = {1, 2, 3}
- ๐ซ a_set[0], โ๏ธ a_set |= {2, 4} → ํฉ์งํฉ์ผ๋ก ์ ์ธ ๊ฐ๋ฅ โญ a_set = ["hi", 21]
- ๐ซ์์๊ฐ ์์ด์ ์ธ๋ฑ์ค ์์, ๐ซ๋ฐ์ดํฐ ์ค๋ณต ํ์ฉX
- ๐ Dictionary a_dictionary = { 1: 1, 2: 2}
- a_dictionary[1] → 1, โญ a_dictionary[2] = 3, a_dictionary[4] = 4 → ์๋กญ๊ฒ ์ถ๊ฐ โ๏ธ a_dictionary[4]์ a_dictionary['4']๋ ๋ค๋ฆ!
- โ๏ธ ํค๋ฅผ ์ด์ฉํด ๊ฐ ์ฝ์ ์ ์์, ํญ๋ชฉ ์ถ๊ฐ์ ๋์ผํค | ์์: ์๋ก์ด ํญ๋ชฉ ์ถ๊ฐ, ์์ : ์ ์ฅ๋ ํญ๋ชฉ ๋ณ๊ฒฝ
- ๐ Del del() : ์ฌ์ฉํ์ง ์๋ ๋ณ์ ์ ๊ฑฐ
- var1 = 10, var2 = 10, var1 is var2 → True
Queue
-
๋ฉํฐ ํ์คํน์ ์ํ ํ๋ก์ธ์ค ์ค์ผ์ค๋ง ๋ฐฉ์์์ ๋ง์ด ์ฌ์ฉ(์ด์์ฒด์ )
Function
-
ํจ์๋ฅผ ๋ง๋ ๋ค!
-
๋ชจ๋๋ก ๋์ด ์๋ ํจ์๋ฅผ ๋ถ๋ฌ์จ๋ค!
-
๋ณธ์ธ์ด ๋ง๋ ๊ฒ๋ ๋ชจ๋์ฒ๋ผ ๋ถ๋ฌ์จ๋ค!
Class
-
ํด๋์ค์ ์์ ๊ตฌ์กฐ ์ ์ธ
Map, lambda
-
lambda๋ก map์ ๋ํด ์ ์ฉํ ์ ์๋ค.
-
zip, unpack
- zip(name), *name
Boolean Operations
- x or y
- x and y
- not x
Slice (:)
- command[0] → 0๋ฒ์งธ index
- command[1:2] → 1๋ฒ์งธ ~ 2๋ฒ์งธ index
- command[:2] → 0 ~ 2๋ฒ์งธ ๊น์ง
- command[2:] → 2 ~ ๋ ๊น์ง
- command ์ต๋๊ฐ 4๋ผ๋ฉด command[0] command[1] command[2] command[3] command[-4] command[-3] command[-2] command[-1]
Bisect
- Array bisection algorithm, Binary search!
import bisect mylist = [1, 2, 3, 7, 9, 11, 33] print(bisect.bisect(mylist, 7))
4
๋ฌธ์์ด ์ ๋ ฌํ๊ธฐ
s, n = input().strip().split(' ') n = int(n) print(f'{s:<{n}}') print(f'{s:^{n}}') print(f'{s:>{n}}')
s.ljust(n) # ์ข์ธก ์ ๋ ฌ s.center(n) # ๊ฐ์ด๋ฐ ์ ๋ ฌ s.rjust(n) # ์ฐ์ธก ์ ๋ ฌ
Comparisons
-
is : object identity
-
is not : negated object identity
Snake case
- super_long_variable : python ์ฌ์ฉํ ๋ ์ฝ์, ๋ชจ๋ ์๋ฌธ์
Garbage Collection
- python์ ๊ฐ๋น์ง ์์ง๊ธฐ๋ ์ด 3์ธ๋, 0(young)~2(old)์ธ๋
- ๊ฐ๋น์ง ์ปฌ๋ ์ ์ด ์ฑ๋ฅ์ ์ํฅ์ ์ฃผ๋ ์ด์ : ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ํํ๋ ค๋ฉด ํ๋ก๊ทธ๋จ์ด ์์ ํ ์ค์งํด์ผํ๊ณ , ๊ฐ์ฒด๊ฐ ๋ง์ ์๋ก ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๋ ๋ฉ์ถฐ์๋ ์๊ฐ๋ ์ค๋๊ฑธ๋ฆผ.
- ๋ ํผ๋ฐ์ค ์นด์ดํ
(reference_counting) : ์ฃผ๋ก ์ฌ์ฉ!
- โ๏ธ ๊ฐ์ฒด๊ฐ ์ฐธ์กฐ๋ ๋๋ง๋ค ์ฆ๊ฐ, ํด์ ๋ ๋ ๊ฐ์, 0 ์ด๋ฉด ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํด์ sys.getrefcount(a) ๋ฅผ ํตํด ์ฐธ์กฐ ํ์ ํ์ธ ๊ฐ๋ฅ, ๋จ sys ํ ๋น์์๋ ์ฆ๊ฐ!
- ์ธ๋๋ณ ๊ฐ๋น์ง ์ปฌ๋ ์
(generational_garbage_collection) : ๋ณด์กฐ๋ก ์ฌ์ฉ!
- โ๏ธ ๊ฐ์ฒด๊ฐ ์ํ ์ฐธ์กฐ ํ๊ฑฐ๋, ์๋ก๋ฅผ ์ฐธ์กฐํ๋ ๊ฐ์ฒด์์ ํด๋น ๊ฐ์ฒด์ ์ ๊ทผ ํ ์ ์์ ๊ฒฝ์ฐ ๋ ํผ๋ฐ์ค ์นด์ดํ ๋ง์ผ๋ก๋ ํ๊ณ๊ฐ ์๋ค.
- โ๏ธ Generation Rules : 0์ธ๋์์ ์์, ๊ฐ์ฒด๊ฐ ์ด์ ๋จ์ผ๋ฉด(ํ์ฌ ์ธ๋์ ์๊ณ๊ฐ ์์น๊ฐ ์ต๋) ๋ค์ ์ธ๋๋ก ์ด๋, 0์ธ๋์์ ๋ ์์ฃผ ๊ฐ๋น์ง ์ปฌ๋ ์ ํจ.
- ๐ค ๊ฐ๋น์ง ์ปฌ๋ ํฐ์ ๋์์ ๋ณ๊ฒฝ ํ ์ ์๋ค! ์๊ณ๊ฐ ๋ณ๊ฒฝ, ์๋์ผ๋ก trigger, ๊ฐ๋น์ง ์ปฌ๋ ์ ๋นํ์ฑํ ํ ์ ์๋ค.
- Manual
- Time-based(์๊ฐ ๊ธฐ๋ฐ) : ๊ณ ์ ๋ ์๊ฐ ๊ฐ๊ฒฉ๋ง๋ค ํธ์ถ Event-based(์ด๋ฒคํธ ๊ธฐ๋ฐ) : ํน์ ์ด๋ฒคํธ ๋ฐ์์ ํธ์ถ, ์์ฉ ํ๋ก๊ทธ๋จ ์ข ๋ฃ ํน์ ์ค๋จ ์ํ์ผ ๋
List comprehension์ if ๋ฌธ
- for ๋ฌธ๊ณผ if๋ฌธ์ ํ๋ฒ์ - List comprehension์ if ๋ฌธ
mylist = [3, 2, 6, 7] answer = [i**2 for i in mylist if i %2 == 0]
Reference!
๐ python
- https://swexpertacademy.com/
- https://nomadcoders.co/
- http://pythonstudy.xyz/python/article/511-ํ์ด์ฌ-์ฝ๋ฉ-์คํ์ผ
๐ garbage collection
'Work > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Coding Start Python (0) | 2021.03.12 |
---|