python3.4-3.8几个新特性

from enum import Enum
from typing import List, Dict

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

def greeting(name: str) -> str:
    return 'Hello ' + name

if __name__ == '__main__':
    #python3.4新特性,枚举, 个人觉得有点多此一举,写成类变量用起来会更简单写
    print(Color.RED.name, repr(Color.RED))
    #python3.5新特性,类型检查,对于解释型语言来说,这个类型检查还是很有用的,减少错误发生,同时增强可读性
    print( greeting('xiaoming') )
    #python3.6新特性,格式化字符串,即在普通字符串前添加 f 或 F 前缀,其效果类似于str.format()
    name = 'xiaoming'
    print(f'hello {name}')
    #python3.6新特性,带类型初始化
    numList: List[int] = []
    numList.append(100)
    numList.append(101)
    print(numList)
    mydic: Dict[str, int] = {'a':1, 'b':2}
    print(mydic)
    #python3.6新特性,即允许在数字中使用下划线,以提高多位数字的可读性
    a = 1_000_000
    print(a)
    #python3.8新特性,海象运算符,新增的语法 := 可在表达式内部为变量赋值。 它被昵称为“海象运算符”因为它很像是 海象的眼睛和长牙
    #在这个示例中,赋值表达式可以避免调用 len() 两次:
    if (n := len(numList)) > 1:
        print(f'List length is {n}')

 

你可能感兴趣的:(Python)