IT/Python

4. Python 함수와 모듈

상짱 2020. 2. 4. 15:12
반응형

1. 함수

- def 키워드 / 함수 정의

def print_name( n , str ) :
	for i in range(n) :
		print( str )

print_name( 1 , "hello world~!" )

 

- return / 반환 / 두개의 값 반환은 튜플을 사용

def plus( x , y ) :
	return x + y

plus( 1 , 5 )
print(plus( 1 , 5 ))
def plus_minus( x , y ) :
	p = x + y
	m = x - y
	return ( p , m )

plus_minus( 1 , 3 )
print(plus_minus( 1 , 3 ))
print(plus_minus( 1 , 3 )[0])
print(plus_minus( 1 , 3 )[1])

( p , m ) = plus_minus( 1 , 3 )
p # 4
m # -2

 

2. 모듈

- 프로그램이나 하드웨어 기능의 단위

- 파이썬은 파일 단위로 작성된 파이썬 코드를 모듈이라고 부름

- spyder 환경에서 위에 작성한 코드를 hello.py 이름으로 파일을 저장한다.

 

 

- 파이썬 __name__ 변수

- 파일에서 실행시에는 __main__ 이라는 문자열 바인딩

- import hello 시에는 파일명인 hello 문자열 바인딩

hello.py

def print_name( n , str ) :
	for i in range(n) :
		print( str )

def plus( x , y ) :
	return x + y

def plus_minus( x , y ) :
	p = x + y
	m = x - y
	return ( p , m )


print(__name__)

if( __name__ == "__main__" ) :
    print( print_name(2, "hello~!!!!!!") )

 

- import / hello / time / type(_) / dir()

- hello : 내가 만든 py 파일

- time : 파이썬 자체 모듈

- type(_) : 최근 반환값의 타입

- dir() : 모듈 안의 함수 / 변수 확인

import hello, time

hello.print_name(3, "hello~~~!!")
hello.plus(4,5)
hello.plus_minus(5,5)

time.time()
time.sleep(1) # 1초

# 최근 반환값의 타입
type(_)

# 모듈 / 파일 위치
import random
random
# <module 'random' from 'C:\\Users\\User\\Anaconda3\\lib\\random.py'>

# 모듈 안의 함수 / 변수 확인
dir(random)

 

- os 모듈

import os
os
dir(os)

# 현재경로
os.getcwd()

# 파일과 디렉토리 목록 리스트
# os 파일경로의 파일과 디렉토리
os.listdir()

# 해당경로의 파일과 디렉토리
os.listdir("C://")

files = os.listdir("C://")
len(files)
type(files)

for x in os.listdir("C:\\Users\\User\\Anaconda3") :
  if x.endswith("exe") :
  	print(x)

 

- import 의 3가지 방법

- import os / from os import listdir / import os as winos

- os 모듈 임포트 / os 모듈로부터 listdir 을 임포트 / os 모듈을 winos 로 임포트

 

- 내장함수(Built-in Functions)

abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round() delattr()
hash() memoryview() set()    

 

# 절대값 반환
abs(-3)

# 문자열 반환
chr(97)

# 리스트, 튜플, 문자열 enumerate 객체 반환
for i, name in enumerate(["000", "111", "222"]) :
	print( i , name )

# 길이 , 원소개수
len([1,2,3,4])

# 리스트 반환
list("hello")
list((1,2,3))

# 최대값
max(1,2,3,4,5)
max([4,3])

# 최소값
min(1,2,3,4,5)
min([4,3])

# 정렬
sorted([3,4,2,0])

# 정수 반환
int("3")

# 문자열 반환
str(3)

 

반응형

'IT > Python' 카테고리의 다른 글

Python PyQt5 QAxContainer import 에러  (0) 2020.05.18
Python / GUI  (0) 2020.05.14
Python / COM  (0) 2020.05.13
7. Python IDE  (0) 2020.02.07
6. Python 파일읽기 / 쓰기  (0) 2020.02.05
5. Python 클래스  (0) 2020.02.04
3. Python 제어문  (0) 2020.01.29
2. Python 기본자료구조(리스트/튜플/딕셔너리)  (0) 2020.01.20
1. Python 변수/문자열/기본데이터타입  (0) 2020.01.20
Python 시작  (0) 2020.01.14