Python编程范式 —— 命名与排版

Powershell语言的编程范式 param (param ($i++) {& $action[int]$AgePowerShell是一种功能强大且灵活的编程语言,提供了多种编程范式,使其在自动化、配置管理和系统监控等领域得到了广泛应用。它的对象为中心设计、管道功能以及跨平台支持,使得开发和运维人员能够更高效地处理复杂的任务。随着技术的不断发展,PowerShell将继续在系统管理和自动化领域发挥重要作用。在深入学习和使用PowerShell的过程中,用户可以不断发现其强大的功能以及开发效率,真正实现自动化运维的理念。 阅读详情

 

“我没写过诗,但是有人说我写过的代码,像诗一样优雅。 —— 雷军”



命名法则

 

模块、包名:小写字母、单词之间用“_”分割,但尽量不要用下划线(除非多个单词,且数量不多的情况)

类名: 所有单词的首字母大写;内部类可以使用额外的前导下划线。

 

普通函数、变量:

  1. 小写字母,单词之间用_分割;
  2. 如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线好于使用缩写或奇怪的拼写。
  3. 标识符由字母、数字、下划线组成,且不能以数字开头;

 

全局变量名、常量名:大写字母,单词之间用_分割(所有语言皆是如此)

 

 

类中的成员:

  1. 实例变量:以_开头,其他和普通变量一样
  2. 私有实例变量(外部访问会报错):以__开头(2个下划线),其他和普通变量一样
  3. 私有函数(外部访问会报错):以_开头(1个下划线),其他和普通函数一样
  4. 专有变量:__开头(两个下划线),__结尾,一般为python的自有变量,不要以这种方式命名

 

异常:以“Error”作为后缀。

 

语句:

  1. 在同一行使用多句语句,语句之间就必须使用分号(;)分割;
  2. 使用反斜杠(\)将一个语句拆分为多行;
  3. 缩进:4个空格;

 

缩写

命名应当尽量使用全拼写的单词,缩写的情况有如下两种:

1. 常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。

2. 命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。

 

下划线有关:

一个前导下划线:protected修饰变量,即保护变量,意思是只有类对象和子类对象自己能访问到这些变量;

一个后缀下划线:避免关键字冲突。

两个前导下划线:private修饰变量,私有成员;只有类对象自己能访问,连子类对象也不能访问到这个数据。

两个前导和两个后缀下划线(系统专有变量):“魔”(有特殊用途)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。

_xxx      不能用'from module import *'导入 
__xxx__ 系统定义名字 
__xxx    类中的私有变量名 

核心风格:避免用下划线作为变量名的开始。

因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。

 


代码排版

 

行长度

1)每行不超过80个字符

2)不要使用反斜杠连接行.

 

3)Python会将圆括号, 中括号和花括号中的行隐式的连接起来, 你可以利用这个特点。如果需要, 你可以在表达式外围增加一对额外的圆括号。

Yes: foo_bar(self, width, height, color='black', design=None, x='foo',

             emphasis=None, highlight=0)



     if (width == 0 and height == 0 and

         color == 'red' and emphasis == 'strong'):

 

4)如果一个文本字符串在一行放不下, 可以使用圆括号来实现隐式行连接:

x = ('This will build a very long long '
     'long long long long long long string')

 

在注释中,如果必要,将长的URL放在一行上。

No:  # See details at
     # http://www.example.com/us/developer/documentation/api/content/\
     # v2.0/csv_file_name_extension_full_specification.html

 

括号

1)宁缺毋滥的使用括号

2)顶级定义之间空两行, 方法定义之间空一行

 

使用空格

1)在二元运算符两边各空一格[=,-,+=,==,>,in,is not, and]:

2)函数的参数列表中,之后要有空格

3)函数的参数列表中,默认值等号两边不要添加空格

4)左括号之后,右括号之前不要加多余的空格

5)字典对象的左括号之前不要多余的空格

 


命名法

帕斯卡命名法(又叫大驼峰式命名法。):

   每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”。

   单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。

 

驼峰式命名法:

1、小驼峰式命名法(lower camel case):

  第一个单词以小写字母开始,第二个单词的首字母大写。例如:firstName、lastName。

