首页 > 编程语言 >Python——应该替换的语法

Python——应该替换的语法

时间:2024-03-27 17:58:04浏览次数:27  
标签:None spam Python lenght list 语法 print 字符串 替换

格式化字符串

  • 使用原始字符串

如果字符串又很多反斜杠,请使用原始字符串

转义字符允许你在字符串字面量中插入原本不能包含的文本。

#其中的\是将'转义成字符串,而不是结束的'
index = 'Zophie\'s chair'   

原始字符串是具有 r 前缀的字符串字面量,它不把反斜杠是为转义字符,而是作为普通的字符。

print(r'C:\user\data\Spam')

它不是一种不同的字符串数据类型,而只是用来输入包含多个反斜杠字符的字符串的边界方式。

常用来输入正则表达式或windows文件路径的字符串。

  • f-string格式化

使用f-string格式化字符串,也被称为字符串插值,用来嵌套其他字符串的字符串。

name, day, weather = 'AI', 'Sunday', 'sunny'

print(f'{name}, Today is {day} and it is {weather}')


#大括号中也可以包含完整的表达式
width, lenght = 10, 20
print(f'{width} * {lenght} = {width * lenght}')


#使用括号形式
width, lenght = 10, 20
print(f'{width} * {lenght} = {{width * lenght}}')

Python风格的字典

 

为了避免出现keyError的错误,可以使用get来进行

 

使用enumerate()而不是range()

当在一个列表或者其他序列上循环时,一般会使用range()和len()函数来生成从0到-1的索引整数。

an_list = ['aaa', 'bbb', 'ccc', ]

for i in range(len(an_list)):
    print(i,an_list[i])

range(len())的传统写法比较直接,但不够理想,因为它的可读性不好。可以使用enumertate()来进行替换。

an_list = ['aaa', 'bbb', 'ccc', ]

for i,an in enumerate(an_list):
    print(i, an)

 如果不需要索引,那么就直接迭代即可。

an_list = ['aaa', 'bbb', 'ccc',]

for an in an_list:
    print(an)

使用with语句替代open()和close()

如果不想出现调用后未关闭的情况。

try:
    fileObj = open('test.txt','w')
    eggs = 24 / 0
    fileObj.close()
except:
    print('错误')

这样调用后,会出现错误,但不能关闭文件,导致文件损坏。

更好的做法时使用with语句,它可以在执行顺序离开with语句块时,自动调用close()

with open('test.txt', 'w') as fileObj:
    fileObj.write('Hello world!')

用is跟None做比较而不用==

==相等运算符时比较两个对象的值,而is身份运算符时比较两个对象的身份。将某个值跟None比较时,大多数情况应使用is,而非==

在特殊情况下,如果使用了运算符重载,即使spam指向None,表达式spam ==None也会等于True。

spam is None 将检查spam变量中的值是否真的是None,由于None是NoneType数据类型唯一的值,因此在任何Python程序中只有一个None对象。当变量指向None时,is None比较表达式总是为True.

class SomeClass:
    def __eq__(self, other):
        if other is None:
            return True


spam = SomeClass()
spam == None
True
spam is None 
False

如果时判断是否为None,那么建议使用is来进行判断。而判断True或False的时候,应该使用 if spam 或 if not spam

 

标签:None,spam,Python,lenght,list,语法,print,字符串,替换
From: https://www.cnblogs.com/xinbing/p/18098437

相关文章

  • python闹钟实例
    #coding:utf-8fromtkinterimport*importmath,timeglobalListglobaliroot=Tk()List=[]root.title("asimpleclock")#设置窗口是否可以变化长/宽root.resizable(1,1)defpoints():foriinrange(1,13):x=200+130*math.sin(2*math.pi......
  • 《python编程从入门到实践》 Sublime中运行程序提示“Python was not found but can b
    安装过程1.安装python32.安装SublimeText①下载②让SublimeText使用命令python3来运行Python程序3.运行①新建helloworld②运行遇到的问题执行以上步骤后:1.搜索解决方法2.关掉后执行3.更改buildsystem方式python3改为python,执行,成功备注:发现保持应用打开......
  • 901-深入浅出Python量化交易实战的配套视频和代码(段小手)中文PDF+源代码(源文件)
    小瓦的故事——从零开始本书源于一个真实的故事,故事的主角是一位名叫小瓦的姑娘。小瓦出生在一个普通的家庭,父母都是老实淳朴的普通人,靠着并不丰厚的收入把小瓦养育成人。18岁那年,小瓦考上了一所不好不坏的大学,所学专业是一个就业前景算不上理想的专业。再加上她本身也谈不......
  • python教程6 传递参数函数
    #!/usr/bin/python#-*-coding:UTF-8-*-#可写函数说明defprintinfo(kname,age):"打印任何传入的字符串"print("Name:",kname)print("Age",age)return#调用printinfo函数printinfo(age=50,kname="miki")#!/......
  • 【华为OD】2024年机试C卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript
    【华为OD】2024年C卷真题集:最新的真题集题库C/C++/Java/python/JavaScript-CSDN博客2024年C卷真题题集题库,有2种分数的题目列表,分别是100分的列表、200分的列表需要订阅请看链接:C卷100分真题集质量分:94价格:39.9元C卷200分真题集质量分:94价格:99.9元从2023年11月开始,华为OD......
  • python全局变量和局部变量
    #!/usr/bin/python#-*-coding:UTF-8-*-#可写函数说明defprintinfo(kname,age):"打印任何传入的字符串"print("Name:",kname)print("Age",age)return#调用printinfo函数printinfo(age=50,kname="miki")#!/usr/b......
  • Python - inspect 模块的简单使用
    Python中的inspect模块解析Python的inspect模块是一个强大的内省工具,允许开发者检查(inspect)活动对象和源代码。它提供了一系列函数,用于获取信息关于正在运行的程序和调用堆栈,非常适合进行调试和动态分析。本文将通过介绍inspect模块的关键功能,并结合实际案例代码,来探索其在日常......
  • Python基础
    基础1.1常量具有字面意义的,按照字面意义使用他们的值,不能改变值。例如1、3.8、3.4e-3这样的数,或者是’Thisisastring’、“It’sastring!”这样的字符串。1.2数三种类型:整数、浮点数和复数整数:2浮点数:3.8、3.4e-3复数:(-5+4j)、(2.3-4.6j)在Python中不用区分'lon......
  • Python_PyStray结合Tkinter显示系统托盘图标
    前言PyStray是一个用于Python的系统托盘图标库,它可以让您轻松地在Windows、macOS和Linux下创建和管理托盘图标应用程序。通过PyStray,您可以创建自定义托盘图标、菜单和气泡通知,并响应托盘图标的各种事件。PyStray的主要特点包括:跨平台支持:支持Windows、macOS和Li......
  • 使用compileall模块编译Python的源代码
    编译当前目录及子目录所有python源码为pyc文件python-mcompileall-b.参数说明-b:这个选项告诉compileall模块在编译时进行备份。它会为每个已编译的源文件创建一个备份文件,后缀为.pyc.bak.:这是命令行中的当前目录。这意味着compileall将会在当前目录及其所有子目录中......