目录

基础信息

版本

python 2.7

python 3.x

python2.7 版本在 2020 年后不再提供支持,建议新手使用 3.x 版本进行学习

实现

cpython:python的标准实现;

pypy:用 rpython 实现,目标实在提高性能;

jpython:将 python 编译成 java 字节码,使其能在 jvm 中运行,目前支持 python2.7;

ironpython:是 .net 平台下的一种实现,支持 .net 平台下的语言调用 python代码;

pythonnet:是一个为 python 本地安装和 .net 公共语言运行库(clr)提供无缝整合的软件包;

安装 python

mac os x

windows

linux

在 windows 上安装完成后检查一下是否配置了 python 和 scripts 的环境变量,方便 cmd 快速启动。

虚拟环境

pipenv

virtualenv

//安装

pip3 install virtualenv

//查看版本号

virtualenv --version

//创建虚拟环境

virtualenv venv

//创建一个独立的虚拟环境

virtualenv --no-site-packages venv

//激活虚拟环境

source venv/bin/activate

//退出虚拟环境

deactivate

//删除虚拟环境

rm virtualenv venv

//查看帮助

virtualenv -h

python 开发环境

pycharm

visual studio code

visual studio 2017

上述命令在 ubuntu 环境下测试可用,新手在 windows 上开发还是建议使用 pycharm

写出优雅的 python 代码

代码结构

仓库结构

readme.rst

license

setup.py

requirements.txt

sample/__init__.py

sample/core.py

sample/helpers.py

docs/conf.py

docs/index.rst

tests/test_basic.py

tests/test_advanced.py

具体模块

位置

./sample/ 或 ./sample.py

目的

具体代码

授权

位置

./license

目的

法律相关

setup.py

位置

./setup.py

目的

包安装和分发管理

依赖文件

位置

./requirements.txt

目的

开发中的依赖

文档

位置

./docs/

目的

项目的参考文档

测试套件

位置

./test_sample.py 或 ./tests

目的

软件包集成和单元测试

makefile

位置

./makefile

目的

通用的管理任务。

模块

使用 import * 会使代码更难阅读,并使得依赖更少的分块。

包系统

面向对象编程

将有上下文和副作用的函数与逻辑函数(称为纯函数)隔离开来,可以获得以下好处:

纯函数是确定性的:给定一个固定的输入,输出始终是相同的。

纯函数需要重构或优化时,更容易更改或替换。

纯函数更易于使用单元测试进行测试:对于复杂的上下文设置和事后的数据清理的需求更少。

纯函数更容易操作、修饰和传递。

装饰器

上下文管理器

动态类型

可变和不可变类型

除了 str.join() 和 +,您也可以使用 % 格式运算符来连接确定数量的字符串,但 pep 3101 建议使用 str.format() 替代 % 操作符。

编码风格

明确代码意义

函数参数

必选参数

关键字参数

任意参数列表 (*args)

任意关键字参数字典(**kwargs)

避免魔法方法

魔法方法: 改变对象创建和实例化的方式; 改变python解释器导入模块的方式;甚至可能(如果需要的话也是被推荐的)在 python 中嵌入 c 程序。

任何不开放给客户端代码使用的方法或属性,应该有一个下划线前缀;

建议在函数体中避免使用返回多个有意义的值;

习语

解包(unpacking)

许多 python 风格指南建议使用单下划线的 _ 而不是这里推荐的双下划线 __ 来标记废弃变量。问题是, _ 常用在作为 gettext() 函数的别名,也被用在交互式命令行中记录最后一次操作的值。相反,使用双下划线 十分清晰和方便,而且能够消除使用其他这些用例所带来的意外干扰的风险。

约定

检查变量是否等于常量;

访问字典元素;

访问字典元素:不要使用 dict.has_key() 方法。 相反,使用 x in d 语法,或者将默认参数传递给 dict.get() 方法。

列表推导式,除此之外,map() 和 filter() 函数在列表的操作上也是非常简洁的。

读文件;使用 with open 语法来读文件,它能够为你自动关闭文件。

python 应用场景

部署优雅的 python 代码

附录

相关参考

希望与广大网友互动??

点此进行留言吧!

