当前位置: 首页 > news >正文

python工作可以做什么菜_python3 特色菜

背景

最近项目遇到一个问题:一个开源的python3.7的工程需要在python2.7的环境下运行起来。别问我为什么没找到python2.7的源码,问就是没有,py官网已经发话了20200101开始停止支持python2.7,所以人家都不用了吧。

feature1: 类型注解

python3.5的特性。

**存在的必要性:**方便提示变量的函数。现在的IDE做的都贼智能化,可以提示变量能调用的函数,这样的好处很多,防止误拼,加快打字节奏,尤其是工程较大时,记不住所有类函数,这时候联想功能就很amazing了。但python2的特色就是无变量类型。pyhton3.5就重新拾回这一特性了,真香回归现场,哈哈哈。

**不合理性:**失去了模板函数的优势。

举个栗子

实现一个加法函数

# python2.7

def add(a, b):

return a+b

# python3.7

def add(a: int, b: int = 0) -> int:

return a+b

feaure2: dataclass

python3.7的特性。

存在的合理性:减少一遍白痴的赋值,人性化。python2.7的类构造函数一般就是用来赋值的,将外界变量存成类的成员变量(貌似其他语言的构造函数也一样),将函数参数与__init__函数的赋值合二为一,人性化。

不合理性:貌似没有,哈哈哈。

举个栗子

实现一个student类

在这里插入代码片

# python2.7

class student(object):

"""this is an example class"""

def __init__(self,

name,

id,

age = 18):

self.name=name

self.id=id

self.age=age

# python3.7

@dataclass

class student:

"""this is a dataclass example"""

name: str

id: int

age: int = 18

本文地址:https://blog.csdn.net/RogersStar/article/details/107169855

希望与广大网友互动??

点此进行留言吧!

相关文章:

  • Evolution3D 的svn搬迁。
  • python网络自动化实例_python 自动化之路 day 08_2 网络编程
  • 新年了。今年Evolution3D要做的事
  • python组合数计算cmnn_求计算机大佬解答python题
  • hex字符串转byte数组 c_高频golang面试题:字符串转成byte数组,会发生内存拷贝吗?
  • 程序员考核的五大死因(上)
  • html怎么做图片自动轮播_自动果蔬售卖机作为载体的社区新零售怎么做?
  • 移动设备管理与OMA DM 协议 V5(3)
  • python直接调用类方法_python中可以直接用类调用方法吗
  • liferay5.2.3 删除7cogs样例
  • c++ class struct同名_结构体的各种使用方法详细讲解-cc++
  • python这天第几天_Python编程实现输入某年某月某日计算出这一天是该年第几天的方法...
  • RAID级别简介
  • 稀疏光流python_opencv3/Python 稠密光流calcOpticalFlowFarneback详解
  • 海底捞的启示(4):员工成长与职业生涯
  • CentOS7简单部署NFS
  • Docker下部署自己的LNMP工作环境
  • FineReport中如何实现自动滚屏效果
  • JAVA多线程机制解析-volatilesynchronized
  • laravel 用artisan创建自己的模板
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 对象引论
  • 二维平面内的碰撞检测【一】
  • 反思总结然后整装待发
  • 给新手的新浪微博 SDK 集成教程【一】
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 将 Measurements 和 Units 应用到物理学
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​iOS安全加固方法及实现
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (笔试题)分解质因式
  • (分布式缓存)Redis分片集群
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (一)Neo4j下载安装以及初次使用
  • (转)EOS中账户、钱包和密钥的关系
  • .Family_物联网
  • .gitignore文件_Git:.gitignore
  • .NET Core 2.1路线图
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 后台导出excel ,word
  • .Net 垃圾回收机制原理(二)
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .php文件都打不开,打不开php文件怎么办
  • @property括号内属性讲解
  • [ IO.File ] FileSystemWatcher