2、大驼峰式命名法(upper camel case):

  每一个单词的首字母都采用大写字母,例如:FirstName、LastName、CamelCase,也被称为 Pascal 命名法。

 

匈牙利命名法:

开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。

  int iMyAge; “i”是int类型的缩写;

  char cMyName[10]; “c”是char类型的缩写;

  float fManHeight; “f”是float类型的缩写;

 

 

四、Python作用域、函数及编程范式 Python作用域、函数及编程范式 阅读详情

相关推荐

5、Python 编程中的函数式与面向对象编程范式

本文深入探讨了 Python 中的两种主要编程范式:函数式编程和面向对象编程。介绍了函数式编程中的 lambda 函数、高阶函数、过滤、映射和归约操作,并通过示例展示了如何使用这些技术处理数据。同时,文章详细讲解了面向对象编程的基础知识,包括类的定义、实例化、属性、方法、封装、继承和多态。最后,还探讨了如何将函数式与面向对象编程结合使用,以提高代码的可维护性和可扩展性。适合希望全面了解 Python 编程范式的开发者阅读。

table的专栏 86

雷军 1994 年写的代码,你见过吗?厉害了!

之前来了一位技术支持人员,而这位技术人员进公司的第一份工作,就是帮雷军整理他的硬盘。只要你程序写得好,就可以和电脑处好关系,也可以指挥电脑,做一些你想做的事情。一位理解错误,原本只要覆盖式的安装系统就可以的事情,这位程序员却把雷军的硬盘格式化了。这些代码是雷军多年来积累下来,而且也是他的最爱,就这样成为 炮灰,相信雷军非常难过。雷军认为,电脑的世界很大,程序员都是活在自己的王国里。雷军认为,编程的工作同石匠的工作相类似,即是技术活,也是体力活,而编写优秀的软件,算是一件比较难得事。

IT界那些事儿 2万+

全面掌握Python编程语言

本文还有配套的精品资源,点击获取 简介:Python是一种广泛应用于软件开发、数据分析、人工智能等领域的高级编程语言。其特点包括简洁的语法、面向对象的编程范式以及丰富的标准库。Python在数据科学中利用Pandas、NumPy、SciPy等库提供了强大的数据处理能力,在机器学习和AI领域则有着TensorFlow、Keras、PyTorch和Scikit-learn等成熟...

weixin_35879493的博客 1308

雷军1994年写的老代码曝光,被称像诗一样优雅

(给机器学习算法与Python学习加星标,提升AI技能)整合整理:程序员的那些事(id:iProgrammer)雷军的代码像诗一样优雅↓↓↓有些网友在评论中质疑,说雷军代码不会是「屎」一...

机器学习算法与Python学习 835

Ethercat学习-从站源码生成

移植平台GD32F450,从站芯片AX58100

西澳峰的博客 9217

量化策略开发步骤系列(5)前向测试和统计意义

我们在第 4 部分,展示了我们策略的样本外测试并讨论了其结果。用于开发模型的数据是 2018 年至 2021 年的数据,测试数据是 2021 年至 2022 年的数据。但有一种方法可以更好地利用我们的数据。

码上助君的专栏 1844

XiaomiSu7这么爆火,雷军原来上大学写代码这么牛!我哭死

雷军在武汉大学刚入学那会儿,就展现了他的编程才华,自编的Pascal程序不仅成了他的得意之作,还被学校用作新生教材。到了大二,他又开发出了一个内存清理工具RI(RAMinit),这个小工具凭借其实用性,被人们广泛使用了十多年。雷军将这款软件免费提供,并公开了源代码,成为国内最早一批开源软件之一。那个时候,雷军和王全国开始合作开发加密软件BITLOK。这款软件不断升级改进,很快就受到了当时知名软件公司的青睐和使用,包括用友、超想、金山等。

2401_84204413的博客 2131

KANO分析模型

KANO分析模型的基本概念,目的意义,应用场景,实现方法和示例等

JasonH2021的博客 3066

十万行代码!!!

前些天,看到网上雷军写的一篇好象是叫给程序员的几个建议,说到程序员必须要写够十万行代码才能成为高手,不要心存侥幸。于是我回来计算了一下我的程序,不算不知道,一算吓一跳,居然有超过9万行的代码。如果不算表单属性等,也有45000多行纯代码,这还不算很多我已经删除的。当然,这当中还是有很大是没有用的,是以前留下来的无用代码暂时还没有删除,但至少,这些代码全是我一行行写出来的。 我的这个程序说起

