1.python 특징과 설치
객체 지향언어
대화기능의 인터프리터 언어
동적인 데이터 타입 결정 지원
플랫폼에 독립적
개발 기간 단축에 초점을 둔 언어
간단하고 쉬운 문법
고 수준의 내장 객체 데이터형 제공
메모리 자동 관리(RC)
무료
시스템 관리(스크립팅)-상당히 많은 분야에 사용됨
GUI(pyhQT)
인터넷 프로그래밍
DB 프로그래밍
각종 텍스트 프로세싱
분산처리
수치연산, 그래픽스
2. 데이타 타입
-명명규칙
[_a-zA-Z0-9]*,한글
변수명의예:a,a1,my_name,your_job
잘못된 변수명 : 1abc,@abc,%x
# 주석
-데이터타입
정수
a=10
실수
a=3.14
복소수
a=3+j4
print(a)
print(type(a))
print(a.img)
print(a.real)
print(a.conjugate())
#객체: 속성+메소드
객체.속성
객체.메소드
-문자열 데이터타입
문자열
str
순서있는 데이터 타입
immutable 데이터 타입
#복합(시퀀스) 여러개의 데이터
#순서있는 데이터 타입(인덱스, 슬라이싱)
#[시작:끝:증가치]
#+,*,%
a=10
b=3.14
s='abc'
s1='a=%d b=%f s=%s'%(a, b,s)
s1='abcdefghi'
print(s1[0:4:1])
print(s1[1:4])
print(s1[:5:2])
print(s1[1:])
print(s1[-1:-4:-1])
s = b'abc'
print(s)
print(type(s))
b'abc'
class 'bytes'
s1 = 'abc'
s1 = s1.encode('utf-8')
print(s1)
print(type(s1))
'abc'
class 'bytes'
5강. 시퀀스 데이타타입
순서있는 데이터 타입(인덱스,슬라이싱)
리스트,튜플,문자열,바이트
순서없는 데이터 타입(인덱스,슬라이싱 X)
세트,딕셔너리
변경가능한(mutable) 데이터타입
리스트,딕셔너리,세트
변경불가능한(immutable) 데이터타입
튜플,문자열,바이트
튜플 타입
-오브젝트의 리스트를 저장
-() 또는 tuple() python 내장함수를 이용
-순서있는 데이터 타입
-변경불가능한(immutable) 데이터 타입
-함수의 인자, 리턴에 주로 사용
myT=(10,20,30,40)
print(myT)
packing, unpacking
a,b,c = ( 100,200,300 )# unpacking
a = ( 100,200,300 )# packing
Dictionary Type
-오브젝트를 키와 값으로 저장
-{키:값} 또는 dict() python 내장함수를 이용
-순서없는 데이터 타입
-변경가능한(mutable) data type
myD={10:'aa',20:'bb',30:'cc'}
print(myD.pop(20)) #20요소 삭제됨.
print(myD.keys()) #key값만 출력
print(myD.values()) #value 값만 출력
print(myD.items()) #key값만 출력
Set Type
-중복없는 데이터를 저장
-{} 또는 set() python 내장함수를 이용
-순서없는 데이터 타입
-변경가능한 데이터 타입
-집합관련 연산자 사용
mySet={10,20,30}
print(mySet[0]) # 순서없는 데이타 타입이므로 에러발생
week#1_exercise
1. 아래의 문자열에 대해 다음을 수행하시오.
s='abcd efgh ijklm'
1)공백을 기준으로 자르시요(리스트의 문자열로).
2)'efgh'문자열을 추출하시요.
print(s[5:9:1])
3)'ac fhikm'문자열을 추출하시요.
print(s[::2])
4)'mlkji'문자열을 출출하시요.
print(s[:8:-1])
2.문자열 객체 변수명이 s인 임의의 하나의 문자열이 주어진 경우 공백 기준으로 자른 뒤 맨 마지막 문자열을 추출하도록 프로그램을 작성하시오.
(예: s='abc def ghi'인 경우 ghi 문자열이 출력되어야 한다.)
Quiz
7.문자열을 bytes type으로 변환하고자 할 때 사용하는 것
encode
8.리스트에 요소를 추가하는 리스트 객체 맴버함수명이 아닌것은?
append, put, insert, extend
myList=[1,2,3,4]
my_list.append(50)
myList.insert(1,200)
myList.extend([1,2,3])
myList=myList + [1,2,3]
myList =myList*3
myList.remove(4) #해당 인텍스의 인자를 삭제함.
myList.pop() # 마지막 인자를 삭제
myList.pop(1) #해당 인덱스의 객체를 삭제
del( myList[0] ) #해당 인덱스의 인자를 삭제
n=myList.index(20) #해당값이 있는 인덱스를 리턴해줌
n=len(myList) #요소의 갯수를 리턴
9.아래에 해당하는 데이터 타입에 맞는 것은?
- 순서있는 데이터 타입
-변경 불가능한 데이터 타입
-함수의 인자, 리턴에 주로 사용
- 함수의 인자, 리턴에 주로 사용
- 패킹과 언패킹 지원
10.아래의 출력 결과로 맞는 것은?
myD={10:'aa',20:'bb',30:'cc'}
myD[40]='dd'
print(myD)
{40: 'dd', 10: 'aa', 20: 'bb', 30: 'cc'}
함수와 모듈
def 함수명( 인자):
함수구현부
return 결과값
함수의 특징
- 두개이상의 값 리턴 가능
- 명시적 인자 호출
- 디폴트인자
- 가변인자
- 정의되지않은 인자
#두개이상의 값 리턴 가능
함수기본
<iframe width="800" height="300" src="http://pythontutor.com/iframe-embed.html#code=def%20hello%28%29%3A%0A%20%20%20%20print%28'hello'%29%0A%20%20%20%20print%28'fn'%29%0A%0Ahello%28%29%0Ahello%28%29&codeDivHeight=400&codeDivWidth=350&cumulative=false&curInstr=0&heapPrimitives=false&origin=opt-frontend.js&py=3&rawInputLstJSON=%5B%5D&textReferences=false"frameborder="0"></iframe>함수기본(리턴과 인자)
================================
def hello():
print('hello')
print('fn')
def hap(a,b):
return a+b
rst=hap(10,20)
def fn1():
return 10,20,30
rst=fn1()
#hello()
#hello()
=====================================
함수의 특징
-두개 이상의 값 리턴 가능
-명시적 인자 호출
-디폴트인자
-가변인자
-정의되지않은 인자
13강. 파일, 디렉터리 다루기
1.파일객체 = open(파일명, 모드,인코딩)
파일객체를 리턴
2. 파일객체 멤버함수
write
readline
readlines
seek
tell
close
파일열기모드
r
w
a
14강. 시간과 날짜
date():날짜 정보만 가지는 datetime.date 클래스 객체 반환
time():시간 정보만 가지는 datetime.date 클래스 객체 반환
now():날짜 정보만 가지는 datetime.date 클래스 객체 반환
python datetime strtime
시스템과 랜덤함수
sys 모듈 import sys
- argv: 명령행 인자
- getrefcount(): 참조 개수 반환
- path: 파이썬 패스
- stdin, stdout, stderr: 표준 입력, 출력, 에러 객체
<sysRandomTest1>
import sys print( sys.argv ) my = sys.argv print( my[1])
<sysRandomTest2>
import sys myList = [10,20,30] print( sys.getrefcount(myList)-1 )
<sysRandomTest3>
import sys myList = [10,20,30] myList1 = myList print( sys.getrefcount(myList)-1 )
<sysRandomTest4>
import sys myList = [10,20,30] myList1 = myList print( sys.getrefcount(myList)-1 ) sys.stdout.write('aa\n') sys.stdout.write('bb')
random 모듈 import random
- randrange(시작,끝): 범위의 숫자 반환
- shuffle(시퀀스): 시퀀스를 임의로 배치
- choice(시퀀스 ): 임으로 선택
- Sample(시퀀스,개수): 임으로 갯수만큼선택
<sysRandomTest5>
import sys import random for n in range(5): print( random.randint(1,5) )
<sysRandomTest6>
import sys import random myList = [ 1,2,3,4,5] print( myList ) random.shuffle( myList ) print( myList )
<sysRandomTest7>
import sys import random myList = [ 1,2,3,4,5] print( myList ) print( random.sample( myList,2 ))
<sysRandomTest8>
import sys import random #롯또 1~16 임으로 6개선택 rotto = [ n for n in range(1,17)] pr
'python > python basic' 카테고리의 다른 글
[python][graph]sine wave (0) | 2018.12.02 |
---|---|
python basic (0) | 2018.11.12 |
[python][serial]serial port list (0) | 2018.11.12 |
[python][cv2]ImportError:No module named cv2 (0) | 2018.11.12 |
[python]SyntaxError:Non-ASCII charater '\xec' (0) | 2018.11.12 |