首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我应该在Python方法名称中使用get_/set_前缀吗?

在Python中,关于方法名称是否使用get_set_前缀这个问题,这取决于您的编码风格和个人偏好。然而,在Python社区中,有一些通行的规范和建议。

  1. 获取属性的方法使用get_前缀。例如,如果您有一个名为name的属性,您可以使用get_name()方法来获取它的值。
  2. 设置属性的方法使用set_前缀。例如,如果您有一个名为name的属性,您可以使用set_name(value)方法来设置它的值。

这些前缀有助于使代码更具可读性,并且可以清楚地表明方法的目的。然而,请注意,这并不是一个硬性规定,您可以根据自己的编码风格和项目需求来决定是否使用这些前缀。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

应该使用 PyCharm 在 Python 编程

Python 是一种广泛使用的编程语言,以其简单、多功能和庞大的开发人员社区而闻名。这个社区不断创建新的库和工具,以提高Python编程的效率和便利性。...选择正确的环境来编写和调试 Python 代码可能具有挑战性,但 PyCharm 是一个很好的选择,从其他选项脱颖而出。 下面的文章将深入探讨PyCharm是否是你的Python编程的正确选择。...此外,它对于使用流行的Web应用程序框架(如Django和Flask)进行Web开发特别有用。此外,程序员还可以使用各种API创建他们的Python插件。...代码导航 - PyCharm 允许您快速浏览代码库,包括跳转到特定类、方法或文件的能力。 代码重构 - PyCharm 包含一组代码重构工具,可以轻松改进代码的结构和质量。...版本控制集成 - PyCharm支持广泛的版本控制系统,如Git,Mercurial和SVN,使得使用存储在版本控制存储库的代码变得容易。

