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

前言

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

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

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

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

想学Python高级编程?这个技巧你不能错过!_第1张图片

提示方法

以下所有代码,都有上下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}'

写在最后

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

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

你可能感兴趣的:(python,开发语言,高级编程)