지난번에 공부하다 만 method와 내장함수에 대해 마저 알아보자
https://www.geeksforgeeks.org/difference-method-function-python/
여기를 참고했다.
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/
[점프 투 파이썬]
'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 |