تست ١۵٢:برای ایجاد یک کلاس و سازنده آن جای خالی را با عبارات مناسب پر کنید، یک استدلال را به دست آورید و آن را به صفت «name» اختصاص دهید. سپس یک شیء از کلاس ایجاد کنید.
........ Student:
def............(self, name):
self.......... = name
test = Student("Bob"....
1️⃣: .name,), class, init
▫ ️0%(0)
2️⃣: class, name, init,)
▫ ️0%(0)
3️⃣: class,init,.name,)
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
👥: 31شرکت در نظر سنجی
........ Student:
def............(self, name):
self.......... = name
test = Student("Bob"....
1️⃣: .name,), class, init
▫ ️0%(0)
2️⃣: class, name, init,)
▫ ️0%(0)
3️⃣: class,init,.name,)
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(31)
👥: 31شرکت در نظر سنجی
✍️متد ها (Methods)
کلاس ها می توانند متد هایی را تعریف کنند تا قابلیت هایشان اضافه شود. به یاد داشته باشید که تمام متد ها باید self را به عنوان اولین پارامتر خود باشند. این متد ها به همه ی Attribute ها دسترسی دارند.
class Dog:
def init(self, name, color):
self.name = name
self.color = color
def bark(self):
print("Woof!")
fido = Dog("Fido", "brown")
print(fido.name)
fido.bark()
Result:
>>>
Fido
Woof!
>>>
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
کلاس ها می توانند متد هایی را تعریف کنند تا قابلیت هایشان اضافه شود. به یاد داشته باشید که تمام متد ها باید self را به عنوان اولین پارامتر خود باشند. این متد ها به همه ی Attribute ها دسترسی دارند.
class Dog:
def init(self, name, color):
self.name = name
self.color = color
def bark(self):
print("Woof!")
fido = Dog("Fido", "brown")
print(fido.name)
fido.bark()
Result:
>>>
Fido
Woof!
>>>
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
⚠️کلاس ها همچنین می توانند دارایattribute های کلاس باشند که توسط تعیین متغیرها در داخل کلاس ایجاد می شوند. اینها را می توان از نمونه های کلاس یا کلاس به دست آورد.
class Dog:
legs = 4
def init(self, name, color):
self.name = name
self.color = color
fido = Dog("Fido", "brown")
print(fido.legs)
print(Dog.legs)
Result:
>>>
4
4
>>>
خصیصه های کلاس توسط تمام نمونه های کلاس به اشتراک گذاشته می شوند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
class Dog:
legs = 4
def init(self, name, color):
self.name = name
self.color = color
fido = Dog("Fido", "brown")
print(fido.legs)
print(Dog.legs)
Result:
>>>
4
4
>>>
خصیصه های کلاس توسط تمام نمونه های کلاس به اشتراک گذاشته می شوند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تست ١۵٣:جاهای خالی را به صورتی پر کنید که یک کلاس جدید به همراه متد () sayHi ایجاد شود.
class Student...
def init(self, name):
self.name = name
.......... sayHi(self):
print("Hi from "+....... .name)
s1 = Student("Amy")
s1.sayHi()
1️⃣: Def, self, :
▫ ️||4%(1)
2️⃣: :, def, self
▫ ️|||||||||||||||||||||||||||||||||||70%(19)
3️⃣: self, :,self
▫ ️|||||||||||||26%(7)
👥: 27شرکت در نظر سنجی
class Student...
def init(self, name):
self.name = name
.......... sayHi(self):
print("Hi from "+....... .name)
s1 = Student("Amy")
s1.sayHi()
1️⃣: Def, self, :
▫ ️||4%(1)
2️⃣: :, def, self
▫ ️|||||||||||||||||||||||||||||||||||70%(19)
3️⃣: self, :,self
▫ ️|||||||||||||26%(7)
👥: 27شرکت در نظر سنجی
✍️کلاس ها(Classes)
تلاش برای دسترسی به یک attribute از یک نمونه که تعریف نشده است باعث ایجاد AttributeError می شود.
class Rectangle:
def init(self, width, height):
self.width = width
self.height = height
rect = Rectangle(7, 8)
print(rect.color)
Result:
>>>
AttributeError: 'Rectangle' object has no attribute 'color'
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تلاش برای دسترسی به یک attribute از یک نمونه که تعریف نشده است باعث ایجاد AttributeError می شود.
class Rectangle:
def init(self, width, height):
self.width = width
self.height = height
rect = Rectangle(7, 8)
print(rect.color)
Result:
>>>
AttributeError: 'Rectangle' object has no attribute 'color'
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تست١۵۴:چه خطایی با تلاش برای دسترسی به ویژگی های ناشناخته ایجاد می شود؟
1️⃣: NameError
▫ ️|2%(1)
2️⃣: ValueError
▫ ️0%(0)
3️⃣: AttributeError
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(40)
👥: 41شرکت در نظر سنجی
1️⃣: NameError
▫ ️|2%(1)
2️⃣: ValueError
▫ ️0%(0)
3️⃣: AttributeError
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(40)
👥: 41شرکت در نظر سنجی
🎁 کد تخفیف 10 نفر اول که گواهی دوره پایتون را از سایت SOLOLEARN دریافت کردند. به آدرس ایمیلشان ارسال شد.
آموزش های این کانال ادامه دارد، منتظر بمانید...
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
آموزش های این کانال ادامه دارد، منتظر بمانید...
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
Forwarded from Python challenge️
❤️ معرفی نفرات برتر دوره مقدماتی که موفق به دریافت گواهینامه دوره از سایت sololearn شدند در اینستاگرام چالش پایتون مشاهده کنید.
instagram.com/pythonchallenge
📚 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
instagram.com/pythonchallenge
📚 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
از مخاطبین کانال اگر تمایل داشتید برای دوره مقدماتی پایتون که قرار هست در تابستان 98 برگزار بشه در کنارمون باشه و برای برگزاری دوره از طریق تلگرام کمک کنه به آی دی زیر پیام بده.
@aiuni_admin
📚 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
@aiuni_admin
📚 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
✍️__init
متد init__ مهمترین متد در یک کلاس است که یک object از کلاس ایجاد می کند.
همه ی توابع کلاس ها باید self را به عنوان اولین پارامتر خود داشته باشند. توابع کلاس دارای صفاتی هستند، که کد تابع کلاس می تواند با آنها ارتباط داشته باشد. در این مثال، نمونه گربه دارای ویژگی های رنگ و پاها است. اینها را می توان با قرار دادن یک نقطه و نام ویژگی پس از یک نمونه مشاهده کرد.
در روش init، self.attribute می توانند برای تعیین مقدار اولیه صفات کلاس مورد استفاده قرار گیرد.
class Cat:
def init(self, color, legs):
self.color = color
self.legs = legs
felix = Cat("ginger", 4)
print(felix.color)
Result:
>>>
ginger
>>>
📌در مثال بالا، متد init دو ورودی را می گیرد و آنها را به صفات object می دهد. متد init سازنده کلاس نامیده می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
متد init__ مهمترین متد در یک کلاس است که یک object از کلاس ایجاد می کند.
همه ی توابع کلاس ها باید self را به عنوان اولین پارامتر خود داشته باشند. توابع کلاس دارای صفاتی هستند، که کد تابع کلاس می تواند با آنها ارتباط داشته باشد. در این مثال، نمونه گربه دارای ویژگی های رنگ و پاها است. اینها را می توان با قرار دادن یک نقطه و نام ویژگی پس از یک نمونه مشاهده کرد.
در روش init، self.attribute می توانند برای تعیین مقدار اولیه صفات کلاس مورد استفاده قرار گیرد.
class Cat:
def init(self, color, legs):
self.color = color
self.legs = legs
felix = Cat("ginger", 4)
print(felix.color)
Result:
>>>
ginger
>>>
📌در مثال بالا، متد init دو ورودی را می گیرد و آنها را به صفات object می دهد. متد init سازنده کلاس نامیده می شود.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
✍️ متد ها (Methods)
کلاس ها می توانند توابع دیگری هم داشته باشند تا قابلیت های بیشتری را به آنها را اضافه کند. به یاد داشته باشید که تمام توابع باید self را به عنوان اولین پارامتر خود داشته باشند. با استفاده از یک "نقطه" می توانیم به این توابع دسترسی پیدا کنیم.
class Dog:
def init(self, name, color):
self.name = name
self.color = color
def bark(self):
print("Woof!")
fido = Dog("Fido", "brown")
print(fido.name)
fido.bark()
Result:
>>>
Fido
Woof!
>>>
⚠️کلاس ها همچنین می توانند دارای صفات کلاس هم باشند که توسط تعیین متغیرها در داخل کلاس ایجاد می شوند. اینها را می توان از نمونه های کلاس یا کلاس به دست آورد.
class Dog:
legs = 4
def init(self, name, color):
self.name = name
self.color = color
fido = Dog("Fido", "brown")
print(fido.legs)
print(Dog.legs)
Result:
>>>
4
4
>>>
📌خصیصه های کلاس توسط تمام نمونه های کلاس به اشتراک گذاشته می شوند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
کلاس ها می توانند توابع دیگری هم داشته باشند تا قابلیت های بیشتری را به آنها را اضافه کند. به یاد داشته باشید که تمام توابع باید self را به عنوان اولین پارامتر خود داشته باشند. با استفاده از یک "نقطه" می توانیم به این توابع دسترسی پیدا کنیم.
class Dog:
def init(self, name, color):
self.name = name
self.color = color
def bark(self):
print("Woof!")
fido = Dog("Fido", "brown")
print(fido.name)
fido.bark()
Result:
>>>
Fido
Woof!
>>>
⚠️کلاس ها همچنین می توانند دارای صفات کلاس هم باشند که توسط تعیین متغیرها در داخل کلاس ایجاد می شوند. اینها را می توان از نمونه های کلاس یا کلاس به دست آورد.
class Dog:
legs = 4
def init(self, name, color):
self.name = name
self.color = color
fido = Dog("Fido", "brown")
print(fido.legs)
print(Dog.legs)
Result:
>>>
4
4
>>>
📌خصیصه های کلاس توسط تمام نمونه های کلاس به اشتراک گذاشته می شوند.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تست ١۵٣:جاهای خالی را به صورتی پر کنید که یک کلاس جدید به همراه متد () sayHi ایجاد شود.
class Student...
def init(self, name):
self.name = name
.......... sayHi(self):
print("Hi from "+....... .name)
s1 = Student("Amy")
s1.sayHi()
1️⃣: Def, self, :
▫ ️||4%(1)
2️⃣: :, def, self
▫ ️||||||||||||||||||||||||||||||||||69%(18)
3️⃣: self, :,self
▫ ️|||||||||||||27%(7)
👥: 26شرکت در نظر سنجی
class Student...
def init(self, name):
self.name = name
.......... sayHi(self):
print("Hi from "+....... .name)
s1 = Student("Amy")
s1.sayHi()
1️⃣: Def, self, :
▫ ️||4%(1)
2️⃣: :, def, self
▫ ️||||||||||||||||||||||||||||||||||69%(18)
3️⃣: self, :,self
▫ ️|||||||||||||27%(7)
👥: 26شرکت در نظر سنجی
تست ١۵٢:برای ایجاد یک کلاس و سازنده آن جای خالی را با عبارات مناسب پر کنید، یک استدلال را به دست آورید و آن را به صفت «name» اختصاص دهید. سپس یک شیء از کلاس ایجاد کنید.
........ Student:
def............(self, name):
self.......... = name
test = Student("Bob"....
1️⃣: .name,), class, init
▫ ️0%(0)
2️⃣: class, name, init,)
▫ ️0%(0)
3️⃣: class,init,.name,)
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(30)
👥: 30شرکت در نظر سنجی
........ Student:
def............(self, name):
self.......... = name
test = Student("Bob"....
1️⃣: .name,), class, init
▫ ️0%(0)
2️⃣: class, name, init,)
▫ ️0%(0)
3️⃣: class,init,.name,)
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(30)
👥: 30شرکت در نظر سنجی
✍️کلاس ها - (قسمت دوم)
تلاش برای دسترسی به یک ویژگی از یک نمونه ی کلاس که تعریف نشده باشد، باعث ایجاد AttributeError می شود. این حالت زمانی ایجاد می شود که شما با یک تابع نامشخص را صدا بزنید.
class Rectangle:
def init(self, width, height):
self.width = width
self.height = height
rect = Rectangle(7, 8)
print(rect.color)
Result:
>>>
AttributeError: 'Rectangle' object has no attribute 'color'
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تلاش برای دسترسی به یک ویژگی از یک نمونه ی کلاس که تعریف نشده باشد، باعث ایجاد AttributeError می شود. این حالت زمانی ایجاد می شود که شما با یک تابع نامشخص را صدا بزنید.
class Rectangle:
def init(self, width, height):
self.width = width
self.height = height
rect = Rectangle(7, 8)
print(rect.color)
Result:
>>>
AttributeError: 'Rectangle' object has no attribute 'color'
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تست١۵۴:چه خطایی با تلاش برای دسترسی به ویژگی های ناشناخته ایجاد می شود؟
1️⃣: NameError
▫ ️|3%(1)
2️⃣: ValueError
▫ ️0%(0)
3️⃣: AttributeError
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(39)
👥: 40شرکت در نظر سنجی
1️⃣: NameError
▫ ️|3%(1)
2️⃣: ValueError
▫ ️0%(0)
3️⃣: AttributeError
▫ ️|||||||||||||||||||||||||||||||||||||||||||||||||98%(39)
👥: 40شرکت در نظر سنجی
✍️ وراثت (Inheritance)
وراثت راهی را فراهم میکند تا بتوان قابلیت کلاس ها را به اشتراک گذاشت . تصور کنید کلاس های گربه، سگ، خرگوش و غیره داریم . اگر چه ممکن است بعضی ویژگی های متفاوت داشته باشند(مثلا تنها سگ ممکن است ویژگی پارس کردن را داشته باشد)، در سایر موارد احتمالا مشابه باشند (همه دارای رنگ و نام هستند). این شباهت را می توان با ایجاد یک کلاس از حیوانات (superclass) که شامل قابلیت های مشترک است، بیان می شود. برای به ارث بردن یک کلاس از کلاس دیگر، پس از نام کلاس، نام Superclass را در پرانتز قرار می دهیم.
class Animal:
def init(self, name, color):
self.name = name
self.color = color
class Cat(Animal):
def purr(self):
print("Purr...")
class Dog(Animal):
def bark(self):
print("Woof!")
fido = Dog("Fido", "brown")
print(fido.color)
fido.bark()
Result:
>>>
brown
Woof!
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
وراثت راهی را فراهم میکند تا بتوان قابلیت کلاس ها را به اشتراک گذاشت . تصور کنید کلاس های گربه، سگ، خرگوش و غیره داریم . اگر چه ممکن است بعضی ویژگی های متفاوت داشته باشند(مثلا تنها سگ ممکن است ویژگی پارس کردن را داشته باشد)، در سایر موارد احتمالا مشابه باشند (همه دارای رنگ و نام هستند). این شباهت را می توان با ایجاد یک کلاس از حیوانات (superclass) که شامل قابلیت های مشترک است، بیان می شود. برای به ارث بردن یک کلاس از کلاس دیگر، پس از نام کلاس، نام Superclass را در پرانتز قرار می دهیم.
class Animal:
def init(self, name, color):
self.name = name
self.color = color
class Cat(Animal):
def purr(self):
print("Purr...")
class Dog(Animal):
def bark(self):
print("Woof!")
fido = Dog("Fido", "brown")
print(fido.color)
fido.bark()
Result:
>>>
brown
Woof!
>>>
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تست ١۵۵:کدام یک از کد های کد نشان دهنده کلاس جدید spam به ارث برده از egg است؟
1️⃣: class Egg(Spam):
▫ ️0%(0)
2️⃣: class Spam(Egg):
▫ ️|||||||||||||||||||||||||||||||||||||||||||87%(13)
3️⃣: class (Spam)Egg:
▫ ️||||||13%(2)
👥: 15شرکت در نظر سنجی
1️⃣: class Egg(Spam):
▫ ️0%(0)
2️⃣: class Spam(Egg):
▫ ️|||||||||||||||||||||||||||||||||||||||||||87%(13)
3️⃣: class (Spam)Egg:
▫ ️||||||13%(2)
👥: 15شرکت در نظر سنجی
✍️وراثت(Inheritance) - (قسمت دوم)
یک کلاس که از کلاس دیگری به ارث می برد، یک زیر کلاس (subclass) نامیده می شود. یک کلاس که از آن به ارث برده می شود، سوپرکلاس(superclass) نامیده می شود.
class Wolf:
def init(self, name, color):
self.name = name
self.color = color
def bark(self):
print("Grr...")
class Dog(Wolf):
def bark(self):
print("Woof")
husky = Dog("Max", "grey")
husky.bark()
Result:
>>>
Woof
>>>
💡در مثال بالا wolf یک سوپر کلاس و dog یک زیر کلاس است.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
یک کلاس که از کلاس دیگری به ارث می برد، یک زیر کلاس (subclass) نامیده می شود. یک کلاس که از آن به ارث برده می شود، سوپرکلاس(superclass) نامیده می شود.
class Wolf:
def init(self, name, color):
self.name = name
self.color = color
def bark(self):
print("Grr...")
class Dog(Wolf):
def bark(self):
print("Woof")
husky = Dog("Max", "grey")
husky.bark()
Result:
>>>
Woof
>>>
💡در مثال بالا wolf یک سوپر کلاس و dog یک زیر کلاس است.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تست ١۵۶:خروجی کد زیر چیست ؟
class A:
def method(self):
print(1)
class B(A):
def method(self):
print(2)
B().method()
1️⃣: 2
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(10)
2️⃣: 1
▫ ️0%(0)
👥: 10شرکت در نظر سنجی
class A:
def method(self):
print(1)
class B(A):
def method(self):
print(2)
B().method()
1️⃣: 2
▫ ️||||||||||||||||||||||||||||||||||||||||||||||||||100%(10)
2️⃣: 1
▫ ️0%(0)
👥: 10شرکت در نظر سنجی
✍️ وراثت (Inheritance) - (قسمت سوم)
وراثت همچنین می تواند غیر مستقیم باشد. یک کلاس می تواند از دیگری به ارث ببرد و آن کلاس می تواند از یک کلاس سوم به ارث ببرد.
class A:
def method(self):
print("A method")
class B(A):
def another_method(self):
print("B method")
class C(B):
def third_method(self):
print("C method")
c = C()
c.method()
c.another_method()
c.third_method()
Result:
>>>
A method
B method
C method
>>>
⚠️با این حال، ارثی دایره وار امکان پذیر نیست.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
وراثت همچنین می تواند غیر مستقیم باشد. یک کلاس می تواند از دیگری به ارث ببرد و آن کلاس می تواند از یک کلاس سوم به ارث ببرد.
class A:
def method(self):
print("A method")
class B(A):
def another_method(self):
print("B method")
class C(B):
def third_method(self):
print("C method")
c = C()
c.method()
c.another_method()
c.third_method()
Result:
>>>
A method
B method
C method
>>>
⚠️با این حال، ارثی دایره وار امکان پذیر نیست.
❓بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:
🗂 مرکز آموزش پایتون
➖➖➖➖➖
🆔 : @pythonchallenge
تست ١۵٧:نتیجه ی کد زیر چیست؟
class A:
def a(self):
print(1)
class B(A):
def a(self):
print(2)
class C(B):
def c(self):
print(3)
c = C()
c.a()
1️⃣: 3
▫ ️0%(0)
2️⃣: 2
▫ ️|||||||||||||||||||||||||||||||||||||||||82%(9)
3️⃣: 1
▫ ️|||||||||18%(2)
👥: 11شرکت در نظر سنجی
class A:
def a(self):
print(1)
class B(A):
def a(self):
print(2)
class C(B):
def c(self):
print(3)
c = C()
c.a()
1️⃣: 3
▫ ️0%(0)
2️⃣: 2
▫ ️|||||||||||||||||||||||||||||||||||||||||82%(9)
3️⃣: 1
▫ ️|||||||||18%(2)
👥: 11شرکت در نظر سنجی