Python,创建对象

2024-07-04

我正在尝试学习 python,现在我正在尝试掌握类的窍门以及如何使用实例来操作它们。

我似乎无法理解这个练习问题:

创建并返回一个学生对象,其姓名、年龄和专业为 与作为输入给出的相同

def make_student(name, age, major)

我只是不明白对象是什么意思,它们是否意味着我应该在保存这些值的函数内创建一个数组?或者创建一个类并让这个函数位于其中,并分配实例? (在这个问题之前,我被要求建立一个学生班级,里面有姓名、年龄和专业)

class Student:
    name = "Unknown name"
    age = 0
    major = "Unknown major"

class Student(object):
    name = ""
    age = 0
    major = ""

    # The class "constructor" - It's actually an initializer 
    def __init__(self, name, age, major):
        self.name = name
        self.age = age
        self.major = major

def make_student(name, age, major):
    student = Student(name, age, major)
    return student

请注意,尽管 Python 哲学的原则之一是“应该有一种——最好只有一种——明显的方法来做到这一点”,仍然有多种方法可以做到这一点。您还可以使用以下两个代码片段来利用 Python 的动态功能:

class Student(object):
    name = ""
    age = 0
    major = ""

def make_student(name, age, major):
    student = Student()
    student.name = name
    student.age = age
    student.major = major
    # Note: I didn't need to create a variable in the class definition before doing this.
    student.gpa = float(4.0)
    return student

