python中类的组成_Python中类似C的结构

更新:数据类

通过引入数据类中的Python 3.7,我们非常接近。

下面的示例类似于下面的NamedTuple示例,但是结果对象是可变的,并且允许使用默认值。

from dataclasses import dataclass

@dataclass

class Point:

x: float

y: float

z: float = 0.0

p = Point(1.5, 2.5)

print(p)  # Point(x=1.5, y=2.5, z=0.0)

如果您想使用更多特定的类型注释,那么这与新的键入模块配合使用非常好。

我一直在拼命等待!如果您问我,数据类和新的NamedTuple声明,再加上键入模块,真是天赐之物!

改进了NamedTuple声明

从Python 3.6开始,只要您可以忍受不变性,它就变得非常简单和美观(IMHO)。

引入了一种声明NamedTuples的新方法,该方法还允许类型注释:

from typing import NamedTuple

class User(NamedTuple):

name: str

class MyStruct(NamedTuple):

foo: str

bar: int

baz: list

qux: User

my_item = MyStruct('foo', 0, ['baz'], User('peter'))

print(my_item) # MyStruct(foo='foo', bar=0, baz=['baz'], qux=User(name='peter'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值