好的,我将为您生成一本Markdown格式的Python3高级教程学习笔记。
Python3 高级教程学习笔记
1. 面向对象编程
1.1 类和对象
在Python中,使用class关键字定义一个类。类由属性和方法构成,可以通过创建对象来使用这些属性和方法。
pythonCopy Codeclass Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name} and I'm {self.age} years old.")
person1 = Person("Alice", 25)
person1.greet()
1.2 继承
继承是面向对象编程中的一个核心概念,它允许我们创建一个新类,从现有的类派生出来,继承现有类的属性和方法。
pythonCopy Codeclass Student(Person):
def __init__(self, name, age, major):
super().__init__(name, age)
self.major = major
def study(self):
print(f"I'm studying {self.major}.")
student1 = Student("Bob", 20, "Computer Science")
student1.greet()
student1.study()
2. 迭代器、生成器和装饰器
2.1 迭代器
迭代器是Python的一个特殊对象,它允许我们按需计算值而不是一次性返回所有值。迭代器通常由一个__iter__()方法和一个__next__()方法组成。
pythonCopy Codeclass MyIterator:
def __init__(self, limit):
self.limit = limit
self.current = 0
def __iter__(self):
return self
def __next__(self):
if self.current < self.limit:
value = self.current
self.current += 1
return value
else:
raise StopIteration()
my_iterator = MyIterator(5)
for i in my_iterator:
print(i)
2.2 生成器
生成器是一种特殊的迭代器,它允许我们更简单地定义迭代器。生成器通常使用yield关键字创建一个新的值并暂停执行,直到下一次调用。
pythonCopy Codedef my_generator(limit):
current = 0
while current < limit:
yield current
current += 1
for i in my_generator(5):
print(i)
2.3 装饰器
装饰器是Python中一个强大的工具,它允许我们动态地修改函数或类的行为。装饰器本质上是一个函数,它接受一个函数或类作为参数,并返回一个新的函数或类。
pythonCopy Codedef my_decorator(func):
def wrapper(*args, **kwargs):
print("Calling function...")
result = func(*args, **kwargs)
print("Function call completed.")
return result
return wrapper
@my_decorator
def my_function():
print("Hello World!")
my_function()
以上是Python3高级教程学习笔记的一些示例,希望对您有所帮助。