π Programming
[Swift] .\self ? ν€κ²½λ‘ νΊμ보기 (KeyPath)
forEachμμ μμ£Ό μ¬μ©νλ .\self λ¬΄μ¨ μλ―ΈμΌκΉ ? KeyPath ν€ κ²½λ‘λ νλ‘νΌν°μ κ°μ λ°λ‘ κ°μ Έμ€μ§ μκ³ μ΄λ€ νλ‘νΌν°μ μμΉλ§ μ°Έμ‘°νλλ‘ ν μ μλ€. κΈλ‘λ μ€λͺ νκΈ° μ΄λ €μ΄ κ°λ μΈκ² κ°λ€. λ°λ‘ μμ λ₯Ό 보μ ! Swiftλ ν¨μν νλ‘κ·Έλλ° μΈμ΄λ‘ ν¨μκ° μΌκΈκ°μ²΄μ μν μ ν μ μλ€. λ무 μ λͺ ν μμ ..μΈλ° μ΄λ κ² λ³μλ‘ ν¨μλ₯Ό μ¬μ©ν μ μκ³ , μ°Έμ‘°λ₯Ό ν λΉν μ μμ΅λλ€ ! func someFunction(paramA: Any, paramB: Any){ print("SomeFunction called...") } var functionReference = someFunction(paramA:paramB:) functionReference("A","B") // someFuncti..
[Swfit] νλ‘νΌν° κ°μμ / property observer (willSet & didSet)
Property Observer νλ‘νΌν° κ°μ λ³νλ₯Ό κ΄μ°°νκ³ , μ μ₯ νλ‘νΌν°μ μΆκ°ν μ μλ€. willSet, didSetμΌλ‘ νλ‘νΌν°μ κ° λ³νν λ νΈμΆλ¨ -> κ°μ λ³νλ₯Ό λͺ¨λν°λ§ ν μ μλ€. π μ, μΈμ μ¬μ©νλμ§ ? μ£Όλ‘ iOSκ°λ°μμ UIλ₯Ό μ λ°μ΄νΈ ν λ μ¬μ©ν©λλ€. willSet κ°μ΄ μ μ₯λκΈ° μ§μ μ νΈμΆλ©λλ€. willSetμ νλΌλ―Έν°λ λ°λκ² λ λ³μμ κ°μ κ°μ§κ³ μμ΅λλ€. var fruit : String = "apple" { willSet(newFruit){ print("κ³ΌμΌμ΄ \(fruit)μμ \(newFruit)μΌλ‘ λ³κ²½λ©λλ€.") } } νλΌλ―Έν°λ₯Ό μ€μ νμ§ μμ κ²½μ° newValueλ‘ μλ μ§μ λ©λλ€. var fruit : String = "apple" { will..
[Swift] μ΅μ λ 체μ΄λ
π μ΅μ λ 체μ΄λ μ΅μ λ 체μ΄λμ ꡬ쑰체λ, ν΄λμ€ μ΅μ λμ μ¬μ©νλλ° κ·Έ μ΅μ λμ΄ λ μ΅μ λμ κ°μ§ λ μ¦, μ°μμ μΌλ‘ μ΅μ λμ κ°μ§λ κ²½μ°μ μ¬μ©ν μ μλ€. μλ₯Όλ€μ΄ μλμ κ°μ ν΄λμ€κ° μλ€κ³ νμ. // κ°μΈμ 보 class Person { var name : String var age : Int var phone : Phone? init(name : String, age : Int){ self.name = name self.age = age } } // ν°μ 보 class Phone { var number : String var type : Kind? init(number : String){ self.number = number } } // ν°μ’ λ₯ class Kind { var brand : St..
[Python] μ λ ¬ν¨μ sort(), sorted() νμ©
μ λ ¬μ μν΄ μ¬μ©νλ ν¨μμ λν΄μ μμΈν μμ보μ. μ λ ¬ν¨μλ λ΄μ₯ν¨μκ³ λ¦¬μ€νΈμμ μ¬μ©κ°λ₯νλ€. π sort() 리μ€νΈλ₯Ό μ λ ¬νκ³ μΆμλ μ¬μ© (defalutλ μ€λ¦μ°¨μ) arr = [1,5,2,7,8,3,4,9,6] arr.sort() print(arr) # [1, 2, 3, 4, 5, 6, 7, 8, 9] λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬ arr = [1,5,2,7,8,3,4,9,6] arr.sort(reverse=True) print(arr) # [9, 8, 7, 6, 5, 4, 3, 2, 1] π sorted() 리μ€νΈλ 건λ€μ§ μμ§λ§, μ λ ¬λ κ°μ΄ νμν λ μ¬μ© arr = [1,5,2,7,8,3,4,9,6] arr_sort = sorted(arr) print(arr) #[1, 5, 2, 7, 8, 3, 4..
[Python] μνλ²³ λλ μ«μ νμΈ (isalpha , isdigit)
νμ΄μ¬μ μ°Έ μ’μ ν¨μκ° λ§λ€. μ΄λ²μ μ¬μ©ν΄ λ³Ό ν¨μλ λ΄κ° κ²μ¬νκ³ μ νλ λ¬Έμμ΄μ΄ μνλ²³μΈμ§, μ«μμΈμ§ μκ³ μΆμ λ μ¬μ©νλ ν¨μμ΄λ€. π μνλ²³ (isalpha) λ¬Έμ, λ¬Έμμ΄ λͺ¨λ μ¬μ© κ°λ₯νλ€. (νκΈλ κ°λ₯) λ¨, λ¬Έμμ΄μμλ λ¬Έμκ°μλκ²μ΄ νκ°λΌλ μμΌλ©΄ flaseλ₯Ό λ°ννλ€. (ex νΉμλ¬Έμ, μ«μ, λμ΄μ°κΈ°) ex1 = "A" ex2 = "a" ex3 = "example" ex4 = "μλ " ex5 = "hi hello" ex6 = "hi123" print(ex1.isalpha()) #True print(ex2.isalpha()) #True print(ex3.isalpha()) #True print(ex4.isalpha()) #True print(ex5.isalpha()) #False ..
[Swift] class μμ(Inheritance)
μμμ μ€λ‘μ§ 'ν΄λμ€' μμλ§ κ°λ₯νλ€. swiftμμ μμμ ν λ²λ§ κ°λ₯νλ€. (== λ¨μΌμμ) π 기본ꡬν class Name : μμλ°μclass { // code } π μμ μμμ μμ λ₯Ό μμΈμ μ€λͺ ν΄λ³΄λ©΄, μ΄λ¦κ³Ό λμ΄λ₯Ό νλ‘νΌν°λ‘ κ°μ§κ³ , κ·Έ κ°μ μΆλ ₯νλ λ©μλλ₯Ό κ°μ§λ ν΄λμ€λ λ€μκ³Ό κ°λ€. class Info { var name = "" var age = "" func print_name() { print("λ΄ μ΄λ¦μ \(name) μ λλ€.") } func print_age() { print("λλ \(age)μ΄ μ λλ€.") } } μ ν΄λμ€μ μ 보λ₯Ό λͺ¨λ κ°μ§λ©΄μ μΈκ΅μ΄λ‘λ μΆλ ₯ν μ μκ² νκ³ μΆλ€λ©΄ μμμ μ΄μ©ν μ μλ€. μ¦, μμμ΄λ λ€λ₯Έ ν΄λμ€μ μ 보λ₯Ό λͺ¨λ κ°μ§λ κ²μ μλ―Έ..
[Python] input λμ sys.stdin.readline() μ°μ
pythonμΌλ‘ μ½λ©ν μ€νΈ (νΉν λ°±μ€) νλ€κ° μκ°μ΄κ³Όλ‘ λ¬Έμ κ²ͺμ λΆλ€μ μλ κ°μ μ μν΄μ sys.stdin.readline()μ μ°μ inputμ΄ λλ¦° μ΄μ 1 κΈ°μ‘΄μ μ°λ inputμ κ΄νΈμμ prompt messageλ₯Ό μ λ ₯ν μ μμ΅λλ€. name = input("μ΄λ¦μ μ λ ₯νμΈμ : ") κ·Έλ κΈ° λλ¬Έμ prompt messageκ° μλ readline()κ³Ό μλμ μΌλ‘ μκ° μ°¨μ΄κ° λ°μν©λλ€. inputμ΄ λλ¦° μ΄μ 2 μλμ κ°μ΄ μ λ ₯ ν κ°μ λ¬Έμμ΄μ μ λ ₯νλ©΄, import sys input = input() print(input) print("=====") readline = sys.stdin.readline() print(readline) print("=====") λ€μκ³Ό κ°μ κ²°κ³Όκ°..
[Swift] property(νλ‘νΌν°)
ν΄λΉ ν¬μ€ν μ μλ λ§ν¬μμ κ°νμ & μ°Έμ‘°νμ μ λ¨Όμ νμ΅ν νμ μ½λ κ²μ κΆμ₯ν©λλ€. https://990427.tistory.com/71 μ κ²μλ¬Όλ€μμ ν΄λμ€λ ꡬ쑰체μ μ°λ λ³μλ μμλ₯Ό νλ‘νΌν°λΌκ³ λΆλ μλ€. νλ‘νΌν°λ ν΄λμ€, ꡬ쑰체, μ΄κ±°νμ κ΄λ ¨λ κ°μ λ»νλ€. (λμΆ© μμλ§λ λ§μ) νλ‘νΌν°λ μ΄ 3κ°μ§ ννλ‘ μ‘΄μ¬νλλ°, νλμ© μμ보λλ‘ νμ. Stored Property (μ μ₯ νλ‘νΌν°) μ μ₯ νλ‘νΌν°λ λ§ κ·Έλλ‘ κ°μ μ μ₯νλ νλ‘νΌν°λ₯Ό μλ―Ένλ€. μ°λ¦¬κ° μ΅ν μκ³ μλ class, structμμ μ‘΄μ¬νλ λ³μλ μμλ κΈ°λ³Έμ μΌλ‘ μ μ₯ νλ‘νΌν°μ΄λ€. class ex1 { let num = 0 var str = "hello" } struct ex2 { var num = 1 let..
[Swift] ν΄λ‘μ (Closure)μ λͺ¨λ κ²
λ³Έ κ²μλ¬Όμ ν΄λ‘μ μ κΈ°λ³Έ λΆν° μ¬νκΉμ§ λͺ¨λ λ€λ£¨κ³ μμ΅λλ€. swift ν¨μμ κΈ°λ³Έμ λ€λ£¨μλ€κ³ κ°μ νκ³ μμ±νμ΅λλ€. Closure / ν΄λ‘μ ν΄λ‘μ λ? 보ν΅μ μ΅λͺ ν¨μλ₯Ό λ»νλ€. νμ§λ§ named ν¨μλ ν΄λ‘μ μ μνλ€λ μ¬μ€ ! ν΄λ‘μ λ named Closure & unnamed Closure λκ°μ§λ₯Ό ν¬ν¨νκ³ μλ€. μ°λ¦¬κ° μκ³ μλ μΌλ°μ μΈ ν¨μλ named Closureμ΄λ€. func NameClosure() { print("I have a name") } μ΅λͺ ν¨μλ μ ννλ unnamed Closureμ΄μ§λ§, λ³΄ν΅ unnamedμ μλ΅νκ³ κ·Έλ₯ ν΄λ‘μ λΌκ³ λΆλ₯Έλ€. μ¦, ν΄λ‘μ = μ΅λͺ ν¨μλΌκ³ ν΅μμ μΌλ‘ μκ°νλ©΄ λ λ― ? ( ν΄λ‘μ λ μ΅λͺ ν¨μμ΄μ§λ§, 1κΈ κ°μ²΄ ν¨μμ νΉμ±μ κ°μ§λ€. ) μ..