IT_developers

Python 개념 및 실습 - escape, 변수 본문

Python

Python 개념 및 실습 - escape, 변수

developers developing 2022. 9. 2. 09:00

1) escape.py

이스케이프 문자 : \로 시작하는 문자들 

  • \t : tab, \n : enter,  \ : \

파이썬은 쌍따옴표, 홑따옴표 사용이 가능함.
문자열에 표기하고 싶으면 "  '  " => '호출
반대도 가능
쌍따옴표 안에 쌍따옴표를 표시하고 싶다면 사용  

print("안녕하세요파이썬 연습중입니다.")
print("안녕하세요\n파이썬 연습중입니다.")
print("안녕하세요\\파이썬 연습중입니다.")
 
print("Python's favorite food is perl")
print('"Python" is favorite food is perl')
print('Python\'s favorite food is perl')
print("\"Python\" is favorite food is perl")

 

2) variable1.py

변수
  • 타입이 없음(값을 할당하면 타입이 생김)
  •  str, int, float, bool
#숫자형 - 정수, 실수, 8진수, 16진수...
a = 13
a= -7
a = 0
a = 1.2
a = 0o177 # 8진수
a = 0x8fff # 16진수

#사칙연산
# a = 3
# b = 4
a, b = 3, 4 # 변수를 연속으로 선언할 수 있음. 순서맞춰서 
print(a + b)
print(a / b) # 0.75 정수 나눗셈이 아님. 실수 나눗셈 소수점 다 구해줌
print(a // b) # 0  정수 나눗셈
print(a % b) # 3 나머지
print(a ** b) # 81==>  3*3*3*3 제곱승

3) variable2.py

 
#문자형 - "" , '' 둘다 허용
str1 = "Life is too short, You need Python"
str2 = 'Life is too short, You need Python'
str3 = """
Life is too short, You need Python
"""
str4 = '''
Life is too short, You need Python
'''
str5 = "Python's favorite food"
print(str1)
print(str2)
print(str3)
print(str4)
 
# 문자열 연산
head = "Python"
tail = " is fun"
print(head + tail) # + : 문자열 연결
 
# * : 반복
a = "python"
print(a * 2)
print("*"*50)
print("My Program")
print("*"*50)
 
# 문자열 인덱싱
str1 = "Life is too short"
print("str1[3]", str1[3]) # 왼쪽을 기준으로 0 : e
print("str1[-3]", str1[-3]) # 오른쪽을 기준으로 -1 : o
 
 
#범위지정 가능
print("str1[0:4]",str1[0:4]) # 마지막 숫자 범위는 포함 안함
print("str1[4:8]",str1[4:8]) # 공백 포함
print("str1[9:]",str1[9:]) # 9번부터 시작해서 끝까지
print("str1[:17]",str1[:17]) 
print("str1[0:-4]",str1[0:-4]) 
 
 
#실습
str2 = "20220520Sunny"
#date 변수에 날짜만 담기
date = str2[0:8]
print(date)
#weather 변수에 날씨만 담기
weather = str2[8:]
print(weather)
#date 변수에 있는 값을 2022-05-20 출력
year = date[0:4]
month = date[4:6]
day = date[6:]
print(year,month,day, sep="-")
#date, weather 출력 2022-05-20 Sunny출력
print(year,month,day, sep="-", end=" ")
print(weather)
 
# 문자열 관련 함수들
# len() : 문자열 길이 
print("문자열 길이", len(str1))
 
# count() : 포함된 문자 세기
print("문자열에 포함된 특정 문자의 수", str1.count('t'))
print("문자열에 포함된 특정 문자의 수 : %d" % str1.count('t'))
print("문자열에 포함된 특정 문자의 수 : {}".format(str1.count('t')))
 
#find()
print("특정 문자가 시작되는 첫번째 위치 반환", str1.find("i"))
print("특정 문자가 시작되는 첫번째 위치 반환", str1.find("k"))
print("특정 문자가 시작되는 첫번째 위치 반환", str1.find("i",4))
 
# index() : 찾는 문자열이 없다면 에러 발생
print("특정 문자가 시작되는 첫번째 위치 반환", str1.index("i"))
# 에러가 나면 그 뒤부터는 실행이 안되기 때문에 막아야함.
# print("특정 문자가 시작되는 첫번째 위치 반환", str1.index("k")) # ValueError: substring not found
print()
 
 
 
#startswith() : ~시작하는 문자. boolean 타입, 대소문자 구분
print(str1.startswith("L")) #True
print(str1.startswith("l")) #False
 
