Python3 结合一道Github上的练习题理解Class, __init__()和self

本文通过一道Github上的Python练习题,深入解析Python中的Class概念、如何创建Class、方法编写以及__init__和self的用法。讲解了self作为类实例的引用,以及如何在类中使用__init__进行初始化操作。

目录

1. 概述

2. Github原题

3. 类(Class)

3.1 什么是Class

3.2 如何创建Class

3.3 编写method函数

3.4 类实例化

4. __init__()和self

4.1 def__init__()

4.2 什么是self

4.3 self代表类的实例,而非类本身

5. 将函数填充进Class中

6. 总结


1. 概述

本文将根据Github中的一道Python练习题谈一谈Class中self用法的理解。

 

2. Github原题

Question 5:
Define a class which has at least two methods:
getString: to get a string from console input
printString: to print the string in upper case.
Also please include simple test function to test the class methods.

中文翻译如下:

  1. 定义一个包含至少2个方法的类;
  2. 方法getString功能要求:自己键入一个字符串;
  3. 方法printString功能要求:以大写的方式,输出键入的字符串。
  4. 还要写出测试自己写的类和方法的代码。

 

3. 类(Class)

本小节内容将根据是什么(What)怎么做(How)谈谈个人对Class的理解。

3.1 什么是Class

这里将用大白话进行阐述。Class就是一个大的集合,用官方用语来说,称之为模版。Class这个大的集合中,包含了一些小的集合,称之为方法(method)。

3.2 如何创建Class

根据上述这道Github题,可知题目要求我们写一个Class,这里将这个Class命名为StringInOut。命名要求尽可能的简单,但是又要基本涵盖这个类的功能。命名规范请参考Python代码规范要求,这里不做赘述。

class StringInOut(object):
    pass

上面2行代码即可完成创建一个class的工作。

  • 类名为StringInOut。
  • (object)表示继承的对象,即该类是从哪个类继承下来的。如果没有特定对象,所有的类都继承自object类。
### Python 练习题合集 对于学习编程语言而言,实践是非常重要的环节之一。针对 Python练习题,确实存在许多资源可以提供不同难度级别的题目来帮助开发者提升技能。 #### 题目分类与范围 Python 练习题通常分为基础、中级高级三个层次[^1]。这些题目涵盖了数据类型操作(字符串、列表、字典)、控制流语句(if/else, for/while 循环)、函数定义以及面向对象编程等内容。更进一步,则涉及文件处理、异常管理、模块导入等方面的知识点[^2]。 以下是部分可能覆盖到的主题领域及其对应的典型问题形式: - **基本语法** ```python # 计算两个数之 a = 5; b = 7; result = ? ``` - **条件判断与循环结构** ```python # 找出给定数组中的最大值 numbers = [3, 8, 1, 9]; max_num = ? ``` - **函数设计** ```python def factorial(n): """计算n!""" pass print(factorial(5)) # 输出应为120 ``` - **类与对象** ```python class Animal: def __init__(self,name=""): self.name=name def speak(self): ??? dog=Animal(&#39;Dog&#39;) cat=Animal(&#39;Cat&#39;) dog.speak() # 应打印 &#39;Dog says woof!&#39; cat.speak() # 应打印 &#39;Cat says meow!&#39; ``` #### 获取大量练习题的方法 如果目标是找到接近或者超过五百道的Python练习题集合,可以通过以下几种途径获取: 1. 在线平台如LeetCode、HackerRank 或 Codecademy 提供丰富的挑战项目[^3]; 2. GitHub 上有许多开源仓库专门整理了各种计算机科学概念下的实际应用案例研究材料[^4]; 3. 购买专业书籍《Python 编程:从入门到实践》这类教材往往附带详尽的例子说明及课后思考作业[^5]; 注意,在选择具体来源时需考虑个人当前水平以便挑选适合自己的难易度区间内的训练素材。 ```python def is_prime(number): if number <= 1: return False sqrt_number=int((number)**0.5)+1 for i in range(2,sqrt_number): if (number %i)==0 : return False return True print(is_prime(29)) # 正确答案应该是True ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值