はじめに
「class」は、Pythonを勉強する上で必ず押さえて欲しい内容になります。
classは試験や開発で必要になる知識です。概念が難しいのでしっかりと理解してください。
classとは
結論から言うと、オブジェクト(もの)の内容を定義しておくものです。別の言い方で「ひな形」です。
今回使用するのは、Userというオブジェクトの定義です。
中身は、「挨拶」と「年齢を表示」という単純なものです。
メソッドとは
classの中で処理をまとめているもの。関数になります。
インスタンス化とは
classに対してデータを格納すること。つまり、classを使用する為の準備。
実際のコード
以下のコードはclassの内容です。
例1. class_1.py(userの情報を取得する。)
class User:
    user_type = None
    
    def __init__(self, name, age, address):
        """初期化をするメソッド"""
        self.name = name
        self.age = age
        self.address = address
    
    def age_view(self):
        """年齢を表示するメソッド"""
        print(f'{self.name}さんの年齢は{self.age}です。')
    
    def name_hello(self):
        """挨拶をするメソッド"""
        print(f'{self.name}さんこんにちは!!')
以下のコードがクラスを使用するコードになります。
user.py
from class_1 import User
user1 = User("大谷", "30", "アメリカ") # インスタンス化
print(type(user1))
print(user1.name)
user1.age_view() # 年齢表示のメソッドを呼び出す。
user1.name_hello() # 挨拶メソッドを呼び出す。
実行した結果(例1)
<class 'class_1.User'>
大谷
大谷さんの年齢は30です。
大谷さんこんにちは!!
例2. class2.py(数値を渡して処理を行うクラス)
class Calculator:
    def __init__(self, number, number_1):
        """初期化メソッド"""
        self.number = number
        self.number_1 = number_1
    def total(self):
        """numberの合計を求めるプログラム"""
        sum_lst = [i for i in range(self.number + 1)]
        ans = sum(sum_lst)
        print(f'1から{self.number}を全て足した合計は-> {ans}')
    
    def add(self):
        return self.number + self.number_1
    
    def even(self):
        """偶数を求めるプログラム"""
        even_lst = [i for i in range(self.number) if i % 2 == 0]
        return even_lst 
実際に呼び出す為のプログラムcaluculator.py
from class_2 import Calculator
total = Calculator(10, 100)
total.total()
print(total.add()) # 合計を求める
print(*total.even()) # 偶数を求める
実行した結果(例2)
1から10を全て足した合計は-> 55
110
0 2 4 6 8