寒风雨(lanman)的专栏 1万+

Spring Boot 3.2 集成 Shiro 2.0.1 踩坑实录:从 javax.servlet 到 jakarta.servlet 的完整迁移指南

本文详细介绍了Spring Boot 3.2集成Shiro 2.0.1时遇到的从javax.servlet到jakarta.servlet的迁移问题,提供了完整的解决方案和迁移指南。通过Maven依赖配置和代码调整,帮助开发者顺利跨越Jakarta EE的兼容性鸿沟,确保Shiro权限控制在Spring Boot 3.2环境中正常运行。

weixin_42570296的博客 483

从静态到动态:如何用Deformable 3DGS和4DGS实现高效动态场景建模

本文深入探讨了Deformable 3DGS和4DGS在动态场景建模中的技术突破,详细解析了这两种方法如何高效处理动态内容。Deformable 3DGS通过引入时间维度的变形场扩展传统3DGS,而4DGS则采用四维时空体素分解方法,两者均显著提升了动态场景建模的效率和质量,适用于虚拟现实、增强现实等应用场景。

weixin_29063035的博客 433

chatgpt赋能python:Python排版快捷键:提高效率的必备技能

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

虚幻私塾 516

matlab 基于离散余弦变换DCT的最小二乘相位解缠

最小范数法是寻求在解包裹相位的局部微分与包裹相位微分相一致的条件下, 逼近于真实相位分布的解包裹相位分布。目标是使解包裹相位与包裹相位曲面的差最小

点云侠的博客 285

Python初识 — 编程范式

Python编程范式 Core:   1, 命名法则:变量的命名、函数与变量的命名、全局变量名和常量名的命名、类的命名、模块和包的命名、异常和测试的命名、命名的缩写;   2, 特殊符号的使用:下划线_的使用情况和环境;   3, 代码的排版和整理; Purpose:   1, 建立良好的编程规范的习惯;为成为大佬铺平道路、打好基础;   2, 我没写过诗,但是有人说我写过的代码,像诗一样优雅。 ...

极客-多重人格递归 862

超简单五步实现VOS3000客户端呼入配置

1.查看SIP代理  在注册管理中查看自己线路注册的SIP代理IP地址,记录下来。 2.创建普通账户  创建一个呼入使用的普通账号,选择“计费费率”,根据自己情况选择费率,这里做测试就配置了免费的费率,如果费率不是免费,需要给这个普通账户充值。 3.新建对接网关 新建一个对接网关,点击该网关的“补充设置”,选择“网关类型”为静态IP,然后在IP地址栏填上刚才在注册管理里面记录的SIP代...

非著名运维的博客 1万+

linux安装配置Mysql详细步骤

下载Mysql rpm包 官网下载:https://dev.mysql.com/downloads/mysql/ 如果你到了这里,本地应该有了如下四个rpm包: mysql-community-client-5.7.26-1.el6.x86_64.rpm mysql-community-common-5.7.26-1.el6.x86_64.rpm mysql-community-libs-5...

🏆 前端领域优质创作者 7万+

编程语言的范式分类与多范式支持

1. 严格面向过程的语言代表语言:C核心特点代码以函数为基本单元,数据(变量、结构体)与操作(函数)分离。无类、对象、继承等 OOP 特性。示例c// 数据与函数分离 struct Point { int x;int y;p->y += dy;局限封装性差:结构体字段默认公开,需通过约定(如命名)模拟私有性。复用性低:无继承,代码复用依赖函数组合或宏。2. 严格面向对象的语言代表语言:Java核心特点万物皆对象:所有代码必须写在类中(包括main函数)。

2401_86928879的博客 1058

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

python支持多种编程范式吗_聊聊编程范式

标签:编程语言有很多种流派和思想,有一些编程语言同时支持多种编程范式。静态类型编程范式采用静态类型编程范式的编程语言,其变量需要明确指定类型。代表语言:C,C++,Pascal,Objective-C,Java,C#,VB.NET,Swif,Golang。这样做的好处是:1、编译器可以在编译时就能找出类型错误。2、编译器编译时知道类型信息,就可以提高性能。这种范式认为,程序员肯定知道变量的类型,你...

