天天都在写python,你写的破代码,别人能看懂吗?

用Python写一个天天酷跑 感觉上次写的植物大战僵尸与俄罗斯方块的反应还不错,这次这个文章就更有动力了 这次就写一个天天酷跑吧 写出来的效果图就是这样了 下面就更新一下全部的代码吧 还是老样子先定义 import pygame,sys import random 写一下游戏配置 width = 1200 #窗口宽度 height = 508 #窗口高度 size = width, height score=None #分数 myFont=myFont1=N 阅读详情

1、分号
不要在行尾加分号, 也不要用分号将两条命令放在同一行。

2、命名
module_name, package_name, ClassName, method_name

应该避免的名称

单字符名称, 除了计数器和迭代器.
包/模块名中的连字符(-)
双下划线开头并结尾的名称(Python保留, 例如__init__)
命名约定

所谓"内部(Internal)"表示仅模块内可用, 或者, 在类内是保护或私有的.
用单下划线(_)开头表示模块变量或函数是protected的(使用import * from时不会包含).
用双下划线(__)开头的实例变量或方法表示类内私有.
将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块.
对类名使用大写字母开头的单词(如CapWords, 即Pascal风格), 但是模块名应该用小写加下划线的方式(如lower_with_under.py). 尽管已经有很多现存的模块使用类似于CapWords.py这样的命名, 但现在已经不鼓励这样做, 因为如果模块名碰巧和类名一致, 这会让人困扰.
3、行长度
每行不超过80个字符

以下情况除外:

长的导入模块语句
注释里的URL
不要使用反斜杠连接行。

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

推荐: 

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'):

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

x = ('这是一个非常长非常长非常长非常长 '
     '非常长非常长非常长非常长非常长非常长的字符串')

4、缩进

用4个空格来缩进代码

绝对不要用tab, 也不要tab和空格混用. 对于行连接的情况, 你应该要么垂直对齐换行的元素(见 :ref:`行长度 <line_length>` 部分的示例), 或者使用4空格的悬挂式缩进(这时第一行不应该有参数):

       # 与起始变量对齐
       foo = long_function_name(var_one, var_two,
                                var_three, var_four)
       # 字典中与起始值对齐
       foo = {
           long_dictionary_key: value1 +
                                value2,
           ...
       }

5、空行
顶级定义之间空两行, 方法定义之间空一行

顶级定义之间空两行, 比如函数或者类定义. 方法定义, 类定义与第一个方法之间, 都应该空一行. 函数或方法中, 某些地方要是你觉得合适, 就空一行.

6、空格
按照标准的排版规范来使用标点两边的空格

括号内不要有空格.

按照标准的排版规范来使用标点两边的空格
 

正确示范: spam(ham[1], {eggs: 2}, [])
错误示范:  spam( ham[ 1 ], { eggs: 2 }, [ ] )

7、类

类应该在其定义下有一个用于描述该类的文档字符串. 如果你的类有公共属性(Attributes), 那么文档中应该有一个属性(Attributes)段. 并且应该遵守和函数参数相同的格式.

class SampleClass(object):
    """Summary of class here.
    Longer class information....
    Longer class information....
    Attributes:
        likes_spam: A boolean indicating if we like SPAM or not.
        eggs: An integer count of the eggs we have laid.
    """
 
    def __init__(self, likes_spam=False):
        """Inits SampleClass with blah."""
        self.likes_spam = likes_spam
        self.eggs = 0
 
    def public_method(self):
        """Performs operation blah."""

8、块注释和行注释

最需要写注释的是代码中那些技巧性的部分. 如果你在下次 代码审查 的时候必须解释一下, 那么你应该现在就给它写注释. 对于复杂的操作, 应该在其操作开始前写上若干行注释. 对于不是一目了然的代码, 应在其行尾添加注释.

# We use a weighted dictionary search to find out where i is in
# the array.  We extrapolate position based on the largest num
# in the array and the array size and then do binary search to
# get the exact number.
 
if i & (i-1) == 0:        # true iff i is a power of 2

为了提高可读性, 注释应该至少离开代码2个空格.

另一方面, 绝不要描述代码. 假设阅读代码的人比你更懂Python, 他只是不知道你的代码要做什么.

# BAD COMMENT: Now go through the b array and make sure whenever i occurs
# the next element is i+1

9、字符串

