当前位置: 首页 > news >正文

光山县住房和城乡建设局网站汕头建站培训

光山县住房和城乡建设局网站,汕头建站培训,宝安网站建设公司968,照片网站怎么做写代码不那么pythonic风格的#xff0c;多多少少都会让人有点难受。 什么是pythonic呢#xff1f;简而言之#xff0c;这是一种写代码时遵守的规范#xff0c;主打简洁、清晰、可读性高#xff0c;符合PEP 8#xff08;Python代码样式指南#xff09;约定的模式。 Pyth…写代码不那么pythonic风格的多多少少都会让人有点难受。 什么是pythonic呢简而言之这是一种写代码时遵守的规范主打简洁、清晰、可读性高符合PEP 8Python代码样式指南约定的模式。 Python社区发展几十年已经沉淀出一套更加科学规范的代码书写法则该踩的坑都帮你踩过了按这个来基本不会出什么错。 下面举几个不那么pythonic的代码案例虽然不会出错但十分不建议这样写。 1、函数、变量命名无意义、不规范 很多人图省事使用a、aa、bbb这样无意义的变量名、函数名这样在编程中会大大降低代码的可读性也影响代码质量。 def a(revenue, cost): 计算销售利润率。 :param revenue: 销售额或总收入 :param cost: 成本 :return: 销售利润率以百分比表示 if revenue 0 or cost 0: return 错误销售额必须大于0成本不能为负数。 aa revenue - cost bbb (aa / revenue) * 100 return bbb更有初学者使用中文来作为变量名虽然在语法上是允许的但会引起歧义不符合代码规范 年龄 30 名字 张三 print({}的年龄是{}.format(名字,年龄))2、不善于使用函数和类重复写代码 Python是鼓励用函数和类去封装一些重复用的功能这样能增加代码的可读性也减少不必要的劳动但一些人就是喜欢写很长的代码导致看着很冗余。 在Python中大家可以把一个复杂的功能用多个函数去分解一个函数代码行数最好不要超过十行如果确实需要很多代码那就进行分解多写几个函数来实现。 比如以下的函数用来实现csv文件的读取、行去重、空值剔除、保存等功能。 import csv def process_csv(input_file, output_file): 读取CSV文件去重剔除空值并保存到新文件。 :param input_file: 输入的CSV文件路径 :param output_file: 输出的CSV文件路径 # 读取CSV文件 with open(input_file, moder, newline, encodingutf-8) as file: reader csv.reader(file) rows [row for row in reader if row] # 剔除空行 # 去重 unique_rows [] for row in rows: # 将行转换为元组以用于集合去重 unique_rows.append(tuple(row)) # 剔除空值 processed_rows [[cell for cell in row if cell] for row in unique_rows] # 转换回列表以写入CSV文件 processed_rows [[str(cell) for cell in row] for row in processed_rows] # 写入新的CSV文件 with open(output_file, modew, newline, encodingutf-8) as file: writer csv.writer(file) writer.writerows(processed_rows) 当你看到这个函数是不是觉得有点冗长一个函数实现了四个功能不易阅读也不利于重复利用。 如果把它拆分成四段函数分别实现读取、行去重、空值剔除、保存这四个功能就会更加清晰。 import csv def read_csv(file_path): 读取CSV文件并返回行的列表。 :param file_path: CSV文件路径 :return: CSV文件行的列表 with open(file_path, moder, newline, encodingutf-8) as file: reader csv.reader(file) return [row for row in reader if row] # 剔除空行 def remove_duplicates(rows): 去除行列表中的重复行。 :param rows: 行的列表 :return: 去重后的行列表 return list(set(tuple(row) for row in rows)) def remove_empty_values(rows): 从行列表中剔除含有空值的行。 :param rows: 行的列表 :return: 剔除空值后的行列表 return [[cell for cell in row if cell] for row in rows] def write_csv(file_path, rows): 将行列表写入CSV文件。 :param file_path: CSV文件路径 :param rows: 要写入的行列表 with open(file_path, modew, newline, encodingutf-8) as file: writer csv.writer(file) writer.writerows(rows) 3、使用很复杂的列表推导式较难阅读 列表推导式可以简化列表的创建既实用还能让代码更加美观但列表推导式只适合创建逻辑简单的列表对于很复杂且代码量大的列表是不建议用列表推导式的比如以下案例。 nested_list [[(i * j, i j, i - j) for j in range(1, 4)] for i in range(5, 10)]改成如下循环函数是否更好? def generate_nested_list(start_i, end_i): nested_list [] for i in range(start_i, end_i): sublist [] for j in range(1, 4): sublist.append((i * j, i j, i - j)) nested_list.append(sublist) return nested_list 4、代码行特别长也很难阅读 一般Python代码行长度最好不要超过79vscode和pycharm等编辑器里都有代码长度指引线写代码时遇到它就是提示你要换行了。 连续代码一行代码很长需要分在多行写中被裹着的代码可能被 (), [], {} 包裹应该垂直左对齐。 def long_function_name(var_one, var_two, var_three,var_four):print(var_one)其实还有很多pythonic风格的规范需要大家注意建议按照约定俗成的方法去写第一原则是可读性强可读性强可读性强。
http://www.hkea.cn/news/14373880/

相关文章:

  • 网站建设与组织管理网站开发与维护工资
  • html网站实例wordpress 仿站 教程
  • 网站建设意见征求汇报wordpress与微信教程
  • 中国保险行业协会网站国内室内设计网站大全
  • 专门做lolh的网站网站建设论文读书笔记
  • 拥有域名后怎么建设网站网站手机端排名怎么做
  • 网站设计计划书模板山东住房城乡建设厅网站
  • PHP网站开发都需要学什么网站建设英文专业术语
  • 巩义市网站建设企业网站需求文档
  • 巨腾网站建设商务咨询网站源码
  • 模板建网站哪个品牌好企业网站开发韵茵建站
  • 连云港集团网站建设手机网站开发技巧
  • 简述建设一个网站的基本步骤项目网址
  • 政协网站信息化建设的作用动漫设计与制作培训学院
  • 网站制作有什么好的介绍工业产品设计工资
  • 网站建设规划书txt微盘百度网站与推广
  • 网站备案法律网站开发工程师证书有用吗
  • 创建空白网站什么是电商直播
  • 五指山网站建设wordpress 模板选择器
  • 电商网站界面规范网站推广工具网络
  • 网站制作方案介绍及要求室内设计师之路网站
  • 东莞齐诺做网站怎么删除wordpress主题
  • 网站建设在会计里算什么资产承包工程在哪个网站
  • 浦江网站建设公司网站做备案需要多久
  • 我的网站突然打不开了想做个卷帘门百度优化网站
  • 专业的网站开发公司电话步骤点页面设计
  • 网站建设服务协议书7k7k小游戏网页
  • 网站的优化通过什么做上去网站开发需要哪些硬件
  • 网站被k的迹象教育响应式网站建设
  • 云图书馆平台网站建设光速网络网站