Python Basic 01.Basic

step01_variable

 1 '''
 2 변수(variable)
 3  - 자료(data)를 임시(휘발성) 저장하는 역할 
 4  - 실제 자료가 아닌 자료의 주소를 저장한다.(참조변수)
 5 '''
 6 
 7 # 1. 변수와 자료 
 8 print('변수와 자료') # 콘솔 출력 
 9 var1 = "hello python" # or 'hello python'
10 print(var1) # 변수 내용 출력 
11 
12 print(type(var1)) # 자료형 확인 - <class 'str'>
13 
14 # 변수명 = 자료
15 var1 = 150 # 문자열 -> 숫자 
16 print(var1) # 150
17 print(type(var1)) # <class 'int'>
18 
19 '''
20 python 변수 특징 
21  - 자료를 저장하는 역할 
22  - 가장 최근 내용 저장 
23  - 자료형에 따라서 type 결정
24 '''
25 
26 # 2. 변수명 작성 규칙
27 '''
28  - 첫단어 영문자, 두번째[숫자, 특수문자(_)]
29  - 대문자, 소문자 구분(Num != num) 
30  - 숫자, 명령어(키워드) 사용불가(한글 비권장) 
31  - 낙타체 : 두 개이상 단어 조합
32     ex) korScore = 90
33 ''' 
34 
35 Num = 10; num = 100
36 print(Num); print(num)
37 
38 num_10 = 10
39 print(num_10)
40 
41 korScore = 90
42 matScore = 85
43 engScore = 75
44 
45 totScore = korScore + matScore + engScore
46 print('총점 :', totScore) # 총점 : 250
47 
48 # python 명령어 보기 
49 import keyword # 모듈 추가 
50 
51 print('키워드 :', keyword.kwlist)
52 # 키워드 : ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
53 print('키워드 수 =', len(keyword.kwlist))
54 # 키워드 수 = 33
55 
56 
57 # 3. 참조변수 : 메모리 주소를 갖는 변수 
58 a = 250
59 b = 35.12
60 c = b
61 d = 250
62 
63 print(a, b, c, d) # 내용 출력 
64 print(id(a), id(b), id(c), id(d)) # 주소 출력
65 '''
66 250 35.12 35.12 250
67 1742766080 1511904 1511904 1742766080
68 '''
69 
70 # 변수 내용 출력 
71 print('a=', a) # a= 250
72 print('b=', b) # b= 35.12
73 
74 # 변수 : 값이 저장된 주소 저장(참조변수)
75 # 변수 주소 출력 
76 print(id(a)) # 1742766080
77 print(id(250)) # 1742766080
78  
79 print(id(b)) # 30282208
80 print(id(35.12)) # 30282208
81 
82 # 내용 비교 
83 print(a == 250) # True
84 
85 # 주소 비교 
86 print(a is 250) # True