python最佳实践指南试题_Python 最佳实践指南 2018 学习笔记相关推荐

  1. python最佳实践指南试题_Python最佳实践指南 阅读笔记

    创建将0到19连接起来的字符串1 2 3 4 5 6 7 8nums = [] for n in range(20): nums.append(str(n)) print "".j ...

  2. 《Python编程从入门到实践》袁国忠 译 P1~P200学习笔记

    <Python编程从入门到实践>袁国忠 译 P1~P200 学习笔记 <Python编程从入门到实践>袁国忠 译 P1~P200之前两天在学习时做的笔记总结,在这里也记录一下, ...

  3. 《软件测试实践--测试Web MSN》 之我的学习笔记(一)

    开篇话: 对于软件测试,对于一名大三的学生来说,我了解的确实不多,也很不全面,可以说是从学长学姐得到一些有些以偏概全的观点: 比如: 1.测试比开发要求的技术门槛要低,简单地来说,测试人员只需要轻点鼠 ...

  4. python plt包_Python 数据可视化-Matplotlib包学习笔记(一)

    Python 数据可视化 本文主要参照Matplotlib的官方教程进行整理,作为个人的学习笔记进行分享,欢迎相互讨论. Matplotlib包学习笔记(一) 本文主要简单介绍一下Matplotlib ...

  5. python字典里存字符_Python字典和字符串的学习

    学习Python的字典还是和oc的字典进行对比学习,首先我们来创建一个字典.根据oc中字典一样,字典是无序的,根据键来进行取值. oc: oc中的字典分为可变字典和不可变字典,在对字典进行增,删的时候 ...

  6. 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:05 特征工程和NLP算法

    05 特征工程和NLP算法 5.1 理解特征工程 5.1.1 特征工程的定义 5.1.2 特征工程的目的 5.1.3 一些挑战 5.2 NLP中的基础特征 5.2.1 句法解析和句法解析器 5.2.2 ...

  7. 阿里云天池 Python训练营Task3: Python基础进阶:从函数到高级魔法方法 学习笔记

    本学习笔记为阿里云天池龙珠计划Python训练营的学习内容,学习链接为:https://tianchi.aliyun.com/specials/promotion/aicamppython?spm=5 ...

  8. python表单提交的两种方式_Flask框架学习笔记之表单基础介绍与表单提交方式

    本文实例讲述了Flask框架学习笔记之表单基础介绍与表单提交方式.分享给大家供大家参考,具体如下: 表单介绍 表单是HTML页面中负责数据采集功能的部件.由表单标签,表单域和表单按钮组成.通过表单,将 ...

  9. python 网页爬虫作业调度_第3次作业-MOOC学习笔记:Python网络爬虫与信息提取

    1.注册中国大学MOOC 2.选择北京理工大学嵩天老师的<Python网络爬虫与信息提取>MOOC课程 3.学习完成第0周至第4周的课程内容,并完成各周作业. 4.提供图片或网站显示的学习 ...

最新文章

  1. android intent 源码,Android 基础之 IntentService 源码
  2. Go 语言编程 — 并发 — GMP 调度模型
  3. Android 短视频拍摄、拍照滤镜 第三方库SDK
  4. 精简系统绝对不可删除的应用程序
  5. 【微信开发】上传下载多媒体文件
  6. C++工作笔记-getter/setter方法中大佬的风格
  7. php调用易语言的dll文件,【PHP】真正意义上的PHP调用易语言DLL
  8. 深入浅出统计学读后感
  9. 跨境电商自建独立站CMS
  10. 【ERP】概念_UFO报表
  11. kt条件例题运筹学_运筹学讲解习题
  12. Win10 搭建自带的ftp站点
  13. 国内开源镜像站点汇总2017年10月版
  14. glTF格式介绍——目录
  15. Monkey工具详解
  16. VMware Workstation Pro新建虚拟机的操作步骤
  17. firefox 国际版 账户登录 国内账户 切换 同步问题
  18. 感谢时光让我在最美的年纪遇到你
  19. go 异常捕获和处理(panic/recover)
  20. 什么是:堡垒机、虚拟专用网、日志审计、数据库防水坝、防火墙

热门文章

  1. SQLite的FLOOR函数和POWER函数和TYPEOF函数
  2. BZOJ2843 - 极地旅行社
  3. 折弯机使用说明书_MERUGA数控折弯机操作手册
  4. mysql 查询 不用星号,MySQL Cookbook系列博客
  5. mysql按照日期先去重在分组_1. 基本概念 · MySQL Small Cookbook · 看云
  6. 【004】基于51单片机的音乐播放器proteus仿真设计
  7. 如何在智慧团建上转组织呢?---看完让你充满智慧哦!
  8. 2022美容师(高级)操作证考试题及答案
  9. Could not retrieve
  10. 北京新能源车指标新申请者或等8年 已排队至2027年