사칙연산
- // 몫만 구하기
- / 나누기(소수점도 구함)
- % 나머지만 구하기
- ** 제곱
#문자열 출력
text1 = "Hello, world!"
text2 = "Python Programming"
print("{}\\n{}\\n{}".format(text1,text1,text2))
print(13+(22-3)*4)
print(13+((22-3)*4)/5)
print(13**(1/2))
print("\\"가장 시끄러운 층은 = {}층\\"".format(round(0.2467*12+4.159)))
#지수 표기법
#ex) 1.1234e10 = 1.1234*10^10
print(1.1234e10,"\\t",1.2345e-4)
#2진법 표기법 0b10001 = 17로 출력, bin(17) = 0b10110으로 출력
print(0b10001,"\\t",bin(17))
#8진수 표기법 0o21 = 17 로 출력,oct(17) = 0o21로 출력
print(0o21,"\\t",oct(17))
#16진수 표기법 0x1f = 31 로 출력, hex(31) = ox1f로 출력
print(0x1f,"\\t",hex(31))
#복소수형은 complex()로 변수할당 가능.
# del 명령어 = 변수를 삭제하는데 사용함.
a = 10
a = a+20
print(a)
del a
print(a)
#변수에 빈 값 할당하기 = 파이썬은 None이 빈 값임.
a = None
print(a)
#상수 - 파이썬에서 따로 상수 만드는 방법은 없지만 대문자로만된 SNAKE_CASE를 활용하여 상수명을 만들어 쓰긴 함.(클래스를 통해 따로 구현이 가능함.)
#bool literal -파이썬의 bool type -True , False 존재
type(True)
논리 연산자 and ,or ,not
#문자열 리터럴 - 작은 따옴표, 큰 따옴표를 사용하여 표현할 수 있다.(둘은 같은 결과를 가짐)
text = "이것은 문자열 입니다"
print(text)
# ' " 와 같은 문자를 문자열안에 포함하고 싶을때 \\사용하면 된다.
text2 = "\\'이것은 따옴표가 추가된 문자열 입니다.\\'"
print(text2)
# \\ 도 마찬가지
text3 = "1\\n2\\\\3"
print(text3)
#\\n없이 줄바꿈이 되도록 가능하다.
text4 = """
안
녕
하
세
요"""
print(text4)
#첫줄에 줄바꿈을 원치 않을 때 아래와 같이 사용 가능하다 , 또한 삼중따옴표 안에서는 따옴표를 그냥 사용되어도 된다.
text5 = '''\\
안
"안녕"
녕'''
print(text5)
#시퀀스 자료형에 사용가능한 인덱싱
sentence = "중요한 것은 꺽이지 않는 마음"
print(sentence[7])
#시퀀스 자료형에 사용가능한 슬라이싱, 비어있다면 끝까지를 의미함.
print(sentence[7:])
#슬라이싱 추가 정보
print(sentence[0:14:2]) # 2가 증감 크기임(2칸씩 건너 뛰어간다는 이야기.)
#슬라이싱은 범위를 넘어가는 것에 대해 너그러움
#(슬라이싱 뒷부분은(여기선144)미만 처리이기 때문에 결국 index보다 큰 숫자를 넣어야 모두 출력 가능하다. 그렇기에 발생하는 너그러움임.)
print(sentence[0:144])
#증감 부분에 -를 넣음으로써 역순으로 읽는것도 가능함.
print(sentence[2::-1])
#list =파이썬 언어에서 가장 융튱성 있는 자료형으로 서로 다른 형의 항목들이 포함 가능하며 mutable한 특성을 가짐
#리스트 또한 시퀀스 자료형이기에 인덱싱과 슬라이싱 사용가능.
list_x = [1,2,3]
list_x = list_x*2
#리스트안의 리스트도 존재 가능하며 인덱싱과 슬라이싱 사용가능.
list_z = ['a','b','c']
list_y = [list_x,list_z]
print(list_x)
print(list_y)
print(list_y[0][3])
print(list_y[1][1:])
#리스트에 특정 요소가 있는지 확인하는 키워드 = in
print('a' in list_y) # 얘는 안되는 것을 보면 리스트안의 리스트까지 읽지는 못하는것으로 보임
print('a' in list_y[1])
list method
numbers = []
numbers.append(1)
print(numbers)
numbers.extend([2,3,4,5,6,7])
print(numbers)
numbers.insert(0,10)
print(numbers)
numbers.remove(7)
print(numbers)
print(numbers.pop())
print(numbers)
print(numbers.index(4))
print(numbers.count(2))
numbers.sort()
print(numbers)
numbers.reverse()
print(numbers)
numbers.clear()
print(numbers)
리스트를 스택처럼 활용하기 LIFO
append()와 pop()을 사용하여 스택구현이 가능하다.
Tuple
튜플은 리스트와 거의 유사하지만 수정이 불가능함 - immutable 함
리스트와 마찬가지로 자료형을 섞어서 만들 수 있다.
tup = (1,2,3,4,5,"자료형 혼합가능")
print(tup)
#tup[1] = 3
#tup[1:3] = (7,8,9)
#del tuple_variable[1] #삭제도 동일하게 불가능하다.
튜플과 리스트의 소요시간 비교
- 튜플이 더 빠른 것을 볼 수 있다.
- 그렇기에 변하지 않는 값들은 튜플을 사용하는 것이 좋다
import time
curr = time.time()
total = []
for i in range(1000):
for j in range(100):
total.append((i,j))
last = time.time()
print(last - curr)
import time
curr= time.time()
total = []
for i in range(1000):
for j in range(100):
total.append([i,j])
last = time.time()
print(last - curr)
파이썬 입력 사용하기
1.input() 내장 함수
2.sys.stdin.readline()으로 sys를 import해와 입력받기
파이썬은 문자열로 입력을 받아온다
input_value = input("Message")
print("input_value:", input_value,"\\ntype",type(input_value))
#print(int(input_value)) #문자열타입으로 받은 소수를 int로 변경하는 것은 안된다.
#그래서 float로 변환 후 int로 변환하는 과정이 필요하다
input_value= float(input_value)
print(int(input_value))
#마찬가지로 문자열 입력 시 int형으로 변환은 안된다.
place = input("경기장은 어디입니까?")
winner = input("이긴 팀은 어디입니까?")
loser =input("진팀은 어디입니까?")
best_player =input("우수 선수는 누구입니까?")
score = input("스코어는 몇대몇입니까?")
news='''
[속보] {1}가 {4} 로 승리...
오늘 {0} 경기장에서 야구 경기가 있었습니다.
{1}와 {2}는 치열한 공방전을 펼쳤습니다.
이 경기에서 {3}가 맹활약을 했습니다.
그 끝내 {1}가 {2}를 {4} 로 승리하였습니다.
기사 끝
'''.format(place,winner,loser,best_player,score)
print(news)
mandarin_price, apple_price = 200,1000
apple_count,mandarin_count = map(int,input("사과와 귤을 몇개 드릴까요.").split(","))
print("총 가격은 {}원입니다.".format(apple_count*apple_price+mandarin_count*mandarin_price))
객체 주소값(타입)을 비교할 땐 is 키워드
- 좌 우 객체를 비교하여 동일한 객체라면 True, 다르다면 False를 반환
흐름제어 if문
- if
- elif
- else
- pass를 통해 아무 행위도 하지 않고, 문법의 조건만 맞춰줄 수 있다.
if type(123) is int:
print(type(123) is int)
print("123는 정수입니다")
if type(123):
pass # pass는 아무 행위도 하지 않는다. 코드에 오류만 발생하지 않도록 만드는 역할
#pass를 사용하고, 나중에 코딩하겠다는 주석을 달아두면 보는 사람입장에서 좋을것이다.
'파이썬 > 파이썬 이론' 카테고리의 다른 글
6. Python_Basic - 5 (0) | 2023.04.13 |
---|---|
5. Python_Basic - 4 (0) | 2023.04.13 |
4.Python_Basic - 3 (0) | 2023.04.13 |
3.Python_Basic - 2 (0) | 2023.04.13 |
1.Python_Start (0) | 2023.04.13 |