我更喜欢前者,但在某些情况下后者可能很有用——其中一个是在使用 MongoDB 等文档数据库时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python,创建对象 的相关文章

  • 重复 for 循环的迭代

    如果出于某种原因我想重复相同的迭代 我该如何在 python 中做到这一点 for eachId in listOfIds assume here that eachId conatins 10 response makeRequest e
  • 在 Python 中运行 Bash 命令

    在我的本地计算机上 我运行一个包含此行的 python 脚本 bashCommand cwm rdf test rdf ntriples gt test nt os system bashCommand 这很好用 然后我在服务器上运行相同的
  • 在python绑定/clang中的get-includes中解析cpp文件时过滤目录

    我应该编写一个 python clang 解析器 它返回 cpp 文件中的所有包含内容 所以我使用像下面的代码这样的东西 def main from clang cindex import Index from optparse impor
  • 无法访问http://0.0.0.0:8000

    我正在按照以下指示进行操作https fenics readthedocs io projects containers en latest introduction html https fenics readthedocs io pro
  • 如何使用ast.NodeVisitor的简单示例?

    有谁有一个使用 ast NodeVisitor 来遍历 Python 2 6 中的抽象语法树的简单示例吗 我不清楚访问和 generic visit 之间的区别 而且我找不到任何使用谷歌代码搜索或普通谷歌的示例 ast visit 当然 除
  • 从Python运行Scrapy

    我正在尝试从 Python 运行 Scrapy 我正在查看这段代码 source http doc scrapy org en 0 16 topics practices html from twisted internet import
  • pandas 预期第 153 行有 10 个字段,看到 11 个字段,如何再添加一列

    我有一个 info txt 文件 它看起来像这样 B 19960331 00100000 00000000000000 00000000000000 00000000000000 00000000 00000000000000 000000
  • 配置 argparse 以接受带引号的参数

    我正在编写一个程序 除其他外 它允许用户通过参数指定要加载的模块 然后用于执行操作 我试图建立一种方法来轻松地将参数传递到这个内部模块 并且我试图使用 ArgParse 的action append 让它构建一个参数列表 然后我将通过它 这
  • Kivy:如何在树视图中使用 on_key_down 和 on_key_up 键盘事件?

    我在用python 2 7 and kivy 1 10 0 当我点击nameTextInput 然后树视图显示 我希望选择标签up and down键 并且当enter按下键 文本被复制 所选文本被复制到初始表单 就像您单击该项目时当前完成
  • Pandas:处理测试中看不见的数据

    我有一个训练数据集 正在构建一些机器学习模型 我无权访问测试集 并且想要处理在训练中未观察到测试中的分类特征之一的可能性 这是一个玩具示例 说明了我的意思 我有一个数据框 old 像这样 old pd DataFrame car Audi
  • 通过key查询模型

    我想做的是查询数据存储中的模型 其中密钥是not我已经拥有的对象的密钥 这是一些代码 class User db Model partner db SelfReferenceProperty def text message self ms
  • IDA Python - 为什么我的代码返回不正确的 ESP 值?

    我制作了一个 ida python 代码 用于检查代码覆盖率 但是当我使用这个脚本时 我遇到了运行时错误 并且无法获得正确的 ESP 值 我的代码 from idaapi import class DbgHook DBG Hooks def
  • 包装 np.arrays __pow__ 方法

    我只是重新审视我的一些代码以提高性能 并遇到了一些奇怪的事情 a np linspace 10 1000 1000000 reshape 1000 1000 timeit np square a 100 loops best of 3 8
  • 解析srt字幕

    我想解析srt字幕 1 00 00 12 815 gt 00 00 14 509 Chlapi jak to jde s t ma pracovn ma sv tlama 2 00 00 14 815 gt 00 00 16 498 Tro
  • Python 中的 HTML 解析器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 使用Python文档我发现了HTML解析器 http docs python org lib modu
  • 剥离功能未按预期工作

    def sstrip a b raw input enter the string to be stripped off i a strip b print i k raw input enter the string sstrip k o
  • 在 cmd.Cmd 命令行解释器中更好地处理键盘中断

    在使用 python 的 cmd Command 创建自定义 CLI 时 如何告诉处理程序中止当前行并给我一个新的提示 这是一个最小的例子 console min py run python console min py import cm
  • 将 LIVE SPEECH 与 Tkinter GUI 连接

    我想将 pocketsphinx livespeech 与 Python tkinter GUI 连接起来 这样 GUI 在前端可见 而 Livespeech 在后端工作 但是当我将 tkinter 代码与 livespeech 代码合并时
  • 无法在 Debian lenny 上安装 python 模块“pycrypto”

    我尝试通过下载源代码并执行以下命令来安装 pycrypto 模块python setup py install 然后出现错误 running install running build running build py running bu
  • 使用 M1 Mac 进行 Python 多处理

    我有一台 Mac Mac Os 11 1 Python Ver 3 8 2 需要在多处理中工作 但程序不起作用 import multiprocessing def func index int print index manager mu