weixin_39858124的博客 252

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python面向对象编程精解:从两大编程范式到类与对象实战

Python面向对象编程精解:从两大编程范式到类与对象实战

KE17RS的博客 2038

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

二、python基础——语法规则和编程命名规范

2、activate-power-mode:炫酷,对眼睛好3、translation---翻译4、rainbow Brackets--让代码块之间清晰的显现出各种颜色,选中区高亮5、json parser--验证和格式化json字符串的轻量级插件6、background Image Plus--设置背景图片7、material themUI--主题插件8、statistics--统计代码量9、markdown image support--可以直接对md文件编辑。

Known668的博客 2248

python支持的编程范式有_【Python学习手册】chapter1 前面

读书笔记!Python命名:以英国喜剧组'Monty Python'命名——BBC20世纪70年代的《Monty Python's and the Holy Grai》的制片方,和我们认为的爬行动物没啥关系。。。oh no。。和第一波开发者的爱好有很大关系。。。1、人们为何使用Python软件质量:可读性、可重用性:面向对象,函数式编程开发者生产效率:长度仅为JAVA代码的1/5~1/3程序的可移...

weixin_32858247的博客 370

Python重构编程范式AI与Web开发的创造性融合之路

结合Starlette路由的event loop pool,用户能在Flask后端通过简单的WSGI调用,直接操作NVIDIA GPUDirect RDMA通信,实现跨GPU集群的模型参数热更新。这种机制使依赖树的增量打包仅需处理修改后的Python抽象语法树(AST)节点,相比传统方式节省了92%的构建流量消耗。当Altair图表的hover事件触发时,PyGame控制的Houdini合成引擎会实时生成符合Figma规范的过渡动画,这种机制将人工UI调整时间缩减到了原来的1/5。

gxgCBOVD的博客 654

《Java、Python、C++与C#的对话多语言编程范式下的核心特性与实践探索》

在处理并发任务时,Java的线程模型与流(Stream)API结合使用,既可保证线程安全,又可实现高阶函数式的数据处理。C# 9.0通过记录类型(Record Types)和顶级语句(Top-Level Statements)等语法改进,在保持OOP核心定位的同时,增强函数式编程的支持。更复杂的案例中,开发者可编写装饰器组合实现跨范式功能:通过对象创建时自动应用装饰器,既能保持OOP封装性,又可融入函数式响应式编程(Reactive Programming)的非阻塞特性。

qgHxjwrv的博客 343

Python 核心基础术语详解:从交互模式到编程范式的全面梳理

参数(Argument):函数调用时传递的值(实参)形参(Parameter):函数定义时声明的变量(虚参)两者的关系如同 "快递包裹" 与 "收件地址" 的映射,理解其分类是掌握函数编程的关键。从数据类型的底层机制到函数参数的传递规则,从编程范式的哲学思想到模块包的组织方式,我们系统梳理了 Python 基础核心术语的每个细节。这些术语构成了 Python 编程的知识网络,只有全面掌握它们,才能在进阶之路上稳步前行。

佑瞻的博客 1045

编程语言如何塑造开发者思维:从范式到实践

编程范式是编程语言的核心思想和方法论,它定义了代码的组织方式和计算过程的表达。从命令式、面向对象到函数式、声明式,每种范式都通过语法约束和内置抽象引导开发者形成特定的思维定式。理解不同范式的原理,能帮助开发者在数据处理、系统架构等场景中选择更高效的技术方案。例如,函数式编程通过 map、filter、reduce 等操作实现数据流的声明式转换,提升了代码的可读性和可维护性;而面向对象编程则通过封装和组合管理复杂业务状态。掌握多范式思维,能让我们在工程实践中更清醒地选择工具,写出更优雅、健壮的代码。

weixin_34252090的博客 349

深度对比 Python 与 Java 的区别(一)

深入对比 Python 与Java 的区别,包括两种语言的发展历程、Hello World、语法特点、执行效率以及 各自的执行机制(PVM与JVM)。

Ergou's Space 2万+
上一篇: 【Linux】ibus输入法安装教程
下一篇: 十几年的教育到底给了我们什么?
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值