Python-1

윤기나는코딩·2022년 11월 14일
0

Python

목록 보기
2/16

1. 변수 선언

var1= '안녕'
print(var1)
var1=5
print(var1)

A=1; a=2; # 변수는 대소문자 구별함
print('A+a',A + a, id(A), id(a))
# A+a 3 2039314475312 2039314475344

변수 선언시 type은 선언하지 않는다.

2. 값의 주소비교

print()
a=10
b=12.5
c=b 
print(a, '', b, '', c)
# 10  12.5  12.5

print('주소출력 :', id(a), '', id(b),'', id(c))
# 주소출력 : 2039314475600  2039324178608  2039324178608
# b와 c 는 같은 주소를 가지고 있다. 절대 주소는 아니다.

print(a is b, a==b) # False False - 주소 비교, 값 비교
print(c is b, c==b) # True True - is는 결과를 true, false로 답한다.

aa = [1000]
bb = [1000]
print(aa == bb, aa is bb) # True False
print(id(aa), '' , id(bb))
# 2039324349312  2039324347328
# aa 와 bb의 값이 같지만 주소는 같지 않다.

3. 주석 표기

# 한줄 주석
'''
여러줄 주석
''' 
"""
여러줄 주석
""" 

4. keyword

import keyword
# 키워드(Keyword)는 파이썬에서 이미 예약되어있는 문자열로 다른 용도로 사용이 불가능하여 변수로 설정 안된다 오류난다.
print('키워드(예약어)목록 : ', keyword.kwlist)
# 키워드의 리스트 목록

5. 자료형

print(3, type(3)) # int(정수) 타입
print(3.4, type(3.4)) # float(실수) 타입
print(3 + 4j, type(3+4j)) # complex(복소수) 타입
print(True, type(True)) # boolean 타입
print("good", type('good')) # string 타입

print((1,), type((1,)))# (1,) 튜플 타입
print([1], type([1])) # [1] 리스트
print({1}, type({1})) # {1} set 타입
print({'k':1}, type({'k':1})) # {'k': 1} 딕셔너리

print(isinstance(1, int)) #type을 확인하는 연산자. True
print(isinstance(1.2, float))
# True

6. 치환

v1=2 #치환
v1=v2=v3=v4=5
print(v1,v2,v3,v4) # 5 5 5 5

v1=1,2,3
print(v1) # (1, 2, 3)

v1,v2=10,20
print(v1,v2) # 10 20
v2,v1=v1,v2
print(v1, v2) # 20 10

7. 값 할당 packing

*v1,v2 = 1,2,3,4,5
v1,*v2 = 1,2,3,4,5
#*v1,*v2 = 1,2,3,4,5 - 에러가 발생한다.
print(v1) # 1
print(v2) # [2, 3, 4, 5]

*v1,v2,v3=1,2,3,4,5
print(v1,v2,v3) # [1, 2, 3] 4 5

packing은 여러개의 변수를 하나에 담는것이다.

8. 연산자

print(5+3,5-3,5*3,5/3) # 8 2 15 1.6666666666666667
print(5 // 3, 5%3, divmod(5,3)) # 몫 과 나누기 1 2 (1, 2)

연산자 우선순위

print('연산자 우선순위', 3+4*5, (3+4)*5) # 23 35
# 소괄호 () > 산술 연산자(**거듭제곱 > *,/ > +, -) > 관리연산자 > 논리연산자 > 치환(=)

관계연산자(== 값이 같은지, != 값이 다른지)

print(5>3, 5==3, 5 != 3)
# True False True

논리연산자

  • and : 모두 true어야 true반환
  • or : 둘 중 하나만 true여도 true 반환
  • not : 반대로 해석, 만약 a가 true면 false, b가 false면 true를 반환
print(5>3 and 4<3, 5>3 or 4<3, not(5>=3))
# False True False

# 문자열 더하기 연산자
print('파이썬'+'만'+'세') # 파이썬만세
print('파이썬'*10)
# 파이썬파이썬파이썬파이썬파이썬파이썬파이썬파이썬파이썬파이썬

# 누적
a=10
a= a+1
a += 1
#a++ 파이썬은 증감연산자 없다.
print('a:', a) # a: 12

print(a, a* -1, -a, --a)
# 12 -12 -12 12

9. 출력 서식

print(format(123.45678, '10.3f')) #전체 10자리 확보하고 앞에 3자리 공백, 4번째 자리에서 반올림 하기
#   123.457
print(format(123.45678, '10.3'))
#  1.23e+02
print(format(123, '10d')) 
#       123
print ('{0:.3f}'.format(1.0/3)) # 소수 세번째자리 까지
#0.333
print ('{0:_^11}'.format('hello'))
# ___hello___
print ('{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python'))
# Swaroop wrote A Byte of Python

많이 사용하는것

print('이름:{0}, 가격:{1}'.format('마우스', 5000))
# 이름:마우스, 가격:5000
print('이름:{0}, 가격:{1}'.format('마우스', 5000))
# 인덱스를 쓰지않아도 순서대로 들어옴, 이름:마우스, 가격:5000
print('이름:{1}, 가격:{0}'.format('마우스', 5000))
# 이름:5000, 가격:마우스
print('이름:{1}, 가격:{0}, 가격:{0} '.format('마우스', 5000))
# 이름:5000, 가격:마우스, 가격:마우스

print('나는 나이가 %d 이다.'%28) 
# 나는 나이가 28 이다.
print('나는 나이가 %s 이다.'%'스물여덟')# 문자
# 나는 나이가 스물여덟 이다.
print('나는 나이가 %d 이고 이름은 %s이다.'%(23, '홍길동'))
# 나는 나이가 23 이고 이름은 홍길동이다.
print('나는 나이가 %s 이고 이름은 %s이다.'%(23, '홍길동'))
# 나는 나이가 23 이고 이름은 홍길동이다.
print('나는 키가 %f이고, 에너지가 %d%%.'%(177.7, 100)) 
#실수 ,%f - 소수6자리 정해짐.
#나는 키가 177.700000이고, 에너지가 100%.
  • %s : 문자열 치환, 그러나 어떤 자료도 다 치환된다.
  • %d : 정수 치환
  • %f : 소수점 치환, 소수점 6자리까지 정해진다.
  • %10(s,d,f) : 왼쪽으로부터 공백 10자리
  • %-10(s,d,f) : 오른쪽으로부터 공백 10자리
  • %% : % 표시

print('aa\tbb') # \t - tab키
# aa	bb
print(r'aa\tbb')# 앞에 raw string(r)을 선행하면 이스케이프(\) 기능 해제 
# aa\tbb

print("c:\aa\abc\nbc.txt")
print(r"c:\aa\abc\nbc.txt")# 앞에 raw string(r)을 선행하면 이스케이프(\) 기능 해제 
# bc.txt

print('aa', end=', ') 
# print 는 기본적으로 라인스킵이 있다. end='' 를 사용하면 라인스킵이 안됨.
print('bb')
# aa, bb
profile
꾸준히 정리해서 공부한것을 올려보자!

0개의 댓글