随机推荐

  • GWT 无法从 Hibernate 序列化我的对象

    这是我收到的错误 我到处寻找答案 但我无法弄清楚为什么其他人没有遇到同样的问题 当我从 Hibernate 检索 Proposal 对象时 会发生错误 该对象在作者和顾问这两个属性上具有 User Info 多对一约束 如果需要 我可以提供
  • 以编程方式将项目添加到相对布局

    我一直在到处寻找这个问题的答案 我是 Android 新手 尝试通过 java 而不是 xml 以编程方式将项目添加到相对布局 我创建了一个测试类来尝试一下 但项目不断堆叠而不是正确格式化 我现在只想将一个 TextView 放在另一个下面
  • OpenCL 中的重叠传输和设备计算

    我是 OpenCL 的初学者 我很难理解某些东西 我想改进主机和设备之间的图像传输 我制定了一个计划来更好地了解我 顶部 我现在拥有的 下图 我想要的 HtD 主机到设备 和DtH 设备到主机 是内存传输 K1 和 K2 是内核 我考虑过使
  • 使用 v8::Locker 的正确方法是什么?为什么必须使用它?

    我正在尝试使用 NDK 将 v8 嵌入到 Android 应用程序中 我有一个看起来像这样的 JNI 模块 未显示 JNI 映射代码 include
  • 我可以显示托管在 bitbucket 上的 Ipython 笔记本吗?

    我有一个非常简单的笔记本 托管在 github 和 bitbucket 上 这github 网址 https github com thomas haslwanter statsintro blob master ipynb demo ip
  • 具有 EditText 材质设计的工具栏

    我正在尝试制作带有 EditText 的工具栏 如下所示 现在我可以做一些类似的事情 但只能使用静态标题 有什么想法可以开始吗 我已经这样做了 如下所示 有Toolbar as AppBar aka ActionBar 位于顶部 其下方的第
  • Numpy,沿数组维度应用函数列表

    我有一个类型的函数列表 func list lambda x function1 input lambda x function2 input lambda x function3 input lambda x x 和形状为 4 200 2
  • 在 MacOS X 上安装 Node.js、nvm 和 npm 的推荐方法是什么?

    我正在尝试使用Homebrew https brew sh越多越好 推荐的安装方式是什么Node js https nodejs org en nvm https github com nvm sh nvm and npm https ww
  • 如何使用 Linq 对通用集合进行分页?

    我有一个 System Generic Collections List Of MyCustomClass 类型对象 给定整数变量 pagesize 和 pagenumber 如何仅查询 MyCustomClass 对象的任何单个页面 如果
  • 如何将 char 指针转换为 int 指针

    我想投射一个指针pc它将 char 指向一个点pi它指向 int char pc int pi pi int pc compiler complaint about old style cast pi static cast
  • KSQL 是否支持 Kafka 流处理保证?

    我想知道KSQL是否支持https docs confluence io current streams concepts html processing guarantees https docs confluent io current
  • 为唯一字段显示 Django 错误消息

    我想更改当重复条目尝试保存时的默认错误消息 而它们应该是唯一的 即unique True 很像这样 email models EmailField unique True error messages unique This email h
  • 确定字符串是否为有效的浮点值

    有没有一种方法可以简单地检查字符串值是否是有效的浮点值 如果字符串不是数值 则对字符串调用 to f 会将其转换为 0 0 当传递一个无效的浮点字符串时 使用 Float 会引发异常 该字符串更接近我想要的 但我不想处理捕获异常 我真正想要
  • 如何创建看起来与 ContextMenu 完全相同的对话框?

    有时使用标准活动方法来创建上下文菜单并不方便 因为一个活动中可能有很多地方 但在不同的类中 需要显示上下文菜单 但从任何地方创建对话框都很容易 如何创建看起来与 ContextMenu 完全相同的对话框 我在哪里可以找到标准上下文菜单的布局
  • 如何检测安装的Chrome版本?

    我正在开发一个 Chrome 扩展程序 我想知道是否有一种方法可以检测用户正在使用哪个版本的 Chrome 获取 Chrome 的主要版本作为整数 function getChromeVersion var raw navigator us
  • 剥离功能未按预期工作

    def sstrip a b raw input enter the string to be stripped off i a strip b print i k raw input enter the string sstrip k o
  • 为什么 Python 中的元组不可变? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么 python 字符串和元组是不可变的 https stackoverflow com questions 1538663 why are python strings and tuples a
  • 查找数据框中前 n 行的总和

    我想找到前面的总和n数据框中的行 例如 id 1 10 vals c 4 7 2 9 7 0 4 6 1 8 test data frame id vals So for n 3 我想将下一列计算为 test sum c NA NA 13
  • 与 C 数组相比,带有 NumPy 数组内存视图的 Cython 性能较差

    我遇到了一个非常奇怪的结果基准 http nbviewer ipython org github rasbt One Python benchmark per day blob master ipython nbs day4 python
  • Python,创建对象

    我正在尝试学习 python 现在我正在尝试掌握类的窍门以及如何使用实例来操作它们 我似乎无法理解这个练习问题 创建并返回一个学生对象 其姓名 年龄和专业为 与作为输入给出的相同 def make student name age majo