123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- import math
- class Cat:
- breed = 'pers'
- def hello():
- print("hello")
- def show_breed(instance):
- print(f'my breed is {instance.breed}')
- print(instance)
- def show_name(instance):
- if hasattr(instance, 'name'):
- print(f'my name is {instance.name}')
- else:
- print('nothing')
- def set_value(koshka, value, age=0):
- koshka.name = value
- koshka.age = age
- def new_method(self):
- pass
- class Point:
- list_points = []
- def __init__(self, x, y) -> None:
- self.move_to(x, y)
- Point.list_points.append(self)
- def move_to(self, x, y):
- self.x = x
- self.y = y
- def go_home(self):
- self.move_to(0, 0)
- def print_point(self):
- print(f"Точка с координатами ({self.x}, {self.y})")
- def calc_distance(self, another_point):
- if not isinstance(another_point, Point):
- raise ValueError("Аргумент должен принадлежать классу Точка")
- return math.sqrt((self.x - another_point.x)**2 + (self.y -another_point.y)**2)
- class Numbers:
- def __init__(self, *args) -> None:
- self.values = []
- self.values.extend(args)
- def add_number(self, val):
- self.values.append(val)
- def get_positive(self):
- return [x for x in self.values if x > 0]
- def get_negative(self):
- return [x for x in self.values if x < 0]
- def get_zeroes(self):
- return [x for x in self.values if x == 0]
- class Stack:
- def __init__(self):
- self.values = []
- def push(self, value):
- self.values.append(value)
- def pop(self):
- if not self.values:
- print("Empty Stack")
- else:
- return self.values.pop()
- def peek(self):
- if not self.values:
- print("Empty Stack")
- return None
- return self.values[-1]
-
- def is_empty(self):
- return not bool(self.values)
- def size(self):
- return len(self.values)
- class Worker:
- def __init__(self, name, salary, gender, passport):
- self.name = name
- self.salary = salary
- self.gender = gender
- self.passport = passport
- def get_info(self):
- print(f"Worker {self.name}; passport-{self.passport}")
- class CustomLabel:
- def __init__(self, text, **kw):
- self.text = text
- for name, value in kw.items():
- setattr(self, name, value)
- def config(self, **kw):
- for name, value in kw.items():
- setattr(self, name, value)
-
- def main():
- """CustomLabel"""
- label1 = CustomLabel(text="Hello Python", fg="#eee", bg="#333")
- label2 = CustomLabel(text="Username")
- label3 = CustomLabel(text="Password", font=("Comic Sans MS", 24, "bold"), bd=20, bg='#ffaaaa')
- label4 = CustomLabel(text="Hello", bd=20, bg='#ffaaaa')
- label5 = CustomLabel(text="qwwerty", a=20, b='#ffaaaa', r=[3, 4, 5, 6], p=32)
- assert label1.__dict__ == {'text': 'Hello Python', 'fg': '#eee', 'bg': '#333'}
- assert label2.__dict__ == {'text': 'Username'}
- assert label3.__dict__ == {'text': 'Password', 'font': ('Comic Sans MS', 24, 'bold'), 'bd': 20, 'bg': '#ffaaaa'}
- assert label4.__dict__ == {'text': 'Hello', 'bd': 20, 'bg': '#ffaaaa'}
- assert label5.__dict__ == {'text': 'qwwerty', 'a': 20, 'b': '#ffaaaa', 'r': [3, 4, 5, 6], 'p': 32}
- print(label1.__dict__)
- print(label2.__dict__)
- print(label3.__dict__)
- print(label4.__dict__)
- print(label5.__dict__)
- label4.config(color='red', bd=100)
- label5.config(color='red', bd=100, a=32, b=432, p=100, z=432)
- assert label4.__dict__ == {'text': 'Hello', 'bd': 100, 'bg': '#ffaaaa', 'color': 'red'}
- assert label5.__dict__ == {'text': 'qwwerty', 'a': 32, 'b': 432, 'r': [3, 4, 5, 6], 'p': 100,
- 'color': 'red', 'bd': 100, 'z': 432}
- """Class Numbers"""
- '''
- num = Numbers(1, 2, -3, -4, 5)
- num.get_values()
- print(num.get_positive())
- '''
- """Class Stack"""
- # stack = Stack()
- # stack.peek()
- # print(stack.is_empty())
-
- """Worker"""
- """
- persons= [
- ('Allison Hill', 334053, 'M', '1635644202'),
- ('Megan Mcclain', 191161, 'F', '2101101595'),
- ('Brandon Hall', 731262, 'M', '6054749119'),
- ('Michelle Miles', 539898, 'M', '1355368461'),
- ('Donald Booth', 895667, 'M', '7736670978'),
- ('Gina Moore', 900581, 'F', '7018476624'),
- ('James Howard', 460663, 'F', '5461900982'),
- ('Monica Herrera', 496922, 'M', '2955495768'),
- ('Sandra Montgomery', 479201, 'M', '5111859731'),
- ('Amber Perez', 403445, 'M', '0602870126')
- ]
- # workers_objects = [Worker('Bob Moore', 330000, 'M', '1635777202')]
-
- workers_objects = [Worker(*x) for x in persons]
-
- for worker in workers_objects:
- worker.get_info()
- """
-
- # print(persons[0][1])
- # for person in persons:
- # workers_objects.append('')
-
- # cat = Cat()
- # cat.show_breed()
- # tom = Cat()
- # print(isinstance(tom, Cat))
- # tom.show_name()
- # tom.set_value('Tom')
- # tom.show_name()
- # leo.score(700)
- # assert leo.goals == 700
- # leo.make_assist(500)
- # assert leo.assists == 500
- # leo.statistics()
- if __name__ == '__main__':
- main()
|