LearnApplyShare

Python 스터디

May 23, 2020 - [python, syntax]

python 을 새롭게 공부하면서 특별히 기억할 만한 요소들을 정리해 본다.

변수의 선언 없이 바로 사용

다른 언어들(C/C++, JAVA, JavaScript)과 다르게 변수의 특별한 선언없이 바로 사용

name = 'Keating'
print(name) # Keating

comment

# one line comment

"""
This is a comment
written in
more than just one line
"""

print("Hello, World!")

연산자

power

squared = 7 ** 2
cubed = 2 ** 3
print(squared)  # 7 * 7 = 49
print(cubed)  # 2 * 2 * 2 = 8

데이터 타입

문자열

# 문자열 정의시 홑따옴표('), 쌍따옴표(") 모두 사용 가능
str1 = 'hello' # or "hello"

# 문자열 길이
len(str1) # 5

# 특정 문자의 위치
str1.index('e') # 1

# 특정 문자의 개수
str1.count('l') # 2

# 문자열 붙이기
str2 = 'world'
print(str1 + ' ' + str2)  # 'hello world'

# 문자열 반복
lotsofhellos = "hello" * 10
print(lotsofhellos) # 'hellohellohellohellohellohellohellohellohellohello'

# 문자열 자르기
"""
str[start:stop:step]
"""
str = 'hello world'
str[1] # 'e'
str[1:] # 'ello'
str[:3] # 'hel'
str[1:3] # 'el' (4번째 문자는 포함 안됨!)
str[1:-2] # 'el'

# 2칸씩 건너 뛰기
str[::2] # 'hlowrd'

# reverse
str[::-1] # 'dlrow olleh'

# upper & lower
str.upper() # HELLO WORLD
str.lower() # hello world

# startswith & endswith
str.startswith('hello') # True
str.endswith('xx') # False

# split
str.split(" ") # ['hello', 'world']

# Same result
str.split() # ['hello', 'world']

# 구분자는 포함안됨
str.split("e") # ['h', 'llo world']

float

# float 정의
myfloat = 7.0
print(myfloat)

# 이런 방법도 가능
myfloat = float(7)
print(myfloat)

리스트

# 리스트에 요소 추가
list = []
list.append(1)

# 리스트 붙이기(concat)
concated = list + list
print(concated) # [1, 1]

# 리스트에 포함된 요소의 개수
len(list)

# 리스트의 반복
print([1,2,3] * 3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3]

# 리스트에 포함된 특정 요소의 개수
nums = [1,2,2,3]
print(nums.count(2)) # 2

조건문

==, True, False

x = 2
print(x == 2) # prints out True
print(x == 3) # prints out False
print(x < 3) # prints out True

and, or

name = "John"
age = 23
if name == "John" and age == 23:
    print("Your name is John, and you are also 23 years old.")

if name == "John" or name == "Rick":
    print("Your name is either John or Rick.")

in

name = "John"
if name in ["John", "Rick"]:
    print("Your name is either John or Rick.")

elif, else, is

statement = False
another_statement = True
if statement :
    print('do something')
elif another_statement :
    print('do something else')
else:
    print('do another thing')

is

== 는 깊은 비교, is 는 네이티브 값을 비교(js의 === 같은 것?)

x = [1,2,3]
y = [1,2,3]
print(x == y) # Prints out True
print(x is y) # Prints out False

not

print(not False) # Prints out True
print((not False) == (False)) # Prints out False

기타

isinstance

mystring = "hello"
myfloat = 10.0
myint = 20

if mystring == "hello":
    print("String: %s" % mystring)
if isinstance(myfloat, float) and myfloat == 10.0:
    print("Float: %f" % myfloat)
if isinstance(myint, int) and myint == 20:
    print("Integer: %d" % myint)

"""
String: hello
Float: 10.000000
Integer: 20
"""

String formatting

  • %s - String (or any object with a string representation, like numbers)
  • %d - Integers
  • %f - Floating point numbers
  • %.<number of digits>f - Floating point numbers with a fixed amount of digits to the right of the dot.
  • %x/%X - Integers in hex representation (lowercase/uppercase)
# 문자열 포매팅
name = "John"
print("Hello, %s!" % name)  # Hello, John!

name = "John"
age = 23
print("%s is %d years old." % (name, age)) # John is 23 years old.

# 포매팅을 이용한 리스트의 출력
mylist = [1,2,3]
print("A list: %s" % mylist)  # A list: [1, 2, 3]

# float 도 %s 이용하여 출력가능
data = ("John", "Doe", 53.44)
format_string = "Hello %s %s. Your current balance is $%s."
print(format_string % data) # Hello John Doe. Your current balance is $53.44.

Ref

https://www.learnpython.org/