分享20个Python技巧,一看就会的那种

Python现在非常流行,主要是因为它简单,容易学习。你可以用它来完成很多任务,比如数据科学和机器学习、web开发、脚本编写、自动化等。

这里总结了20条很有用的tips给你:

01 把列表中的值作为参数传递给方法

可以使用" * "提取列表中的所有元素:

my_list= [1, 2, 3, 4]print(my_list)  # [1, 2, 3, 4]print(*my_list)  # 1 2 3 4

当我们想将列表中的所有元素作为方法参数传递时,这很有用:

def sum_of_elements(*arg):

    total = 0

    for i in arg:

        total += i

    return total

result = sum_of_elements(*[1, 2, 3, 4])

print(result)  # 10

02 获取列表的所有中间元素

_, *elements_in_the_middle, _ = [1, 2, 3, 4, 5, 6, 7, 8]

print(elements_in_the_middle) # [2, 3, 4, 5, 6, 7]

03 一行赋值多个变量

one, two, three, four = 1, 2, 3, 4

04 列表推导

你可以使用推导如,让我们将列表中的每个数字都取二次方:

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

squared_numbers = [num * num for num in numbers]

print(squared_numbers)

推导不仅仅局限于使用列表。还可以将它们与字典、集合和生成器一起使用。让我们看另一个例子,使用字典推导将一个字典的值提升到二阶:

![](100 Helpful Python Tips You Can Learn Before Finishing Your Morning Coffee.assets/1_4D3OCbHOCfHiI8A3ru4xRQ.png)

Comprehensions are not just limited to working with lists. You can also use them with dictionaries, sets, and generators as well.

dictionary = {'a': 4, 'b': 5} squared_dictionary= {key: num * num for (key, num) in dictionary.items()}print(squared_dictionary)  # {'a': 16, 'b': 25}

05 一行打印多个元素

print("Hello", end="")

print("World")  # HelloWorld

print("Hello", end=" ")

print("World")  # Hello World

print('words',  'with', 'commas', 'in', 'between', sep=', ')

#words, with, commas, in, between

06 不使用循环来重复字符串

name = "Banana"

print(name * 4)  # BananaBananaBananaBanana

07 打印多个值,每个值之间使用自定义分隔符

你可以很容易地做高级打印:

print("29", "01", "2022", sep="/")  # 29/01/2022

print("name", "domain.com", sep="@")  # name@domain.com

08 不能在变量名的开头使用数字

four_letters = “abcd” # this works4_letters = “abcd” # this doesn’t work

09 不能在变量名的开头使用操作符

+variable = “abcd”  # this doesn’t work

10 颠倒列表的顺序

my_list = ['a', 'b', 'c', 'd']

my_list.reverse()

print(my_list)  # ['d', 'c', 'b', 'a']

11 使用step函数对字符串切片

my_string= "This is just a sentence"print(my_string[0:5])  # This# Take three steps forwardprint(my_string[0:10:3])  # Tsse

12 反向切片

my_string = "This is just a sentence"

print(my_string[10:0:-1])  # suj si sih

#Take two steps forward

print(my_string[10:0:-2])  # sjs i

13 只有开始或结束索引的部分切片

表示切片的开始和结束的索引可以是可选的。

my_string = "This is just a sentence"

print(my_string[4:])  # is just a sentence

print(my_string[:3])  # Thi

14 你不能把0作为数字的第一个数字

number = 0110 # this doesn't work

15 Floor 除法

print(3/2)  # 1.5

print(3//2)  # 1

16 == 和 “is” 的差别

" is "检查两个变量是否指向内存中的同一个对象。" == "比较这两个对象的值是否相等。

first_list = [1, 2, 3]

second_list = [1, 2, 3]

#Is their actual value the same?

print(first_list == second_list)  # True

#Are they pointing to the same object in memory

print(first_list is second_list) 

#False, since they have same values, but in different objects in memory

third_list = first_list

print(third_list is first_list) 

#True, since both point to the same object in memory

17 更改分配给另一个变量的变量的值

当一个变量被赋值给另一个变量时,它的值实际上被复制到第二个变量中。这意味着第一个变量之后的任何变化都不会反映在第二个变量中:

first = "An initial value"

second = first

first = "An updated value"

print(first)  # An updated value

print(second)  # An initial value

18 检查一个字符串是否大于另一个字符串

first = "abc"

second = "def"

print(first < second)  # True

second = "ab"

print(first < second)  # False

19 检查字符串是不是从特定字符开始的

my_string = "abcdef"

print(my_string.startswith("b"))  # False

20 使用id()找到变量的唯一id

print(id(1))  # 4325776624

print(id(2))  # 4325776656

print(id("string"))  # 4327978288

最后

希望以上我所分享的这些,能够给小伙伴们带来一些帮助!

若小伙伴有其它更好的建议或意见,欢迎在评论区进行讨论。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值