栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python编码风格

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python编码风格

中国史之【黄帝即位】
约公元前2697年 黄帝继承了有熊国君的王位。在黄帝成为氏族首领之后 有熊氏的势力得到迅速发展 并形成一个独立的黄帝部落。
-来源 全历史APP

今天讲python的编码风格以及文件结构。有需要的也可以直接去我的github查看全部笔记。

俗话说 “好记性不如烂笔头” 多写写多记记 总不会错。多一些不为什么的坚持 少一些功利主义的追求。

对于环境的配置 可以参考 手把手实战配置深度学习环境 win10版 以及手把手实战配置深度学习环境 Ubuntu20.04版 。

1、语句语法 表示续行 #是单行注释 “” 或’’’ ‘’ 是多行注释每一个python文件都可以当做一个模块 所以模块通常都是可调用函数 而不是直接的语句因为import进来会直接运行语句了 所以使用主程序name main来实现测试模块的效果 2、编码风格 每个模块文件、类、函数开头都可以用 “或” “”“写文件描述 可以使用”.doc 来查看变量名的首字母只能用字母或者下划线 不能用数字 因为担心变量名和数值混淆

这里举一个函数为例

def resnet18(pretrained False):
 Constructs a ResNet-18 model.
 Args:
 pretrained (bool): If True, returns a model pre-trained on ImageNet
 model ResNet(BasicBlock, [2, 2, 2, 2])
 if pretrained:
 model.load_state_dict(model_zoo.load_url(model_urls[ resnet18 ]))
 return model

通常定义一个函数 有函数模块的功能描述和参数描述 就比较清晰了。

print(str.__doc__) # 使用__doc__获取内置函数的介绍文档

输出结果

str(object ) - str
str(bytes_or_buffer[, encoding[, errors]]) - str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to sys.getdefaultencoding().
errors defaults to strict .

再补充一下命名规则

_x不会被from module import *语句导入x是系统定义的变量名 对python解释器有特殊意义__x是类的本地变量 在类的内部使用交互模式下 _ 用于保存最后表达式的结果 3、python文件结构

1 起始行 对于linux系统 可以使用#/usr/bin/env python 对于windows 不用写明coding UTF-8 因为python3默认就是UTF-8

2 模块文档 单行用 “ 多行用” “” 如 This is a test module.

3 模块导入 如import sys

4 全局 变量定义 如Flag False

5 类定义(若有) 如

class F(object): 
 this is a F class. 
 # TODO

6 函数定义 若有 如

def test(): 
 test function 
 f F() # 类的实例化 
 # TODO

7 主程序 实现测试效果

if name main : 
 test()

补充
1、没有缩进的语句 在模块被导入时就会执行 所以除了那些真正需要执行的代码以外 所有的功能代码都通过函数来建立 所以仅在主程序模块中编写大量的执行代码 其他都应该为类或函数以供调用

2、每个模块都有一个名为name的内建变量 此变量值会根据调用此模块的方式发生变化 如果此文件被作为模块导入 则name的值为模块名称 如果此文件被直接执行 则name的值为 main 所以编写if name语句是有利于模块的封装与测试。

【声明】 学习笔记基于互联网上各种学习资源的个人整理。

以上是本期内容 下期介绍python的对象以及主要的数据类型。

我叫小保 一名计算机视觉爱好者、学习者、追随者 欢迎关注我一起学习。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号