一、 for循环
1、打印从100到190之间每隔10的整数
for x in range(100,200,10):print(x)
100
110
120
130
140
150
160
170
180
190
2、通过 for 循环遍历a个元组中的每个元素,并打印出来
a=("a",1,2,3,"dsgdgshdg")
for o in a:print(o)
a
1
2
3
dsgdgshdg
二、while循环
3、循环输出0到99的数
b=0
while b <100:print(b)b=b+1
else:print("over")
0
1
2
3
...
97
98
99
面向对象 封装 继承 多态
"""
#类的定义
class a:def a.__init__(self):self.m=1#继承
class b(a):def b.__init__(self):a.__init__(self)self.n=2def sum(self):print(self.m+self.n)c=b()
c.sum()
"""
"""读取文件"""
f=open(r"\\Mac\Home\source.txt",'r')
print(f.read())f.close
让我们整理和修复你提供的代码示例。代码涉及面向对象编程中的封装、继承和多态概念,并且还包含了读取文件的操作。以下是经过修正和详细解释的代码:
面向对象编程示例
- 类的定义
- 继承
- 多态
# 类的定义
class A:def __init__(self):self.m = 1# 继承
class B(A):def __init__(self):super().__init__() # 使用super()调用父类的构造函数self.n = 2def sum(self):print(self.m + self.n)c = B()
c.sum() # 输出 3
读取文件示例
# 读取文件
file_path = r"\\Mac\Home\source.txt"try:with open(file_path, 'r') as f:content = f.read()print(content)
except FileNotFoundError:print(f"The file at {file_path} was not found.")
详细解释
类的定义和继承
-
类的定义:
class A
定义了一个类A
,它有一个初始化方法__init__
,在创建类实例时初始化属性m
为1
。
-
继承:
class B(A)
定义了一个类B
,它继承了A
。在B
的初始化方法__init__
中,使用super().__init__()
调用父类A
的初始化方法。这保证了A
中定义的属性m
被正确初始化。B
类中还定义了一个方法sum
,它打印self.m + self.n
的结果。
-
多态:
- 虽然示例代码没有显示多态的具体用法,但通过继承,类
B
可以覆盖和扩展类A
的方法,并且在实例化B
时,可以通过调用sum
方法展示多态的效果。
- 虽然示例代码没有显示多态的具体用法,但通过继承,类
读取文件
-
打开文件:
- 使用
open(file_path, 'r')
打开文件进行读取。 r
模式表示读取模式。
- 使用
-
读取内容:
- 使用
f.read()
读取文件内容并打印。
- 使用
-
关闭文件:
- 使用
with
语句上下文管理器来打开文件,这样文件在操作完成后会自动关闭,避免资源泄漏。 - 如果文件路径错误或文件不存在,捕获
FileNotFoundError
并打印错误信息。
- 使用
注意事项
- 确保文件路径正确。如果是在 Windows 上,可以使用双反斜杠
\\
来转义路径。 - 确保文件存在,否则会抛出
FileNotFoundError
异常。 - 确保类名和方法名正确无误,并且遵循 Python 的命名约定(类名用大写字母开头)。