python 数据分析、挖掘与可视化 day2

文章题目

编码规范,标准库和扩展库对象的导入与使用



一、编码规范

       一个好的Python代码不仅应该是正确的,还应该是漂亮的、优雅的,读起来赏心悦目。代码布局和排版在很大程度上决定了代码可读性的好坏,变量名、函数名、类名等标识符名称也会对代码的可读性带来一定的影响。开发人员只有通过长期的练习才能具有编写优雅代码的功底和能力。

1.缩进

       Python对代码缩进是硬性要求, 严格使 使用缩进来体现代码的逻辑从属关系。一般以4个空格为一个缩进单位,并且相同级别的代码马块应具有相同的缩进量。在函数定义、类定义、选择结构、循环 结构、异常处理结构和with语句等结构中,对应的函数体或语句块都必须有相应的缩进。当某一行代码与上一行代码不在同样的缩进层次上,并且与之前某行代码的缩进层次相同时,表示上一个代码块结束。例如,在 Jupyter Notebook或Spyder中输入并运行下面的代码。

2.空格与空行

       在每个类、函数定义或一段完整的功能代码之后增加一个空行,在运算符两侧各增加一个空格,逗号后面增加一个空格,让代码适当松散一点,不要过于密集。
       在实际编写代码时,这个规范需要灵活运用。有些地方增加空行和空格会提高代码的可读性,更利于阅读。但是如果生硬地在所有运算符两侧和逗号后面都增加空格,则会适得其反。

3.标识符命名

       变量名、函数名和类名统称为标识符。在为标识符起名字时,应做到“见名知义”,例如,使用 age表示年龄、price 表示价格、area 表示面积。除非是用来临时演示或测试个别知识的代码片段,否则不建议使用 x、y、z 或者 al、a2、a3 这样的变量名。除了“见名知义”这个基本要求,在 Python 中定义标识符的时候,还应该遵守下面的规范
       必须以英文字母、汉字或下画线开头。
       名字中可以包含汉字、英文字母、数字和下画线,不能有空格或任何标点符号。                             不能使用关键字,例如,yield、lambda、def、else、for、break、if、while、try、return作为变量名都是非法的。
       区分英文字母的大小写,例如,student 和 Student 是不同的变量。
       不建议使用系统内置的模块名、类型名或函数名、已导入的模块名及其成员名作为变量或自定义函数名,例如,type、max、min、len、list等,也不建议使用其他内置模块和标准库的名字作为变量名或自定义函数名,例如 math、random、datetime、re 等。

4.续行

       尽量不要写过长的语句,应尽量保证一行代码不不超过屏幕宽度(并且一般建议一个函数不超过一个屏幕的高度)。如果语句确实太长而超过屏幕宽度,最好在行尾使用续行符 “ \ ” 表示下一行代码仍属于本条语句,或者使用圆括号把多行代码招话起来表示是一条语句。

5.注释

       对关键代码和重要的业务逻辑代码进行必要的注释,方便阅读和维护。在python中有两种常用的注释形式 : # 和 三引号。“#” 用于单行注释,表示本行中“#”符号之后的内容不作为代码运行 ; 三引号常用于大段说明性文本的注释, 也可以用于界定包含换行符的长字符串。 
       代码中加入注释原本是为了方便阅读和理解代码,用来说明关键代码的作用和主要思路,应该源于代码并且高于代码。如果代码已经很好地描述了功能,不建议增加没有必要的注释进行重复说明。

6.圆括号

       圆括号除了用来表示多行代码为一条语句,还常用来修改表达数计算顺序,或者增加代码可读性,避免歧义。

二、标准库、扩展库对象的导入与使用

       Python所有内置对象不需要做任何的导入操作就可以直接使用,但标准库对象必须先导入才能使用,扩展库则需要正确安装之后,才能导入和使用其中的对象。在编写代码时,一般先导入标准库对象,再导入扩展库对象。建议在程序中只导入确实需要使用的标准库和扩展库对象,确定用不到的没有必要导入,这样可以适当提高代码加载和运行速度,并能减小打包后的可执行文件的体积。

1.import模块名[as别名]

       使用 “import模块名[as 别名]” 的方式将模块导入以后,使用其中的对象时,需要在对象之前加上模块名作为前缀,也就是必须以“模块名对象名”的形式进行访问。如果模块名字很长,可以为导入的模块设置一个别名,然后使用 “别名.对象名” 的方式来使用其中的对象。在 Jupyter Notebook 中,输入下面的代码。 

import math 
import random
import posixpath as path

print(math.sqrt(16))                           #计算并输出 16的平方根 
print(math.cos(math.pi/4))                     # 计算余弦值 
print(random.choices('abcd',k=8))              # 从字符串'abcd'随机选择8个字符 
                                               # 允许重复
print(path.isfile(r'C:\Windows\notep ad.exe')) # 测试指定路径是否为文件

  

2.from模块名import对象名[as别名]

       使用 “from 模块名import对象名[as别名]” 的方式仅导入明确指定的对象,使用对象时不需要使用模块名作为前缀,可以减少程序员需要输入的代码量。这种方式可以适当提高代码运行速度,打包时可以减小文件的体积。
 

from math import pi as PI 
from os.path import getsize 
from random import choice
r=3
print (round(PI*r*r, 2))                   # 计算半径为3的圆面积 
print(getsize(r'C:\Windows\bootstat.dat'))  # 计算文件大小,单位为字节 
print(choice('Python'))                    # 从字符串中随机选择一个字符
 

3.from模块名import *

       使用 “from 模块名 import * ” 的方式可以一次导入人模块中的所有对象,可以直接使用模块中的所有对象而不需要使用模块名作为前缀,但一般没并不推荐这样使用。

from itertools import *

characters ='1234'
for item in combinations(characters, 3):   #从4个字符中任选3个的组合 
    print(item, end=' ')                   #“end='I”表示输出后不换行
print('\n'+'='*20)                         # 换行后输出20个等于号                    
for item in permutations(characters, 3):   # 从4个字符中任选3个的排列 
    print(item, end='')

总结

● Python支持命令式编程和函数式编程两种模式,完全支持面向对象程序设计,拥有大量的几乎支持所有领域应用开发的成熟扩展库。

● 常用的Python 开发环境除了 Python官方安装包自带的IDLE,还有Anaconda3、PyCharm、Eclipse、zwPython等。

● 在交互模式中,每次只能执行一条语句,必须等再次出现提示符时才可以输入下一条语句。

● 库或包一般指包含若干模块的文件夹,模块指一个包含若干函数定义、类定义或常量的Python 源程序文件。

● Python 自带的pip 工具是管理扩展库的主要方式,支持 Python 扩展库的安装、升级和卸载等操作。         

● 在Windows 平台上,如果在线安装扩展库失购败,可以下载扩展库编译好的 “.whl” 文件,然后    在命令提示符环境中使用pip命令进行离线安装。

● 一个好的Python代码不仅是正确的,还应该是漂亮的、优雅的,读起来赏心悦目。代码布局和排版在很大程度上决定了代码可读性的好坏不,变量名、函数名、类名等标识符名称也会对代码可读性带来一定的影响。

● 在给自己编写的程序文件命名时,不要使用I Python标准库和已安装扩展库的名字,否则会影响代码运行。

● 对于Python 代码来说,缩进是非常重要的。

● Python所有内置对象可以直接使用,不需要导入。

● 在编写代码时,一般先导入标准库对象,再是导入扩展库对象。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值