4.6K30
  • C++ .NET编程:托管C++概述

    名称空间是类型的一种逻辑命名方案,.NET使用该命名方案用于将类型按相关功能的逻辑类别进行分组,利用名称空间可以使开发人员更容易在代码浏览和引用类型。...,我们不需要在方法之前使用virtual关键字或在方法之后加上“= 0”。...(4) 简化属性操作  在__gc类可以使用.NET的属性,这个属性简化了属性函数的调用操作,这与标准C++的属性不一样。在标准C++中分别通过get_和put_成员函数来设置或获取相关属性的值。...从代码可以看出设置和获取属性的成员函数名称中分别使用set_get_,这样编译器会自动生成一个伪成员变量Size,这个变量名是set_get_成员函数后面的名称。...注意不要再在get_成员函数代码中使用这个伪成员变量Size,它会引起该函数的递归调用。   (5) 托管C++的委派    在C/C++,一个函数的地址就是内存地址。

    1.5K20

    python特性--property

    在定义一个类的时候,有时我们需要获取一个类的属性值,而这个属性值需要经过类的其他属性运算来获得的。那么很容易,只要我们在类定义一个方法,并且通过调用方法可以获取到那个需要运算的属性值。...python提供了一样东西:特性(property)。property避免了以上的问题,使得调用类的人只要知道类怎么用就可以了,而不用了解它是怎么实现的。这很好的实现了面向对象语言的封装性。...,初始化水果的名称为apple,单个价格(percost)为0.5元,个数(num)为0。...实际上,这个类包含了一些魔法方法,这些魔法方法为_ _set_ _,_ _get_ _,_ _del_ _。分别在类的属性的设置,获取和删除的时候自动调用。...反过来,在设置fruit.money的时候,就会自动调用set_money方法,同样通过定义的方法,获得了水果的个数,即self.num。

    59120

    使用Python 3.6 针对文件系统的这个神奇方法

    这是 Python 3.x 首发特性系列文章的第七篇。Python 3.6 首次发布于 2016 年,尽管它已经发布了一段时间,但它引入的许多特性都没有得到充分利用,而且相当酷。下面是其中的三个。...你在看代码时能正确回答?根据当地的习惯,在写作,你会用 10,000,000 或 10.000.000 来表示第一个数字。问题是,Python 使用逗号和句号是用于其他地方。...幸运的是,从 Python 3.6 开始,你可以使用下划线来分隔数字。...在 Python 3.6 及以后的版本,你的数学代码可以使用更直观的常数: print("Tan of an eighth turn should be 1, got", round(math.tan...如果你还没使用,那么将他们添加到你的工具箱

    33500

    2018年7月26日python面向对象的封装

    _name=name 但是共识并不能真正让所有人遵守,所以python中就增加语法限制属性,让属性私有化,不让外界直接访问 python规定了,双下划线开头的属性是私有的,语法上外界不能直接访问,如self...._ _name =name,将属性定位私有属性, 并固定必须用get,set方法才能访问对象的数据,在外部无法直接调用,错误形式 s1._ _name = "小六", 正确的额使用方法是:s.set_name...总结封装: 在python,封装按照如下步骤进行操作 (1) 定义类型,所有属性私有化[双下划线开头] (2) 每个属性提供set/get方法[赋值/取值] 命名规范:赋值:set_属性名称(..) ...取值:get_属性名称(..) (3) 在get/set方法,提供限制条件,让用户输入的东西真实符合生活。 怎么解决创建对象的时候用户输入的非法数据?...# python对象的属性,可以脱离类型,自己扩展 # 强大的功能,但是同时也是一种极度破坏代码完整性的功能 # 慎重使用 class Student:     def _ _init_ _(self

    40220

    python测试开发django-rest-framework-91.ChoiceField选项字段校验

    我们想让它显示 下架 和出售,这样看起来更友好 序列化 在序列化类里面使用get__display的方法,该方法获得choice字段对应的数据 下架和出售....这里涉及到一个很有用的实例方法get__display 对于模型中含有choices参数的字段, 是字段的名字, get_FOO_display()...to_representation 使用 接下来我们希望提交数据的时候,还是用原来的数字0和1提交,读出来的时候显示对应的名称 重写 ModelSerializer 类里面的 to_representation...方法,自定义序列化数据的返回,此时需去掉上面的 # chioce字段 get__display 显示名称 goods_status = serializers.CharField(source...重写 ChoiceField 如果我们在添加的时候,既可以添加 0 和 1 这 2 个状态,也可以提交”下架” 和 “出售” 这2种名称,查询的时候显示名称

    1.4K20

    Redis

    _ Jedis:Jedis是Redis官方首先的Java客户端开发包 Key不要过长–不建议超过1024 存储String: 以二进制方式操作 其value数据长度最多不超过512M 赋值**_ set..._、取值_ get_、删值 del、incr num、incrby** num 5、append num 5 存储Hash: String Key和String Value的map容器 每一个Hash可以存储...:hexists myhash username 获取属性数量 : hlen myhash == 2 获取所有属性名称:hkeys myhash 获取所有值: hvals myhash 存储list:...ArrayList使用数组方式: LinkedList使用双向链接方式: 双向链表增加数据 双向链表删除数据 两端添加: lpush mylist a b c --> c,b,a lpush mylist...劣势:内容文件大、效率低 需要进行相应配置–redi.conf ==>appendonly yes -->写入到appendonly.aof 无持久化 同时使用RDB和AOF 服务器查看redis路径

    19420

    - Python的集合

    重点:因为 set 集合只能包含不可变对象元素,而列表、集合本身都是可变对象,所以会报错 集合与列表的区别在 Python ,集合与列表的区别如下:列表的元素允许重复,集合的元素不允许重复,示例如下...add 方法向集合中新增一个元素 4在第 4 行,显示集合已经增加了一个元素 remove(item) 方法remove(item) 方法从集合删除指定元素 item,示例如下:>>> x = {...'neo', 'lily', 'hanmeimei'}>>> x.remove('hanmeimei')>>> x{'neo', 'lily'}在第 2 行,使用 remove 方法从集合删除一个元素...x.clear()>>> xset()在第 1 行,创建了一个包含 3 个元素的集合在第 4 行,使用 clear() 方法移除集合的所有元素在第 5 行,显示集合,结果表明所有元素都被删除了 union...比如说一个收银系统要把全部的销售信息录入到系统,为了避免某一收银员的信息重复录入只需要把信息存入集合就可以避免这一错误。正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

    10221

    剖析依赖属性

    在C#,属性最后是会编译成两个方法get_属性名和set_属性名(如果是只读属性,则没有set方法,反之没有get方法)。...,就是依赖属性,当明确了它的功能,想大家就不会对依赖二字产生疑惑了,依赖属性可以没有自己的字段,在使用时可以通过Binding从别的对象身上获取,给自己临时创建内存空间,这样不使用就不会有多余内存消耗...,这就要用到DependencyObject基类方法了,我们使用其中的SetValue方法和GetValue方法来操作依赖属性的值,请看下面改动后的代码: public class Pikachu...GetValue方法传入依赖属性的名字获取依赖属性的值,在Set块通过SetValue方法,给依赖属性赋值,对依赖属性的这层包装,使得我们在外部操作依赖属性变得简单,这也是为什么我们在正常使用感觉不到依赖属性的存在...只有Data属性是有字段在背后支撑的,它存储了“是皮卡丘”这个数据,皮卡丘对象和Button对象都是依赖属性,不占内存空间,它们之间使用Binding关联,形成数据通道,这样就实现了一块内存,供给多处使用

    46420

    面向对象语言的三大特征: 封装 继承 多态(一)——封装

    简单来说: 将某些部分隐藏起来(私有化),程序的其他位置是看不到的(没有办法直接调用) 私有化:将类的特征或者某些方法私有化,使得外部无法直接使用 2.封装的好处 保护隐私 — 把不想让外界知道的部分隐藏起来...隔离复杂度 ----- 把程序复杂的实现 隐藏起来 —> 对外提供一个简单的接口[方法] 来使用私有化内容 提高代码的健壮性 按照实际需要添加必要的判断 3.如何封装 一般就是将属性私有化, 对属性提供对应的...但是又需要调用和修改 因此,需要对外提供获取的简易接口 提供赋值的接口: 由外界来进行赋值,需要外界调用的时候传值进来,赋值的接口需要有一个形参 赋值方法的伪代码 def set_字段名(self...get_字段名(self): return self....>格式:@get方法名.setter 【关于装饰器详解见】修改其他函数的功能的神器——python装饰器 代码样例 class Person: def __init__(self, name

    39121

    Python面向对象_

    https://blog.csdn.net/zzw19951261/article/details/80314944 Python...私有属性 和 私有方法 a.如果子类继承了父类,父类有私有属性,那么私有属性不能被子类继承 子类继承的是父类的公有属性和公用方法 b.如果自定义类的属性和方法进行私有后,,使用这个类创建的对象,在类的外面...私有属性和私有方法的用处 a. 保证数据安全 9. 修改私有属性的值 a. get_私有属性/方法 b. set_私有属性/方法 10. 实力属性和实例方法 a....__all__ 只能限制from 模块名 * 在包 init 文件中加入限制条件 # 如果在__init__.py文件 使用__all__ 后面添加执行的元素(模块名) # 如果在其他的模块中使用该包的模块...只有all的元素的对应的模块才可以使用 # 配合 from 包名 import * __all__ = ["hm_sum", "hm_test"]

    44530

    Python 面向对象的总结_

    https://blog.csdn.net/zzw19951261/article/details/80261328 Python...私有属性 和 私有方法 a.如果子类继承了父类,父类有私有属性,那么私有属性不能被子类继承 子类继承的是父类的公有属性和公用方法 b.如果自定义类的属性和方法进行私有后,,使用这个类创建的对象,在类的外面...私有属性和私有方法的用处 a. 保证数据安全 9. 修改私有属性的值 a. get_私有属性/方法 b. set_私有属性/方法 10. 实力属性和实例方法 a....__all__ 只能限制from 模块名 * 在包 init 文件中加入限制条件 # 如果在__init__.py文件 使用__all__ 后面添加执行的元素(模块名) # 如果在其他的模块中使用该包的模块...只有all的元素的对应的模块才可以使用 # 配合 from 包名 import * __all__ = ["hm_sum", "hm_test"]

    33210

    SqlAlchemy 2.0 中文文档(五十)

    名称,这些名称被 SQLite 视为任何以sqlite_为前缀的对象名称。...set_ – 一个字典或其他映射对象,其中键是目标表的列名称,或者是 Column 对象或其他 ORM 映射的列,匹配目标表的列,值是表达式或文字,指定要采取的 SET 操作。...,这些对象被 SQLite 视为任何以 sqlite_ 为前缀的对象名称。...只是现在接受了“password”字段,其中应该包含一个密码短语: e = create_engine('sqlite+pysqlcipher://:testing@/foo.db') 对于绝对文件路径,应该在数据库名称使用两个斜杠...只是现在接受了“password”字段,其中应该包含一个密码短语: e = create_engine('sqlite+pysqlcipher://:testing@/foo.db') 对于绝对文件路径,应该在数据库名称使用两个斜杠

    32710

    来一点反射和Emit,让ORM的使用极度简化

    注意属性映射了字段名称,比如数据库的字段是UID,那么属性改个名字,象下面这样写也是完全可以的: public System.Int32 UserId         { get { return...如果我们将实体类先抽象出来一个接口,然后让框架根据该接口,自动继承EntityBase基类和实现接口的属性方法,那该多好啊! PS:这个想法已经想了好几年了,但总觉得不是很有必要。...同样,PDF.NET的广大用户也要求能够更简单的使用框架,跟上时代潮流。所以,最近才付诸实际行动。...OK,我们将这个代码封装到一个EntityBuilder类,定一个构造实体类的方法 private static Dictionary dictEntityType...属性名称跟表字段名称一致,且属性类型跟字段的数据类型相兼容 接口名称为“I”打头的表名称,否则需要使用时候映射一下 如果你不想有这些约束,或者想灵活映射字段和属性,那么还是手写实体类吧,多写一行代码,象本文开头示例的那个实体类一样

    97390

    谈谈 INotifyPropertyChanged 的实现

    所以, 对它的实现也显得非常重要, 下面接贴出知道的几种实现方式, 希望能起到抛砖引玉的作用。...拦截方式实现 如果对 Castal.DynamicProxy 有印象的话, 可以考虑使用 DynamicProxy 进行拦截实现, 的实现如下: // 1....先定义一个拦截器, 重写 PostProcess 方法, 当发现是调用以 set_ 开头的方法时, // 一般就是设置属性了, 可以在这里触发相应的事件。...未来 .Net 4.5 的实现方式 在即将发布的 .Net 4.5 , 提供了 CallerMemberNameAttribute 标记, 利用这个属性, 可以将上面提供的 SetProperty 方法进行改造...,不过却只有在 .Net 4.5 才有, 而且也许永远不会添加到 Silverlight

    55220

    ASP.NET AJAX(1)__Microsoft AJAX LibraryASP.NET AJAX(1)__Microsoft AJAX Library

    浏览器兼容层 面向对象类型系统 客户端基础类库 异步通信层        Microsoft AJAX Library为我们提供了javascript基础扩展,一些在javascript类型没有但是会经常用到的一种方法...,提供了一些在客户端可以直接使用的基础类库,比如最常用的StringBuilder,在我们直接使用AJAX的时候,我们通常需要创建一个XmlHttpRequest,然后对它做一些操作,然后把它send...这里首先演示一个Microsoft AJAX Library提供的面向对象类型系统 在aspx标记,可以在这个element创建类,具体方式如下 首先在页面添加一个ScriptManager...get_***或者set_***定义属性,这属于一个约定的做法 return this...._fullSpeed = value; }, toString: function() {//覆盖基类的toString方法

    1.2K40

    python技巧之下划线

    ) 双下划线前缀名称(例如__shahriar) 前后都带有双下划线的名称(例如__init__) 5、这些命名有什么不同?...1、python的moudles文件__all__作用 Python的moudle是很重要的一个概念,看到好多人写的moudle里都有一个__init__.py文件。...单下划线前缀名称(例如_shahriar) 以单下划线做前缀名称指定了这个名称是“私有的”。在 有些 导入import * 的场景,下一个使用你代码的人(或者你本人)会明白这个名称仅内部使用。...更多相关信息见““Importing * in Python”。 双下划线前缀名称(例如__shahriar) 以双下划线做前缀名称(特别是方法名)并不是一种惯例;它对解释器有特定含义。...还是不要这样写方法名,只让Python定义的特殊方法使用这种惯例吧。 5、这些命名有什么不同

    14910
    领券