# endswith() : ~ 끝나는 문자
print(str1.endswith("t")) #True
print(str1.endswith("T")) #False
 
# join() : 삽입
a = ","
print(a.join("abcde"))
 
# upper / lower : 대소문자 변경
a = "abcde"
print("소문자를 대문자로 변경", a.upper())
a = "ABCDE"
print("대문자를 소문자로 변경", a.lower())
 
# swapcase() : 대소문자를 상호 변환
a = "Python is Easy"
print(a.swapcase())
 
# title() : 첫글자만 대문자
print("python Is Easy".title())
print("abc"=="ABC")
 
# 공백제거 : strip(), lstrip(), rstrip()
a = "        hi        "
print(a.lstrip()) # 왼쪽 공백 제거
print(a.strip()) # 양쪽 공백 제거
print(a.rstrip()) # 오른쪽 공백 제거
 
# replace() : 문자열 바꾸기
print(str1.replace("Life", "Your leg"))
 
 
 
# split() : 문자열 나누기. 리스트 구조로 리턴(자바에선 배열). default:공백을 기준으로 나눠줌
print(str1.split()) #['Life', 'is', 'too', 'short']
a = "a:b:c:d"
print(a.split(":")) #['a', 'b', 'c', 'd'] : 콜론을 기준으로
 
# splitlines() : 줄바꿈(엔터)을 기준으로 나누기
print(str1.splitlines())
a = "하나\nn셋"
print(a.splitlines()) # ['하나', '둘', '셋']
 
# 문자열 구성 파악
print("1234".isdecimal())
print('abcd'.isalpha())
print('abc123'.isalnum())
print("abcd".islower())
print("ABCD".isupper())

 

# 실습 : 암호 생성
# 규칙1 : http:// 부분은 제외 => naver.com
# 규칙2 : 처음 만나는 . 이후 부분은 제외 =>naver
# 규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 e 문자 개수 + ! 로 구성 => nav51!
# 결과 : nav51!
url = url.replace("http://","") # 규칙1
print(url)
url = url[:url.find(".")] # 규칙2 0:5
print(url)
e_cnt = url.count("e") # 글자 내 e 문자 개수
 
# 타입에러 url[:3] => 문자, len(url)=> 숫자, e_cnt=> 숫자, ! => 문자
# 문자 + 숫자 : 연결 되지 않고 에러 발생
#password = url[:3] + len(url)+ e_cnt+"!" #규칙 3 => TypeError: can only concatenate str (not "int") to str
# 문자 + str(숫자) : 연결
password = url[:3] + str(len(url))+ str(e_cnt)+"!"  # 규칙3  str(숫자) => 문자로 인식
print(password)

 

3) variable3.py

# type() : 변수 타입 확인
a = 3.5
print(type(a)) #<class 'float'>
b = True #대문자로 사용해야함.
print(type(b)) #<class 'bool'>
c = 123
print(type(c)) #<class 'int'>
d = "123"
print(type(d)) #<class 'str'>
 
 
# 타입형변환 : str(), int(), float(), bool()
#str()
print(str(True), type(str(True))) # "True"
print(str(1), type(str(1))) #"1"
print(str(98.6), type(str(98.6))) #"98.6"
 
# int() : 정수 타입 변환
print(int(True), type(int(True))) # 1
print(int("1"), type(int("1"))) # 1
print(int(98.6), type(int(98.6))) # 98
#print(int("98.6"), type(int("98.6"))) # ValueError: invalid literal for int() with base 10: '98.6'
print(int(True), type(int(True))) # 1
print(int(False), type(int(False))) # 0
 
 
 

 

#Float()
print(float(True), type(float(True))) # 1.0
print(float(False), type(float(False))) # 0.0
print(float("1"), type(float("1"))) # 1.0
print(float(98), type(float(98))) # 98.0
print()

#bool()
print(bool("True"), type(bool("True"))) # True
print(bool("False"), type(bool("False"))) # True
print(bool("1.0"), type(bool("1.0"))) # True
print(bool(98), type(bool(98))) # True
print(bool(1), type(bool(1))) # True
print(bool(0), type(bool(0))) # False
print(bool(1.0), type(bool(1.0))) # True
print(bool(96.5), type(bool(96.5))) # True
 


 

'Python' 카테고리의 다른 글

Python 개념 및 실습 - while  (0) 2022.09.03
Python 개념 및 실습 - input  (0) 2022.09.03
Python 개념 및 실습 - 연산자  (0) 2022.09.02
Python 개념 및 실습 - print(), format()  (0) 2022.09.01
Python 시작하기  (0) 2022.09.01
Comments