Рубрики

Класс или статические переменные в Python

Классовые или статические переменные являются общими для всех объектов. Экземплярные или нестатические переменные различны для разных объектов (каждый объект имеет свою копию).

Например, пусть студент-информатик будет представлен классом CSStudent . Класс может иметь статическую переменную со значением «cse» для всех объектов. И класс также может иметь нестатические члены, такие как name и roll .

В C ++ и Java мы можем использовать ключевое слово static, чтобы сделать переменную переменной класса. Переменные, которые не имеют предшествующего статического ключевого слова, являются переменными экземпляра. Смотрите это для примера Java и это для примера C ++.

Подход Python прост, он не требует статического ключевого слова. Все переменные, которым присваивается значение в объявлении класса, являются переменными класса. И переменные, которым присваиваются значения внутри методов класса, являются переменными экземпляра.

# Программа Python, чтобы показать, что переменные со значением
# присваивается в объявлении класса, являются переменными класса

  
# Класс для студентов по информатике

class CSStudent:

    stream = 'cse'                  # Переменная класса

    def __init__(self,name,roll):

        self.name = name            # Переменная экземпляра

        self.roll = roll            # Переменная экземпляра

  
# Объекты класса CSStudent

a = CSStudent('Geek', 1)

b = CSStudent('Nerd', 2)

  

print(a.stream)  # печатает "cse"

print(b.stream)  # печатает "cse"

print(a.name)    # печатает "Компьютерщик"

print(b.name)    # принты "ботаник"

print(a.roll)    # печатает "1"

print(b.roll)    # печатает "2"

  
# Переменные класса могут быть доступны с помощью класса
# имя также

print(CSStudent.stream) # печатает "cse"

Выход:

cse
cse
Geek
Nerd
1
2
cse

Эта статья предоставлена Харшитом Гуптой . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Класс или статические переменные в Python

0.00 (0%) 0 votes