6行代码,带你学会Python最有用的小技巧【收藏不后悔】_f‘{num_val % 2 =

本文详细介绍了Python中的f字符串、数学运算、变量名获取、可打印表示、数字和日期格式化,以及切片和切片赋值的用法,为初学者提供了实用的编程技巧。
摘要由CSDN通过智能技术生成
str_val = 'apples'
num_val = 42

print(f'{num\_val} {str\_val}') # 42 apples

❀变量名

除了获取变量的值之外,您还可以在值旁边获取它的名称。这在调试时特别有用,并且可以通过=在大括号内的变量名称后添加等号 ( )来轻松实现。

请记住,花括号内的空格已被考虑在内,因此在等号周围添加空格可以使结果更具可读性。

str_val = 'apples'
num_val = 42

print(f'{str\_val=}, {num\_val = }') # str\_val='apples', num\_val = 42

❀数学运算

在语法上与变量名称不同,您还可以在 f 字符串中执行数学运算。您可以将数学表达式放在花括号内,如果添加等号,您将获得表达式及其结果。

num_val = 42

print(f'{num\_val % 2 = }') # num\_val % 2 = 0

❀可打印的表示

除了纯字符串插值外,您可能还想获得一个值的可打印表示。这已经很容易使用该repr()功能完成了。f 字符串通过!r在大括号内附加 a来提供更短的语法。

str_val = 'apples'

print(f'{str\_val!r}') # 'apples'

❀数字格式

此外,f 字符串也可用于格式化 - 因此名称中的f。要为值添加格式,您可以添加一个冒号 ( :),后跟一个格式说明符。这也可以与之前的 equals 结合使用,您是否也想打印变量的名称。

数字是一个很好的候选者。例如,如果要将数值修剪为小数点后两位,则可以使用.2f格式说明符。

price_val = 6.12658

print(f'{price\_val:.2f}') # 6.13

❀日期格式

最后,日期也可以使用格式说明符以与数字相同的方式进行格式化。像往常一样,%Y表示全年,%m是月份,是月份%d中的日期。

from datetime import datetime;

date_val = datetime.utcnow()

print(f'{date\_val=:%Y-%m-%d}') # date\_val=2021-07-09

四、在 Python 中格式化字符串的 2 种方法

ʕ ᵔᴥᵔ ʔ 字符串

格式化字符串文字,通常称为 f 字符串,是以'f' 或为前缀的字符串'F'。这些字符串可以包含用大括号 ( {})括起来的替换字段。

name = 'John'
age = 32

print(f'{name} is {age} years old') # 'John is 32 years old'

ʕ ᵔᴥᵔ ʔ str.format()

str.format()方法的工作方式与 f-strings 非常相似,主要区别在于替换字段作为参数提供,而不是作为字符串的一部分提供。

name = 'John'
age = 32

print('{0} is {1} years old'.format(name, age)) # 'John is 32 years old'

五、理解 Python 的切片赋值

5.1理解 Python 的切片符号

ʕ•̫͡• ʔ 基本语法

Python 的切片符号用于返回列表或列表的一部分。基本语法如下:

[start_at:stop_before:step]

其中start_at是要返回的第一个项目的索引(包括),stop_before是停止之前的元素的索引(不包括),step是任何两个项目之间的步幅。

所有三个参数都是可选的,这意味着您可以省略其中任何一个。例如:

nums = [1, 2, 3, 4, 5]

nums[1:4]     # [2, 3, 4] (start at 0, stop before 4)
nums[2:]      # [3, 4, 5] (start at 0, stop at end of list)
nums[:3]      # [1, 2, 3] (start at 0, stop before 3)
nums[1:4:2]   # [2, 4] (start at 1, stop before 4, every 2nd element)
nums[2::2]    # [3, 5] (start at 2, stop at end of list, every 2nd element)
nums[:3:2]    # [1, 3] (start at 0, stop before 3, every 2nd element)
nums[::2]     # [1, 3, 5] (start at 0, stop at end of list, every 2nd element)
nums[::]      # [1, 2, 3, 4, 5] (start at 0, stop at end of list)

从上面的示例中您可能可以看出,默认值为start_at = 0stop_before = len(nums)step = 1

浅克隆列表的惯用方法是使用[:](例如nums_clone = nums[:])。

ʕ•̫͡• ʔ 负值

所有三个参数也接受负值。对于start_atand stop_before,负值意味着从列表的末尾开始计数,而不是从开始计数。例如-1将代表最后一个元素,-2倒数第二个元素等。例如:

nums = [1, 2, 3, 4, 5]

nums[1:-2]    # [2, 3] (start at 1, stop before 2nd to last)
nums[-3:-1]   # [3, 4] (start at 3rd to last, stop before last)

负数step意味着列表被反向切片(从结尾到开头)。这也意味着start_at应该大于stop_before并且stop_before在反向步幅的上下文中更像是stop_after如果您正在查看非反向列表。例如:

nums = [1, 2, 3, 4, 5]

nums[::-1]    # [5, 4, 3, 2, 1] (reversed)
nums[4:1:-1]  # [5, 4, 3] (reversed, start at 4, stop after 1)
nums[-1:1:-2] # [5, 3] (reversed, start at last, stop after 1, every 2nd)

ʕ•̫͡• ʔ 空切片

请记住,切片表示法非常宽容,因此如果参数的值超出列表的范围,您将得到一个空列表。例如:

nums = [1, 2, 3, 4, 5]

nums[6:8]     # []
nums[:-10]    # []

5.2理解 Python 的切片赋值

ಡ ಡ基本语法

为了理解 Python 的切片分配,您至少应该对切片的工作原理有一个很好的了解。这是一个快速回顾:

[start_at:stop_before:step]

切片赋值与切片列表的语法相同,唯一的例外是它用在表达式的左侧而不是右侧。由于切片返回一个列表,切片赋值需要一个列表(或其他可迭代的)。而且,顾名思义,右侧应该是分配给表达式左侧切片的值。例如:

nums = [1, 2, 3, 4, 5]

nums[:1] = [6]        # [6, 2, 3, 4, 5] (replace elements 0 through 1)
nums[1:3] = [7, 8]    # [6, 7, 8, 4, 5] (replace elements 1 through 3)
nums[-2:] = [9, 0]    # [6, 7, 8, 9, 0] (replace the last 2 elements)

ಡ ಡ改变长度

表达式左侧切片返回的列表部分是将通过切片赋值更改的列表部分。这意味着您可以使用切片分配将列表的一部分替换为长度也与返回切片不同的不同列表。例如:

如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
最后祝你好运!!!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值