正确示范: 
     x = a + b
     x = '%s, %s!' % (imperative, expletive)
     x = '{}, {}!'.format(imperative, expletive)
     x = 'name: %s; score: %d' % (name, n)
     x = 'name: {}; score: {}'.format(name, n)
错误示范: 
    x = '%s%s' % (a, b)  # use + in this case
    x = '{}{}'.format(a, b)  # use + in this case
    x = imperative + ', ' + expletive + '!'
    x = 'name: ' + name + '; score: ' + str(n)

10、导包

每个导入应该独占一行

正确示范:
   import os
   import sys
错误示范:  
   import os, sys

导入总应该放在文件顶部, 位于模块注释和文档字符串之后, 模块全局变量和常量之前. 导入应该按照从最通用到最不通用的顺序分组:

标准库导入
第三方库导入
应用程序指定导入
【总结】
1.命名
函数、变量及属性都应该用小写单词拼写,只见用_连接,不遵循驼峰命名法
类与异常应该首字母大写,不要用_连接
受保护的实例属性,应以单下划线开头
实例的私有属性,应以双下划线开头
模块级别的变量单词都要大写,中间以单下划线隔开
变量要尽可能有意义
2.空白
和语法相关的每一层缩进都用4个空格表示
赋值时等号两边都要有一个空格
每一行所占用的字符数应不超过79,实际操作中应当尽量不让代码编辑器的行滚动条显示出来
在使用函数进行函数式编程时,函数之间要空两行
在类中的函数,函数之间应该空一行
函数与类是同一个级别,则他们之间应该空两行
对于超出每行规定的字符数的长表达式,应当敲回车缩进,通常除了首行其余各行都要在原来的基础上再次缩进4个空格
3.语句
判断变量是否为None、False或True时不要用==,要用is,例如,if a is None
import语句应放在句首,导入时要尽量使用绝对导入不要使用相对导入,并且导入时最好指定相应的模块的某一具体功能,例如,from datetime import datetime
模块导入时应根据标准库模块、第三方模块以及自用模块进行分类
检测容器不为空时,应使用if 容器名,例如,lists = [] if lists
采用内联形式的否定词,不要把否定词放在整个表达式的前面,例如,应该if a is not None 而不是 if not a is None
4.注释
对某些重要的代码块的功能说明,应使用单行注释
对整个模块功能的说明应使用多行注释
对类或函数的功能及使用方法的详细说明应使用文档字符串
python的注释尽量使用英文

  • 【求评论、求点赞、求收藏】  

python爬取天天基金网全部基金的历史全部净值 1.认识天天基金网的数据接口 2 3 在这里插入代码片 # -*- coding: utf-8 -*- """ Created on Mon Aug 26 20:02:27 2019 @author: yys """ import pandas as pd import requests import re from lxml import etree found_code='111111... 阅读详情

相关推荐

天天基金爬虫——天天基金爬取基金信息统计持仓净值

从天天基金爬取基金信息统计持仓净值一、获取网页1、打开一个基金网页2、分析页面3、获取页面二、解析数据1、查看需要的基本信息三、统计求和1、步骤2、完整代码四、喜欢的话请点个关注吧!不要忘了长按点赞一键三连哦! 一、获取网页 1、打开一个基金网页 我们先打开天天基金网,然后随便打开一个基金的页面。例如161725招商中证白酒指数。 链接: http://fund.eastmoney.com/161725.html. 我们发现天天基金的网址构成是http://fund.eastmoney.com/+基金编

concyclics的博客 4万+

Python pep8编码规范

代码布局 1.1 缩进 每个缩进级别使用4个空格。 对齐缩进 悬挂缩进 层级缩进 错误用法 1.2 制表符还是空格? 1)空格是首选的缩进方法。 2)制表符应仅用于与已使用制表符缩进的代码保持一致。 3)Python 3 不允许混合使用制表符和空格进行缩进。 4)使用制表符和空格混合缩进的 Python 2 代码应转换为仅使用空格。 5)使用-t选项调用 Python...

yt1318519610的博客 2043

【Python游戏】基于Python的pygame模块实现的天天酷跑游戏 | 附带源码

我相信很多小伙伴都玩过的第一个腾讯游戏,那就是天天酷跑,还记得之前为了凑齐钻石买小单车、人物、坐骑,小编可是花费了老长时间去弄这个的!!不过现在的天天酷跑随便冲个钱都能上大几百万分,没有了以前的那种快乐了!......

