网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
静态语言:编译过程中会检查,会发下问题
动态语言:只有在运行时才会发现问题
# 1 由于编译期间不做任何检查,直到运行期间我呢提才会暴露
# 2 函数使用者并不知道参数类型的时候,容易传错参数类型
函数注解:给函数的形参一个类型,并有指向的return值
python3.5开始引入
可以用于第三方工具(如:pycharm)提示是否有return
3.6可以对变量进行注解,如:i:int = 3
业务应用
检查实参类型
__annotations__是一个字典,其中包括返回值类型的声明。
inspect模块:提供回去对象信息的函数,可以检查函数和类、类型检查
# signature(callable)函数,可以获取签名(函数签名包含了一个函数的信息,包括:函数名、参数类型、函数所在的类和名称空间及其他信息)
inspect模块
inspect.isfunction(add) 是否是函数
inspect.ismethod(add) 是否是类的方法
inspect.isgenerator(add) 是否是生成器对象
inspect.isgeneratorfunction(add) 是否是生成器函数
inspect.isclass(add) 是否是类
inspect.ismodule(inspect) 是否是模块
inspect.isbuiltin(print) 是否是内建对象
inspect模块 - parameter对象
保存在元组中,只读 OrderedDict([(‘x’, ), (‘y’, ), (‘args’, ), (‘kwargs’, )])
name 参数名
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!