파이썬은 모든 변수가 객체 이다. 그 객체에 들어가는 값에 따라 type이 변하는것 같다.
변수에 숫자를 넣으면 숫자 객체가 되고, 변수에 문자를 넣으면 문자 객체가 되고, 변수에 리스트를 넣으면 리스트 객체가 된다.
my_int = 7
print(type(my_int))
my_float = 1.23
print(type(my_float))
my_int = 100 + 999999999999999999999999999999999999999999999999
print('my_int = ' + str(my_int))
출력값은
<class 'int'>
<class 'float'>
my_int = 1000000000000000000000000000000000000000000000099
type()함수는 변수의 형(클래스)가 무엇인지 확인 할 수 있다.
즉 my_int는 int형 객체가 되었고, my_int는 int형 클래스에서 생성된 객체라고 생각하면 될것 같다.
my_float는 float형 객체가 되었고,
파이썬에서 int형은 long형까지 포함한다고 생각하면 된다. 아주 큰 자리수의 숫자를 가질 수 있다. 100자리의 자리수도 가능하다.
a1 = 'aaa'
a2 = 'bbb'
a3 = a1 + a2
print(a3)
print(type(a3))
출력값은
aaabbb
<class 'str'>
greeting = 'HELLO WORLD!'
print(greeting[0],'\t',greeting[1],'\t',greeting[2],'\t',greeting[3],'\t',greeting[4]) # H E L L O
print(greeting[0:5]) # HELLO
print(greeting[:5]) # HELLO
print(greeting[6:]) # WORLD!
print(greeting[-3:]) # LD!
print(greeting[6:-3]) # WOR
print(len(greeting)) # 문자열 길이 12
print('Input your age !!')
your_age = input() # 입력 대기
print('Your age is ', your_age)
문자열을 원하는 위치에서 자를 수 있다.
greeting[0:5] 는 문자열의 0번째 자리수부터 5번째 자리수 앞까지를 가리킨다. (5번째 자리수는 포함하지 않는다.) (문자열은 0번째 자리부터 시작한다.)
문자열을 입력받기 위해서는 input() 을 이용하면 된다.
# 문자열 나누기 : split()
portal_site = 'naver daum nate'
mylist = portal_site.split(' ')
print(mylist) # ['naver', 'daum', 'nate']
print(mylist[0]) # naver
city_list = ['Seoul', 'Busan', 'Jeju', 'kimpo']
city_string = ', '.join(city_list)
print(city_string)
print('Hello' in 'Hello World') # True
print('대문자로 변환', 'Hello World'.upper()) # 대문자로
print('소문자로 변환','Hello World'.lower()) # 소문자로
출력값은
['naver', 'daum', 'nate']
naver
Seoul, Busan, Jeju, kimpo
True
대문자로 변환 HELLO WORLD
소문자로 변환 hello world
@ 문자열 관련 함수
- len : 문자길이, len(mystr)
- split : 구분자로 문자열 분리, 리턴값이 리스트, mystr.split(' ')
- join : 문자열로 결합, 리스트에 있는 값들을 결합해서 하나의 스트링으로, aaa = ', '.join(my_list)
- in, not in : 멤버십 연산자, return값은 True 나 False
- upper : 대문자로, mystr.upper()
- lower() : 소문자로, mystr.lower()
- isupper() : 대문자인지 확인, mystr.isupper(), return값은 True 나 False
- islower() : 소문자인지 확인, mystr.islower(), return값은 True 나 False
- isX 문자열 함수
isalpha() : 문자열로만 구성시 True
isalnum() : 문자 또는 숫자로만 구성시 True, 문자만 있어도 True, 숫자만 있어도 True, 문자와 숫자 있어도 True
isdecimal() : 숫자로만 구성시 True, 주어진 문자열이 int형으로 변환이 가능한지 알아내는 함수
isnumeric() : 숫자로만 구성시 True, 숫자값 표현에 해당하는 문자열까지 인정한다. 제곱근 및 분수, 거듭제곱 특수문자도 True
isspace() : 공백으로만 구성시 True
istitle() : 문장내 모든 단어가 대문자로 시작되면 True, This Is Title Calse : True, This Is NOT Title Calse : False, This is Title Calse : False, This Is Title Calse 123 : True
- startswith() : 특정문자열로 시작되면 True, 'Hello world'.startswith('Hello') : True
- endswith() : 특정문자열로 끝나면 True, 'Hello world'.endswith('world') : True
@ 문자열 포매팅
- 데이터 값을 문자열에 끼워 넣는(interpolate) 방법을 제공
- 파이썬2 버전
엣 스타일 : %
'my home is %s gu %s dong %s bunji' % (gu, dong, bunji)
%s : 문자열, %d : 정수, %f : 실수
- 파이썬3 버전
새로운 스타일 : {}와 format
'{} {} {}'.format(gu, dong, bunji)
'{2} {0} {1}'.format(gu, dong, bunji)
'{a} {b} {c}'.format(a=gu, b=dong, c=bunji)
d = {'gu':'aaa', 'dong':'bbb', 'bunji':'ccc'}
'{0[gu]} {0[dong]} {0[bunji]}'.format(d)
- 더 새로운 버전
f'{gu} {dong} {bunji}'
gu='seocho'
dong='yangjae'
bunji=123
a = '{} {} {}'.format(gu, dong, bunji)
b= '{2} {0} {1}'.format(gu, dong, bunji)
c = '{gu1} {dong1} {bunji1}'.format(gu1=gu, dong1=dong, bunji1=bunji)
mydict = {'gu' : 'seocho', 'dong' : 'yangjae', 'bunji' : 123}
d= '{0[gu]} {0[dong]} {0[bunji]}'.format(mydict)
e= f'{gu} {dong} {bunji}'
print(a) # seocho yangjae 123
print(b) # 123 seocho yangjae
print(c) # seocho yangjae 123
print(d) # seocho yangjae 123
print(e) # seocho yangjae 123
if 문으로 값을 비교할때 어떤값이 False인지 기억할 필요가 있다.
@ False인 값들
- None
- 0
- 0.0
- '' ==> 빈 문자열
- [] ==> 빈 리스트
- () ==> 빈 튜플
- {} ==> 빈 딕셔너리
소스 링크
https://replit.com/@dhshin38/Tutorial-Python#num_char.py
'Python' 카테고리의 다른 글
Python 정규식 (0) | 2022.01.15 |
---|---|
Python list, tuple, dictionary, 리스트, 튜플, 딕셔너리 (0) | 2022.01.15 |
Python 날짜, 스케쥴, process (0) | 2022.01.15 |
Python 특징 (0) | 2022.01.15 |
Python 개발 환경 (0) | 2022.01.15 |