Q494958217的博客 3316

2020-10-29

python代码格式三 表达式和语句中的空格 在以下情况下,请避免使用多余的空格: 紧靠在括号,方括号或大括号内: #正确: spam(ham[1], {eggs: 2}) #错误: spam( ham[ 1 ], { eggs: 2 } ) 2.在尾随逗号和后面的右括号之间: #正确: foo = (0,) #错误: bar = (0, ) 3.在逗号,分号或冒号之前: #正确: if x == 4: print x, y; x, y = y, x #错误: if x == 4 : print x

qq_44984954的博客 3410

【LLM】ms-Swift框架下SFT与GRPO协同优化的高效训练策略

本文深入探讨了ms-Swift框架下监督微调(SFT)与群组相对策略优化(GRPO)的协同训练策略,提升大型语言模型(LLM)的性能与效率。通过创新的架构设计和两阶段训练流程,结合GRPO的群组奖励估计与动态基线调整技术,显著优化了数学推理等任务的准确率。文章还分享了计算资源高效利用和参数调优的实战经验,为LLM训练提供了实用指导。

green的博客 994

[UE5蓝图基础二]1.[1d混合空间] 走和跑的动画切换(shift切换)

再双击”run”进去 我们需要给他指定一个动画姿势,这里就需要给他我们前面做的”1d”混合空间,然后可以看到”1d” 上有个speed参数,代表的速度 从前面的逻辑来看需要通过控制速度来切换动画,那么必然不能写死速度,把速度提升为变量传递进来即可,所以就得到以下蓝图节点。混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个”Animation”文件夹 在文件夹内创建混合空间。我们目前要实现的是一个走和跑的功能 那么创建1d即可。到这一步混合空间已经做完 下一步做”动画蓝图”

qq_30584617的博客 3300

Class names should use CamelCase convention

出现这样的提示一般就是命名不规范,所以要养成良好的命名规范 python 官方的文档地址链接:https://www.python.org/dev/peps/pep-0008/ 效果如下: 里面有很多规范,我截取了命名规范,大家可以看下,不过还是建议有空到官方文档看看 软件包和模块名称 模块应使用简短的全小写名称。如果可以提高模块的可读性,则可以在模块名称中使用下划线。尽管不鼓励使用下划线,但Python软件包也应使用短的全小写名称。 当用C或C ++编写的扩展模块具有随附的Py...

小牧在一直在学习,在前进的道路上大家一起学习,进步。 4552

02-基于ART-PI开发板创建USB CDC 虚拟串口设备

本例在ART-PI开发板上,基于RT-Thread 5.0,5虚拟了一个USB32 CDC串口设备。

arm_fan的专栏 1886

探索python基本术语

Python基本术语 (Python basic terms) Identifiers 身份标识 keywords 关键字 Operators 经营者 Object Id,Object Type 对象编号,对象类型 Sequences 顺序 Set Types 集合类型 Mappings 对应 Iterable 可迭代的 Iterator 迭代器 Simple statements 简单的陈述 ...

weixin_26711425的博客 509

物联网定位技术|实验报告|实验一 Wi-Fi指纹定位

全球定位系统是迄今为止应用最为成功的地位系统,具备高精度的定位能力,但在室内和高楼密布的城区等信号遮挡严重的密集环境中,由于接受机捕获不到足够强度的卫星信号,GPS的定位质量难以保证甚至无法完成定位,使其可用性受到严重制约。由于室内环境下都普及了WiFi,因此利用WiFi进行定位无需额外部署硬件设备,是一个非常节省成本的方法。

m0_57656758的博客 3357

VFH避障/局部路径规划算法

VFH避障/局部路径规划算法 本文章是我看《The Vector Field Histogram-Fast Obstacle Avoidance for Mobile Robots》论文时候的笔记,感兴趣的欢迎去看原论文。 VFH中有一些概念是从其他算法中借鉴过来的,并且VFH算法本身就是对VFF(Virtural Force Field)的一种改进,其中有很多的相似之处。所以按照原论文的思路,先介绍由CMU提出的Certainty Grid算法中的一些概念,再介绍一下势场法中的一些概念,接着介绍一下VFF

qq_41845878的博客 8120

