想学Python高级编程?这个技巧你不能错过!

举报
程序员晚枫 发表于 2023/07/28 21:26:02 2023/07/28
【摘要】 高级编程,第一讲

前言

熟悉Python的朋友都知道,Python有一个让人又爱又恨的特点:数据类型的定义和使用非常的灵活。

在编写一个简易脚本的时候,这个特点让编程难度显著下降;但如果你需要编写一个大型程序,而且还需要多人协作时,没有类型定义的数据类型,真的让人崩溃!

也许Python的维护者也发现了这个问题,从Python3.5开始加入了类型提示的功能,不仅能对基础数据类型提示,也可以对自定义的类进行提示。

今天我们就来一起学习一下。

提示方法

以下所有代码,都有上下2部分,它们的运行结果都是一致的,主要区别是:

  • 上:未使用类型提示的代码
  • 下:使用了类型提示的代码

1、变量

未使用类型提示的

name = '程序员晚枫'
fans = 24

使用了类型提示的

name: str = '程序员晚枫'
fans: int = 24

2、方法

未使用类型提示的

def info(name, fans):
    return f'我的小破站是:{name},粉丝数是:{fans}'

使用了类型提示的

def info(name: str, fans: str) -> str:
    return f'我的小破站是:{name},粉丝数是:{fans}'

3、集合

未使用类型提示的

dict_of_users = {
    '小破站': "程序员晚枫",
    '小红薯': "程序员晚枫",
    '某乎': 1
}

使用了类型提示的

dict_of_users: dict[int, str | int] = {
    '小破站': "程序员晚枫",
    '小红薯': "程序员晚枫",
    '某乎': 1
}

4、自定义的类

未使用类型提示的

class Account:
    def __init__(self, name, fans):
        self.name = name
        self.fans = fans


def info(account):
    return f'我的小破站是:{account.name},粉丝数是:{account.fans}'

使用了类型提示的

class Account:
    def __init__(self, name: str, fans: int):
        self.name = name
        self.fans = fans


def info(account: Account) -> str:
    return f'我的小破站是:{account.name},粉丝数是:{account.fans}'

写在最后

最后要提醒一下大家,以上所有提示,只是为了更好的编写和维护程序,而不是真正实现了数据类型定义的功能。

所以它们只对编写程序的人阅读代码时有用,对程序运行时来说是没有用的。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。