본문 바로가기

Python

220120 학습일기

지난번에 공부하다 만 method와 내장함수에 대해 마저 알아보자

 

https://www.geeksforgeeks.org/difference-method-function-python/

 

Difference between Method and Function in Python - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

여기를 참고했다.

 

 

1.

A method can operate on the data(instance variables) that is contained by the corresponding class.

 

class Human():
    def __init__(self,name,age,gender):
         print("응애응애") 
         self.name = name
         self.age = age
         self.gender = gender
    def who(self): #메소드 추가
        print("이름: {} 나이: {} 성별:{}".format(self.name,self.age,self.gender))


areum = Human("아름",25,"여자")

여기서 areum 이 instance.

 

 

<Basic python method>

class class_name():
    def method_name():
        ......
        #method body
        ......

 

*Function is block of code that is also called by its name.(independent)
*Function does not deal with Class and its instance concept.

 

<difference between method and function>

Simply,function and method both look similar as they perform in almost similar way, 

but the key differece is the concept of 'Class and its object'.

Functions can be called only by its name, as it is defined independently. 

But methods can't be called by its name only, we need to invoke the class by a reference of that class in which it is defined, i.e method is defined within a class 

and hence they are dependent on that class.

 

 

*method는 클래스, 객체와 연관되어 있는 함수.
*클래스 내에 선언되어 있는 함수가 method.
*class, object와 상관없이 독립적으로 존재하는 것이 function
*함수가 method보다 큰 개념

method⊂ function

 

 

 

 

2.

신기한게 class는 정의할 때 ()를 붙여도 되고 안 붙여도 된다.

class hihi():
    def method_abc (self):
        print("HIHI")
  
class_ref = hihi() #instance
class_ref.method_abc()

#HIHI
class hihi:
    def method_abc (self):
        print("HIHI")
  
class_ref = hihi() #instance
class_ref.method_abc()

#HIHI

 

 

2.

내장함수는 import를 필요로 하지 않는다.

외장함수는 import를 필요로 하는데 내장 라이브러리에서 불러오는 것 같다.

ㅋㅋㅋ... 구글에 찾아봐도 잘 안 나온다.

그냥 그렇게 생각해야겠다. 별로 중요한 사안이 아닌가보다.

 

 

 


이제 다시 점프 투 파이썬으로 돌아가자

 

 

1. read 함수

 

Hi.txt는 다음과 같다.

안녕하세요.
승니입니다.

 

f = open("Hi.txt",'r',encoding='utf-8')
data = f.read()
print(data)
f.close()

출력값은 다음과 같다.

안녕하세요.
승니입니다.

read() 함수는 파일의 내용 전체를 문자열로 돌려준다.

 

 

2.

파일에 원래 있던 값을 유지하면서 새로운 값을 추가하려면 파일을 추가모드('a')로 열면 된다.

 

참고로, 쓰기 모드('w')로 파일을 열 때 이미 존재하는 파일을 열면 그 파일의 내용이 모두 사라지게 된다. 

 

num.txt는 다음과 같다.

1111
2222
3333

 

f= open('num.txt','a')
for i in range(4,7):
    line = f"{i}"*4 + "\n"
    f.write(line)
f.close()

 

그러면 num.txt는 

1111
2222
3333
4444
5555
6666

이렇게 된다.

 

num.txt를 추가모드('a')로 열고 write를 사용해서 결괏값을 기존 파일에 추가했다.
추가모드로 파일을 열었기 때문에 num.txt 파일이 원래 가지고 있는 내용 바로 다음부터 결괏값을 적기 시작한다.

 

 

여기서 주의해야 할 점은 문자 커서의 위치이다.

문자의 커서가 여기에 있으면 위의 코드를 실행했을 때

1111
2222
33334444
5555
6666

이렇게 된다.

문자 커서의 위치부터 write가 실행되기 때문이다.

 

 

따라서 

1111
2222
3333
4444
5555
6666

이렇게 출력하고 싶으면

문자 커서를 세번째 줄 끝에 두되, 한 줄을 미리 띄우든가.

 

아님,

문자 커서를 다음줄 시작에 두어야 한다.

 

 

 

 

 

 

 

 

 

https://www.geeksforgeeks.org/difference-method-function-python/

 

Difference between Method and Function in Python - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

 

https://bskyvision.com/782

 

[python] 함수(function)와 메서드(method)의 차이, 간단 설명

프로그래밍 언어에 있어서 함수(function)라는 것은 어떠한 기능을 수행하는 친구입니다. 각 함수마다 나름의 기능을 가지고 있습니다. 두 수를 입력받아 덧셈을 수행하는 함수가 있을 수 있고, 소

bskyvision.com

 

[점프 투 파이썬]

https://wikidocs.net/book/1

 

점프 투 파이썬

** 점프 투 파이썬 오프라인 책(개정판) 출간 !! (2019.06) ** * [책 구입 안내](https://wikidocs.net/4321) 이 책은 파이썬 ...

wikidocs.net

 

'Python' 카테고리의 다른 글

220127 학습일기  (0) 2022.01.27
220123 학습일기  (0) 2022.01.23
[sw expert acadmey] 1859. 백만 장자 프로젝트  (0) 2022.01.19
220117 학습일기  (0) 2022.01.18
220116 학습일기  (0) 2022.01.16