Python学习笔记之行文标准(二)

本文根据Guido van Rossum等人著作的《PEP 8 -- Style Guide for Python Code》一文以及本人个人习惯(根据个人习惯做了删减,保留个人认为适合自己的)而来,供自己以后学习书写以作参考。 八,表达式和语句中尽量避免无关空格 1)紧接在括号、中括号、大括号内; 2)在逗号和右括号...

u010230273的博客 944

华为od 面试八股文_测试/测试开发_05_含答案

华为od 面试八股文_测试/测试开发_05_含答案

MISAYAONE的博客 2558

用 Python 写了一个天天酷跑(附源码)

制作一个完整的“天天酷跑”游戏涉及很多方面,包括图形渲染、物理引擎、用户输入处理、游戏逻辑等。由于Python是一种高级编程语言,它有许多库和框架可以用来制作游戏。一个流行的选择是使用Pygame库。

2301_78095812的博客 5万+

【Bug已解决】zsh: command not found: claude 解决方案

方案适用场景推荐指数难度方案一:配置 npm 全局目录所有平台,长期使用⭐⭐⭐⭐⭐低方案二:修复 PATH 变量快速修复,不想改 npm 配置⭐⭐⭐⭐低方案三:重建软链接文件存在但链接断裂⭐⭐⭐中方案四:nvm 专属方案使用 nvm 管理多版本 Node.js⭐⭐⭐⭐低方案五:Windows 专属Windows 系统⭐⭐⭐⭐⭐低方案六:Homebrew 安装macOS 用户,npm 有问题⭐⭐⭐低根本原因。

博客 1万+

windows11下pycharm怎么完全卸载?完整卸载pycharm编辑器的教程

在卸载pycharm时都有遇到卸载不干净不完全的问题,那么具体怎样做才能完全卸载pycharm呢?退出所有的操作,重新启动电脑,会发现相关的软件已经被删除了。步骤1:卸载软件并删除安装目录。步骤2:删除相关的注册表。

拥抱具身智能,昇腾Ascend C 1万+

用python写跑酷游戏脚本,用Python写一个天天酷跑

感觉上次写的植物大战僵尸与俄罗斯方块的反应还不错,这次这个文章就更有动力了这次就写一个天天酷跑吧写出来的效果图就是这样了下面就更新一下全部的代码吧还是老样子先定义`import pygame,sysimport random`* 1* 2写一下游戏配置`width = 1200 #窗口宽度height = 508 #窗口高度size = widt...

weixin_35765226的博客 2098

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

用Python写一个游戏——天天酷跑

今天给大家带来一个趣味游戏的案例展示。最近趁着周末写了《天天酷跑》,拿来和大家一起重温经典的酷跑游戏。俗话说,“工欲善其事,必先利其器”,我们先来介绍一下本次我们用到的库有哪些。(需要注意的是,由于很多的小伙伴都会反映很多库安装之后,会出现报错,找不到相应的模块),这是因为库版本的不同,所以跟大家详细的介绍一下程序所使用的各个环节及其对应的版本,这次我们使用的工具和其版本号如下所示:PyCharm:2024.1python3.5+,其中内置sys和random库pygame:1.9.6介绍完我们的基础环境之

2301_78150559的博客 2422

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

用Python写了一个天天酷跑(附源码)建议收藏

天天酷跑游戏

2301_78095812的博客 1481

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python爬虫,用scrapy爬取天天基金

python爬虫,用scrapy爬取天天基金

Marmot01的博客 5647

Python小游戏9——天天酷跑

使用pygame.sprite.Sprite()类创建精灵对象,并通过draw()方法绘制到屏幕上。更新与刷新:通过调用精灵组的update()方法更新游戏状态,然后使用pygame.display.flip()刷新屏幕。障碍物类:同样继承自pygame.sprite.Sprite,包含障碍物的图像、位置、速度和下落逻辑。玩家类:继承自pygame.sprite.Sprite,包含玩家的图像、位置、速度和移动逻辑。控制帧率:使用pygame.time.Clock()的tick()方法控制游戏的帧率。

cxh666888_的博客 3894
上一篇: 5个非常适合菜鸟练手的python项目,墙裂推荐!
下一篇: 整理了70个Python实战项目列表,都有完整且详细的教程
python2021_
博客等级 码龄6年 1730粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值