4 else "a小于等于4"print(st)输出:a小于等于4 6.enumerate enumerate()是 Python 的内置函数。可以将一个可迭代的(Iterable)对象(列表、字符串等..." />

让你的Python代码更加Pythonic

5.if/else 三目运算 python支持的三目运算格式:为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号)a=4st = "a大于4" if a>4 else "a小于等于4"print(st)输出:a小于等于4 6.enumerate enumerate()是 Python 的内置函数。可以将一个可迭代的(Iterable)对象(列表、字符串等...
让你的Python代码更加Pythonic
下面选取了一些常见的Python规范和代码风格,大家可以进行参考和学习。
命名 首先看一下变量的命名规范(pep8)规范:
文件夹:包名,建议仅使用小写字母命名,不建议使用下划线。
模块: 小写或者小写加下划线连接,比如 module.py、db_convert.py等。
类: 驼峰式,首字母大写,单词直接连接。
class ThisIsAClass(object):pass
函数:小写,用下划线隔开
def this_is_a_func():pass
变量: 小写,用下划线隔开
this_is_a_variable = 1**常量:**常量名所有字母大写,由下划线连接各个单词,如THIS_IS_A_CONSTANT = 1
语法风格 1.交换a 和 b的数值 其他语言的方法:
a = 5b = 6temp = aa = bb = temp
python中,更加简洁的方法:
a = 5b = 6a, b = b, aprint(a, b)输出:6 5
2.多个变量赋值 python中可以一行代码,同时给多个变量赋值
a,b,c = 2,5,12
3.合并字符串 传统的字符串合并方法,由于字符串对象不可改变,每次修改会产生一个新的对象,这种方法会消耗很多内存。
list_str = ["hello ", "python", "!"]result = ""for i in list_str:result+=iprint(result)
python中,使用join()方法更加高效,注意join()方法只适用于元素是字符串的列表、元组、集合等类型。
list_str = ["hello ", "python", "!"]result = "".join(list_str)print(result)输出:hello python!
4.列表去重 使用集合的唯一性,对列表进行去重
a = [1, 2, 3, 1, 2,3 , 1, 3, 2, 4, 1, 3, 4, 5, 6, 5, 4, 4, 3, 6]lst = list(set(a))print(lst)输出:
5.if/else 三目运算 python支持的三目运算格式:
为真时的结果 if 判断条件 else 为假时的结果(注意,没有冒号)a=4st = "a大于4" if a>4 else "a小于等于4"print(st)输出:a小于等于4
6.enumerate enumerate()是 Python 的内置函数。可以将一个可迭代的(Iterable)对象(列表、字符串等)组成一个索引序列,可以同时获得索引和值。
获取列表元素及索引
# 一般写法names = ['Bob', 'Alice', 'Guido']n = len(names)for i in range(n):print(f'{i} {names[i]}')# 使用enumerate()函数names = ['Bob', 'Alice', 'Guido']for index, value in enumerate(names):print(f'{index}: {value}')输出:0: Bob1: Alice2: Guido
7.解包 解包在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来。
解压列表/元组的元素,赋值给不同的变量
def this_is_a_func():pass0
函数中的解包操作
在函数调用中,* 能够将元组或列表解包成不同的参数。
def this_is_a_func():pass1
在函数调用中,** 会以键/值的形式解包一个字典,使其成为一个独立的关键字参数。
def this_is_a_func():pass2
8.列表推导式 列表推导式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的列表。
[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ]
[if 条件表达式] 可以省略。
生成一个列表,列表元素分别为 [1x1,2x2,3x3……nxn],假设n = 10
def this_is_a_func():pass3
要求返回的序列中不存在偶数项
def this_is_a_func():pass4
9.使用关键字in
in:如果在指定的序列中找到值返回 True,否则返回 False。
not in:如果在指定的序列中没有找到值返回 True,否则返回 False。 判断元素是否在列表中
number=[1,2,3,4,5] if 1 in number: print("1 in number") if 0 not in number: print("0 not in number")
在 for 循环中,获取列表、元组、字典的每一项:
def this_is_a_func():pass5
10.使用zip同步处理多个列表 zip() 函数是 Python 内置函数,它可以将多个序列(列表、元组、字典、集合、字符串等)中对应位置的元素重新组合,生成一个个新的元组。
def this_is_a_func():pass6
11.真值判断 当判断一个变量是否为 True 的时候,Python 具有自身独特的方式,不需要写出判断条件,只需要在 if 或 while 关键字后面直接写上该对象即可。
常见的真值为False的情况:
常量:None and False.
数值0值: 0, 0.0, 0j
序列或者集合为空:'', (), [], {}, set(), range(0)
对于布尔对象,建议这样写x = True if x: pass
不建议这样写if x == True: pass
lst = []
对于列表对象,建议这样写if lst: pass
不建议这样写if len(lst) != 0: pass
以上就是本次分享的所有内容,想要了解更多欢迎前往公众号:Python 编程学习圈,每日干货分享
原文:https://juejin.cn/post/71000312173528350802024-09-19
mengvlog 阅读 8 次 更新于 2025-07-19 14:50:37 我来答关注问题0
  • list_str = ["hello ", "python", "!"]result = ""for i in list_str:result+=iprint(result)python中,使用join()方法更加高效,注意join()方法只适用于元素是字符串的列表、元组、集合等类型。list_str = ["hello ", "python", "!"]result = "".join(list_str)print(result)输出:...

  •  文暄生活科普 Python最好IDE:Pycharm使用小技巧总结,让你写代码更为舒适

    指定编译器路径是PyCharm灵魂操作。通过选择合适的编译器,确保代码正确编译运行。例如,使用Anaconda安装的Python时,直接指定Anaconda下的Python路径即可。在PyCharm中加载第三方库时,通过指定编译器路径后,在设置界面添加库路径,便捷快速。通常在终端使用pip结合镜像安装更为高效,但本文仅概述PyCharm加载库...

  •  文暄生活科普 PyInstaller:将你的Python代码打包成独立应用程序,让你的创意无限释放!

    PyInstaller是一个强大的工具,它专为Python开发者设计,旨在将Python代码打包成独立的可执行应用程序,让你的代码能够在无需额外安装Python解释器或依赖项的环境下运行,支持Windows、Mac和Linux等多个平台。快速入门首先,确保Python已安装,然后在命令行中输入以下命令进行安装:安装完成后,运行以下命令在dist...

  •  阿暄生活 收藏!PyCharm快捷键大全

    Ctrl + W:关闭当前窗口,简化界面管理。Ctrl + Shift + D:复制当前选中的代码行,快速复制代码片段。掌握这些快捷键将大幅提升你在PyCharm中的操作效率,让你的Python编程体验更加高效和流畅。

  • 通常,你需要在Python脚本的入口点添加import debugpy; debugpy.listen)等代码,并通过命令行指定该脚本。但这种方法较为繁琐,且需要修改源代码。更优雅的方式是使用waitforclient选项启动debugpy,这样脚本会在等待VSCode连接时暂停执行。例如,你可以在命令行中运行python m debugpy waitforclient your_...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部