step02_operator

  1 '''
  2 연산자(operator)
  3  1. 변수에 값 할당(대입연산자 =)
  4  2. print 출력 양식
  5  3. 산술,관계,논리 연산자
  6  4. 키보드 입력과 형변환 
  7 '''
  8 
  9 # 1. 변수에 값 할당(대입연산자 =)
 10 v1 = v2 = v3 = 100
 11 print(v1, v2, v3) # 100 100 100
 12 
 13 # 같은 줄에 중복 출력 
 14 print('출력1', end = ', ') # 출력1, 출력2
 15 print('출력2')
 16 
 17 v1, v2 = 100, 200
 18 print(v1, v2)
 19 
 20 # 패킹(packing) 할당 
 21 v1, *v2 = [1,2,3,4]
 22 print(v1, v2) # 1 [2, 3, 4]
 23 
 24 *v1, v2 = [1,2,3,4]
 25 print(v1, v2) # [1, 2, 3] 4
 26 
 27 
 28 # 2. print 출력 양식
 29 
 30 # 1) format(value, 양식)
 31 print('원주율=',format(3.14159, '8.3f'))#원주율=    3.142
 32 '''
 33 '8.3f' : 전체8자리에서 소숫점 3자리 표현 
 34 '''
 35 print(format(123456, '3,d'))#123,456
 36 
 37 #help(format)
 38 
 39 # 2) 양식문자와 값 표현 
 40 # print('%양식문자'%값)
 41 num1 = 10
 42 num2 = 20
 43 add = num1 + num2
 44 print('%d + %d = %d'%(num1,num2,add)) #10 + 20 = 30
 45 
 46 name = "홍길동"
 47 age = 35
 48 
 49 print('이름은 %s이고, 나이는 %d 입니다.'%(name, age))
 50 # 이름은 홍길동이고, 나이는 35 입니다.
 51 
 52 pi = 3.14159
 53 print('원주율 = %.3f'%pi) # 원주율 = 3.142
 54 
 55 
 56 # 3) 외부 상수 받기
 57 print('이름은 {}이고, 나이는 {}입니다.'.format('홍길동', 35))
 58 # 이름은 홍길동이고, 나이는 35입니다.
 59 print('이름은 {1}이고, 나이는 {0}입니다.'.format(35,'홍길동'))
 60 
 61 
 62 # 3. 산술,관계,논리 연산자
 63 
 64 # 산술연산자
 65 print('산술 연산자 : ', 10+3, 10-3, 10*3, 10/3, 10//3, 10%3, 10**3) 
 66 # 산술 연산자 : 13 7 30 3.3333333333333335 3 1 1000
 67 
 68 # 2차 함수 : y = 2.5 + x**2 + 3.3 + x + 6
 69 x = 2
 70 y = 2.5 + x**2 + 3.3 + x + 6
 71 print('y=', y) # y= 17.8
 72 
 73 # 관계연산자 
 74 print('관계연산자 : ', 5 > 3, 5 >= 2, 5 != 4, 5 == 4)
 75 # 관계연산자 :  True True True False
 76 
 77 # 논리연산자
 78 print('논리연산자 : ', 5>4 and 5!=4, 5<4 or 5>=3, not(5<=2))
 79 # 논리연산자 :  True True True
 80 
 81 # 카운터변수/누적변수 
 82 cnt = tot = 0 # 카운터, 누적 초기화 
 83 cnt = cnt + 1 # 카운터 변수 
 84 tot = tot + cnt # 누적변수 
 85 cnt += 1 # 카운터 변수(권장) 
 86 tot += cnt # 누적변수
 87 print('cnt=', cnt) # cnt= 2
 88 print('tot=', tot) # tot= 3
 89 
 90 # 4. 키보드 입력과 형변환
 91 
 92 # 1) 키보드 입력 
 93 a = int(input("숫자 입력 : ")) # 숫자(문자) -> 숫자(정수) 변환 
 94 #print(type(a)) # <class 'int'>
 95 b = float(input("숫자 입력 : ")) # 문자 -> 숫자(실수) 변환 
 96 print('%d + %.3f = %.3f'%(a, b, a+b)) # 30.5
 97 print('%d + %.3f = %.3f'%(a, b, a*b)) 
 98 
 99 # 2) 형변환 
100 #True=> 1, False => 0
101 print(int(True)) # 1
102 print(int(False)) # 0

step03_type_string

  1 '''
  2 자료형과 문자열 처리 
  3  1. 자료형(data type)
  4  2. 문자열(string) 처리
  5  3. escape 처리
  6 '''
  7   
  8 # 1. 자료형(data type)
  9 print(10, type(10)) # 10 <class 'int'>
 10 '''
 11 저장 : Ctrl+S
 12 실행 : Ctrl+F11
 13 '''
 14 print(12.1542, type(12.1542)) # 12.1542 <class 'float'>
 15 
 16 print(True, type(False)) # True <class 'bool'>
 17 
 18 a = 10; b = 5
 19 print(a > b, type(a > b)) # True <class 'bool'>
 20 
 21 string = "대한민국" # or '대한민국'
 22 print(string, type(string)) # 대한민국 <class 'str'>
 23 
 24 num_str = '1234'
 25 print(num_str * 2) # 12341234
 26 
 27 num = int(num_str) # 문자열 -> 정수
 28 print(num * 2) # 2468 
 29 
 30 # 진법변환(10진수 -> 2,8,16진수)
 31 print(10, bin(10), oct(10), hex(10))
 32 # 10 0b1010 0o12 0xa
 33 
 34 # 진법변환(2,8,16진수 -> 10진수)
 35 print(10, 0b1010, 0o12, 0xa)
 36 # 10 10 10 10
 37 
 38 
 39 # 2. 문자열(string) 처리
 40 '''
 41  문자열 객체 처리 
 42   - 문자열(string) : 문자들의 집합
 43   - 문자 분리 기능 : 순서 존재
 44   - indexing/slicing 가능 
 45 '''
 46 
 47 # 1) 문자열 연산(+, *)
 48 st1 = "대한민국"
 49 st2 = "우리나라"
 50 
 51 st3 = "="
 52 print(st3*20) # 반복 
 53 print(st1 + " " + st2) # 결합 : 대한민국 우리나라
 54 print(st3*20) # 반복 
 55 '''
 56 ====================
 57 대한민국 우리나라
 58 ====================
 59 '''
 60 
 61 # 2) 한줄, 여러줄 문자열 
 62 string = "우리나라 대한민국"
 63 multi_line ="""우리나라
 64 대한민국
 65 나는 홍길동 입니다."""
 66 print(string)
 67 print(multi_line)
 68 '''
 69 우리나라
 70 대한민국
 71 나는 홍길동 입니다.
 72 '''
 73 sql='''create table test(
 74 id int,
 75 su int,
 76 dan int)'''
 77 print(sql)
 78 
 79 
 80 # 3) 문자열 처리 함수(내장함수)
 81 st = "우리나라 대한민국 나의 조국은 대한민국 입니다."
 82 print(st, type(st)) # <class 'str'>
 83 
 84 # 문자열 길이 
 85 size = len(st)
 86 print('st 길이 : ', size) # st 길이 :  26
 87 
 88 # 특정 문자 길이 
 89 print('국 문자 수 :', st.count('')) # 국 문자 수 : 3
 90 
 91 # 접두어 - T/F
 92 print(st.startswith('우리')) # True
 93 print(st.startswith('일본')) # False
 94 
 95 # 문자열 분리(split)와 결합(join)
 96 st2 = "나는 홍길동 입니다. 나이는 35세이고, 주소는 서울 입니다."
 97 
 98 # 1) 문자열 분리
 99 
100 # 문단 -> 문장 
101 st3 = st2.split(sep='.', maxsplit=2)
102 print('st3 문장 : ', st3)
103 # st3 문장 :  ['나는 홍길동 입니다', ' 나이는 35세이고, 주소는 서울 입니다', '']
104 print(len(st3)) # 3
105 
106 # 문단 -> 단어(공백)
107 st4 = st2.split(' ') # sep=''
108 print('st4 단어 : ', st4)
109 # st4 단어 :  ['나는', '홍길동', '입니다.', '나이는', '35세이고,', '주소는', '서울', '입니다.']
110 print('st4 단어 길이 :', len(st4)) # st4 단어 길이 : 8
111 '''
112 형태소 분석 : 문장 성분 분석(명사, 수사, 조사 등)
113 '''
114 
115 # 2) 문자열 결합 
116 # 형식) '구분자'.join(str)
117 st5 = ','.join(st4)
118 print('st5 결합 : ', st5)
119 # st5 결합 :  나는홍길동,입니다.,나이는,35세이고,,주소는,서울,입니다.
120 print(len(st5)) # 34
121 
122 
123 print(multi_line)
124 '''
125 우리나라
126 대한민국
127 나는 홍길동 입니다.
128 '''
129 
130 doc = multi_line.split('\n') # sep='\n'
131 print(doc)
132 # ['우리나라', '대한민국', '나는 홍길동 입니다.']
133 print('문장 수 :', len(doc)) # 문장 수 : 3
134 
135 
136 # indexing/slicing
137 name = "강호동"
138 
139 # 색인 : object[n]
140 print(name[0]) # 성 - 강 
141 print(name[1:]) # 이름 - 호동
142 print(name[1:3]) # [시작:종료전] - 호동
143 print(name[:3]) # [~:종료전] - 강호동
144 print(name[0:]) # [시작:~] - 강호동
145 
146 # [-n] : 오른쪽 기준 
147 print(name[-1]) #
148 print(name[-2:]) # 호동
149 
150 
151 # 3. escape 처리
152 '''
153 escape : 탈출하다, 기능 차단
154 특수기능 : '', "", \n(엔터), \t(탭)
155 '''
156 print('나는 \n 홍길동 \t 입니다.')
157 '''
158 나는 
159  홍길동      입니다.
160 '''
161 
162 # 경로 표현 : c:\Python\test\test.txt
163 print('path = ', 'c:\Python\test\test.txt')
164 # path =  c:\Python    est    est.txt
165 
166 # escape 처리 방법1(r) 
167 print('path = ', r'c:\Python\test\test.txt')
168 # path =  c:\Python\test\test.txt
169 
170 # escape 처리 방법2(\)
171 print('path = ', 'c:\\Python\\test\\test.txt')
172 # path =  c:\Python\test\test.txt
173 
174 # 문) c:\'aa'\"abc.txt" 출력 하시오.(방법2) 

猜你喜欢

转载自www.cnblogs.com/kingboy100/p/10375550.html