写点什么

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

作者:程序员晚枫
  • 2023-07-28
    重庆
  • 本文字数:849 字

    阅读完需:约 3 分钟

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

前言

熟悉 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}'
复制代码

写在最后

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


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

发布于: 刚刚阅读数: 3
用户头像

C++开发,开源项目:python-office 2020-10-09 加入

还未添加个人简介

评论

发布
暂无评论
想学Python高级编程?这个技巧你不能错过!_Python_程序员晚枫_InfoQ写作社区