반응형

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: 표준 입력, 출력, 에러 객체

- exit: 스크립트 종료

<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

+ Recent posts