0 引言

之前用python跑过深度学习的代码,用过一段时间的jupiter和tensorflow;最近在Ubuntu下搭建起了VSCode + Anaconda的python开发环境,感觉很好用,尤其是用来做算法验证简直舒服得一匹。遂单独开一贴,记录一下python学习与使用中的一些好玩的点。

1 python中的函数参数

python是弱参数类型语言,这符合当前高级变成语言发展的趋势。我是从c++新标准中提倡使用的auto开始了解这一趋势的,后来在《面向对象编程》一课中,写jsp的时候,用到了var,也是根据初始化参数类型推测变量的类型。如今,python将这一趋势发扬光大,使得语言变得及其好用,简直舒服极了!!!

在python的函数定义中,延续了这一特点,使得其函数的定义方式天然就就具有重载性质,显示出了无与伦比的优美与简洁,举例如下。

from shapely.geometry importPointfrom shapely.geometry importLineStringfrom shapely.geometry importPolygonfrom shapely.geometry importMultiPoint#不指定参数类型,实际上相当于无限重载

defoutputAllAttributes(mem):print('geom_type',mem.geom_type)print('area',mem.area)print('bounds',mem.bounds)print('length',mem.length)print('distance',mem.distance)print('representative_point',mem.representative_point)print('\n')deftest():

# Point/LineString/Polygon类型的形参通过同一个函数调用,完美体现面向对象中“重载”的思想

p=Point(0,0)

outputAllAttributes(p)

line= LineString([(0,0), (0,1), (1,1),(1,0)])

outputAllAttributes(line)

poly= Polygon([(0,0), (1,1), (1,2)])

outputAllAttributes(poly)if __name__ == '__main__':

test()

2 Python函数是传值还是传引用

看了一贴,链接如下。

https://www.cnblogs.com/loleina/p/5276918.html

结论:python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。

如果函数收到的是一个可变对象(Number,String, Tuple)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。

如果函数收到的是一个不可变对象(List,Dictionary,Set)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。

3 python打包与生成.exe文件

https://blog.csdn.net/orangefly0214/article/details/81462245

# 介绍了setuptools的用法

https://www.cnblogs.com/mywolrd/p/4756005.html

# 介绍了将朋友python程序打包成linux/windows可执行文件的操作方法

4 bug修复

(1)python  matplotlib中文显示有问题。

https://jingyan.baidu.com/article/908080223cd201fd91c80fd5.html

(2)How to get the mpl_toolkits to install

https://github.com/matplotlib/matplotlib/issues/4546/

conda install pyqt #神奇地解决了

5 python编程惯例

https://github.com/jackfrued/Python-100-Days/blob/master/Python%E7%BC%96%E7%A8%8B%E6%83%AF%E4%BE%8B.md

(1)if __name__ == '__main__':

代码既可以导入,又可以执行

(2)in: 包含和迭代

if x in items:     # 包含

for x in items:   # 迭代

(3)zip组合键和值来创建字典

keys = ['1001', '1002', '1003']

values= ['骆昊', '王大锤', '白元芳']

d=dict(zip(keys, values))

print(d)

python一加到二十_46 python学习笔记相关推荐

  1. python一加到二十等于多少_Python 3.1新变化之性能改善篇(转载)

    Python 3.0发布七个月之后,Python核心开发人员于2009年6月27日发布了新的Python 3.1版本.虽然此3.1版本只是对Python 3.0的一次小型升级,但是它不仅为开发者带来许 ...

  2. JavaEE 企业级分布式高级架构师(二十)RocketMQ学习笔记(2)

    RocketMQ学习笔记 进阶篇 消息样例 普通消息 消息发送 发送同步消息 发送异步消息 单向发送消息 三种发送方式的对比 消费消息 顺序消息 如何保证顺序 顺序的实现 MessageListene ...

  3. 二十、D3D12学习笔记——环境光遮蔽

    好多天都没有更新D3D12的学习笔记了,因为最近确实学得有点乏,所以换了个方向,总结了一下之前学习的OpenGL和一些图形渲染的高级话题.那么回到D3D的学习,今天我们要介绍一下龙书对于环境光遮蔽的讲 ...

  4. python一加到二十等于多少_python-函数进阶

    python-函数进阶 1,名称空间 又名name space, 顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定 ...

  5. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  6. Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)—从而实现Python编程图文教程之详细攻略

    Python的IDE:基于Eclipse/MyEclipse软件的PyDev插件配置python的开发环境(不同python项目加载不同版本的python)-从而实现Python编程图文教程之详细攻略 ...

  7. python segy格式地震数据读写包segyio学习笔记(二)

    python segy格式地震数据读写包segyio学习笔记(二) 最近大致搞明白了segyio读取叠后和叠前segy数据的方法,以及内部存储结构,以两段代码为例: 叠后数据读取.这是一个从给定时窗内 ...

  8. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章) python常用的IDE: Windows: IDLE(gui), Eclipse+PyDev; Python(comman ...

  9. python word 操作 doc 文件格式转docx 格式 学习笔记

    python word 操作 doc 文件格式转docx 格式 学习笔记 from win32com import client as wc import time # TODO file_0 = & ...

最新文章

  1. 万物皆为向量:在线向量召回工程服务化实践
  2. JavaScript获取鼠标左键选中的内容
  3. JMS(Java消息服务)入门教程
  4. mysql分库负载均衡_订单模块以及负载均衡和分库分表
  5. 织梦图集php,织梦图集在首页、列表页、内容页调用图集所有图片及注释的方法...
  6. VTK:PolyData之SurfacePointPlacer
  7. java动态菜单显示实现,java – 为Spring MVC / AOP应用程序实现动态菜单
  8. 目标检测发展路程(一)——Two stage
  9. 服装业需要什么样的信息化?
  10. 贝莱德砸10亿美元买下指数定制公司,释放什么信号?
  11. arduino cc3000 php,【arduino】新手求助, 想问一下关於CC3000设置的问题
  12. ps做手机计算机界面,【炼真金】PS如何做出这种有厚度的手机APP 界面图
  13. 熟悉java的写什么毕业设计_计算机专业Java相关的毕业论文该如何写?
  14. 十个前端程序员必备的网站
  15. 美通企业周刊 | 爱立信已获100份5G商用合同;北京广东世界五百强数量领跑全国​...
  16. 【3Dprinter】3D打印机机型结构 UM、I3、Hbot等的简单介绍
  17. OpenGL学习三十九:飘动的旗帜
  18. 泰肯星球(Token Planets)基于EOS区块链技术的虚拟游戏
  19. EventBus的理解和使用
  20. 深度学习笔记其三:多层感知机和PYTORCH

热门文章

  1. Python输出黄金分隔数列前n项。 黄金分隔数列由Fibonacci数列相邻两项之比组成:1/1,1/2,2/3,3/5,5/8,...其取值逐渐接近黄金分隔数。
  2. CRC32碰撞解密压缩包密码的脚本
  3. oracle协议适配器错误00530,oracle监听程序无法启动(TNS-12560: TNS: 协议适配器错误,TNS-00530: 协议适配器错误)...
  4. python基础教程:强制数据类型转换教程及实例
  5. Django中六个常用的自定义装饰器
  6. Python中字符串切片详解
  7. linux驱动双摄像头,详解linux 摄像头驱动编写
  8. php ajax 点击后刷新当前页面,ajax请求值后返回会刷新页面?
  9. pycharm 报黄(黄字、黄色)警告 Local variable 'xxx' might be referenced before assignment
  10. 【中级软考】专利权的保护期限可以延长吗?商标使用权呢?