1cfd3bbb56
Topic_CSS/Topic_HTML/Topic_JavaScript/Topic_Prompt/Topic_Comfyui 등 기존 카테고리 폴더를 정리하고, Topic_Graphic/Dev 등 신규 산출물과 Topics 내부 세션/메모리 기록을 동기화.
3.7 KiB
3.7 KiB
id, title, category, status, verification_status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, created_at, updated_at, review_reason, merge_history, tags, raw_sources, applied_in, github_commit
| id | title | category | status | verification_status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | created_at | updated_at | review_reason | merge_history | tags | raw_sources | applied_in | github_commit | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| python-class-self-parameter | Python Class Self Parameter | Programming_Language | draft | conceptual |
|
B | 0.9 | 2026-07-04 | 2026-07-04 |
|
|
Python Class Self Parameter
🎯 한 줄 통찰 (One-line insight)
self isn't a reserved keyword — it can legally be renamed to anything — but it must always be the first parameter of every method, and renaming it away from the "self" convention actively hurts readability for other developers. [S1]
🧠 핵심 개념 (Core concepts)
self— a reference to the current instance of the class; used to access its properties/methods. [S1]- Must be first parameter — every method in a class needs it as the first parameter. [S1]
- Not a reserved word — can be renamed (e.g.
myobject,abc), but convention strongly favors keepingself. [S1] - Distinguishes instances — without self, Python couldn't tell which object's properties a method should operate on. [S1]
- Calling one method from another —
self.greet()inside another method of the same class. [S1]
🧩 추출된 패턴 (Extracted patterns)
- Two different objects, same method, different data —
p1.printname()andp2.printname()both call the same method definition, butselfresolves to a different object each time, producing different output. [S1]
📖 세부 내용 (Details)
- Basic self usage:
class Person: def __init__(self, name, age): self.name = name; self.age = age; def greet(self): print("Hello, my name is " + self.name). [S1] - Renamed (legal but discouraged):
def __init__(myobject, name, age): myobject.name = name. [S1] - Calling another method via self:
def welcome(self): message = self.greet(); print(message + "!"). [S1]
⚖️ 모순 및 업데이트 (Contradictions & updates)
소스에서 모순되는 정보는 발견되지 않음. "self"라는 이름 자체는 관례일 뿐 강제되지 않는다는 점이 명시적으로 언급됨. [S1]
🛠️ 적용 사례 (Applied in summary)
현재 발견된 실제 적용 사례가 없습니다 — 클래스 메서드 전체에서 반복적으로 사용되는 필수 첫 매개변수다. [S1]
💻 코드 패턴 (Code patterns)
Calling one method from another via self (Python):
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return "Hello, " + self.name
def welcome(self):
message = self.greet()
print(message + "! Welcome to our website.")
✅ 검증 상태 및 신뢰도
- 상태: draft
- 검증 단계: conceptual
- 출처 신뢰도: B (W3Schools — widely used educational reference, not a primary standards body)
- 신뢰 점수: 0.90
- 중복 검사 결과: 신규 생성 (New discovery)
🔗 지식 그래프 (Knowledge Graph)
- 상위/루트: Python Tutorial
- 관련 개념: Python Class Init Method, Python Class Properties, Python Class Methods
- 참조 맥락: 모든 클래스 메서드의 첫 매개변수 관례 — 인스턴스별 데이터 접근의 핵심.
📚 출처 (Sources)
- [S1] W3Schools — Python self Parameter — https://www.w3schools.com/python/python_class_self.asp
📝 변경 이력 (Change history)
- 2026-07-04: Initial draft synthesized from the W3Schools "Python self Parameter" page (Astra wiki-curation, P-Reinforce v3.1 format).