新手学习Python需要知道的100个小技巧,加班一晚上终于整理出来了!

前言

哈喽兄弟们,今天给大家分享一下Python初学需要知道的100个小技巧~

1、for循环中的else条件
这是一个for-else方法,循环遍历列表时使用else语句。下面举个例子,比如我们想检查一个列表中是否包含奇数。那么可以通过for循环,遍历查找。

(文末有彩蛋)

图片

如果找到了奇数,就会打印该数值,并且执行break语句,跳过else语句。没有的话,就不会执行break语句,而是执行else语句。

2、从列表中获取元素,定义多个变量

图片
(文末有彩蛋)

3、使用heapq模块,获取列表中n个最大或最小的元素

图片

4、将列表中的所有元素作为参数传递给函数
我们可以使用 * 号,提取列表中所有的元素

图片

如此便可以将列表中的所有元素,作为参数传递给函数

图片

5、获取列表的所有中间元素

图片

6、使用一行代码赋值多个变量

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

7、列表推导式

图片

8、通过Enum枚举同一标签或一系列常量的集合

图片

9、重复字符串


name = "Banana"
print(name * 4)  # BananaBananaBananaBanana

10、比较3个数字的大小

图片

11、使用1行代码合并字典


first_dictionary = {'name': 'Fan', 'location': 'Guangzhou'}
second_dictionary = {'name': 'Fan', 'surname': 'Xiao', 'location': 'Guangdong, Guangzhou'}

result = first_dictionary | second_dictionary

print(result)
# {'name': 'Fan', 'location': 'Guangdong, Guangzhou', 'surname': 'Xiao'}

12、查找元组中元素的索引


books = ('Atomic habits', 'Ego is the enemy', 'Outliers', 'Mastery')
print(books.index('Mastery'))   # 3

13、将字符串转换为字符串列表

图片

图片

14、计算两数差值

图片

图片

15、用一个print()语句打印多个元素

print(1, 2, 3, "a", "z", "this is here", "here is something else")

16、在同一行打印多个元素


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


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


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

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


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


four_letters = "abcd" # this works
4_letters = "abcd" # this doesn’t work


这是Python的变量命名规则

19、不能在变量名的开头使用运算符

+variable = "abcd"  # this doesn’t work

20、数字的第一位不能是0

number = 0110 # this doesn't work

这个确实挺神奇的

21、在变量名的任何地方使用下划线

图片

22、使用下划线分割数值较大的数字

图片

23、反转列表


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


24、使用步进函数对字符串切片


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


25、反向切片


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

26、使用开始或结束索引进行切片


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

print(my_string[:3])  # Thi


27、/和//的区别


print(3/2)  # 1.5
print(3//2)  # 1


28、==和is的区别

图片

29、合并字典


dictionary_one = {"a": 1, "b": 2}
dictionary_two = {"c": 3, "d": 4}

merged = {**dictionary_one, **dictionary_two}

print(merged)  # {'a': 1, 'b': 2, 'c': 3, 'd': 4}

30、检查字符串是否大于另一字符串


first = "abc"
second = "def"

print(first < second)  # True

second = "ab"
print(first < second)  # False

31、检查字符串是否以特定字符开头(不使用索引)


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


32、使用id()查找变量的唯一id


print(id(1))  # 4325776624
print(id(2))  # 4325776656
print(id("string"))  # 4327978288


33、整数、浮点数、字符串、布尔值和元组都是不可变的

图片

34、字符串和元组也是不可变的

图片

35、列表、集合和字典都是可变的

图片

图片


36、把一个列表变成不可变的列表


my_set = frozenset(['a', 'b', 'c', 'd'])

my_set.add("a")

使用frozenset()后,你就无法更改了。

37、if-elif块可以在没有else块的情况下存在

图片

38、使用sorted()检查2个字符串是否为相同


def check_if_anagram(first_word, second_word):
    first_word = first_word.lower()
    second_word = second_word.lower()
    return sorted(first_word) == sorted(second_word)

print(check_if_anagram("testinG", "Testing"))  # True
print(check_if_anagram("Here", "Rehe"))  # True
print(check_if_anagram("Know", "Now"))  # False

39、获取字符的Unicode值


print(ord("A"))  # 65
print(ord("B"))  # 66
print(ord("C"))  # 66
print(ord("a"))  # 97


40、获取字典的键


dictionary = {"a": 1, "b": 2, "c": 3}

keys = dictionary.keys()
print(list(keys))  # ['a', 'b', 'c']


41、获取字典的值


dictionary = {"a": 1, "b": 2, "c": 3}

values = dictionary.values()
print(list(values))  # [1, 2, 3]


42、交换字典的键、值位置


dictionary = {"a": 1, "b": 2, "c": 3}

reversed_dictionary = {j: i for i, j in dictionary.items()}
print(reversed)  # {1: 'a', 2: 'b', 3: 'c'}


43、将布尔值转换为数字


print(int(False))  # 0
print(float(True))  # 1.0


44、在算术运算中使用布尔值


x = 10
y = 12
result = (x - False)/(y * True)
print(result)  # 0.833333333333333


45、将任何数据类型转换为布尔值


print(bool(.0))  # False
print(bool(3))  # True
print(bool("-"))  # True
print(bool("string"))  # True
print(bool(" "))  # True


46、将值转换为复数


print(complex(10, 2))  # (10+2j)
也可以将数字转换为十六进制数。

print(hex(11))  # 0xb


47、在列表的第一个位置添加一个值

图片

48、Lambda函数只能在一行代码中

图片

49、Lambda中的条件语句应始终包含else语句

图片

50、使用filter(),获得一个新对象


my_list = [1, 2, 3, 4]

odd = filter(lambda x: x % 2 == 1, my_list)

print(list(odd))   # [1, 3]
print(my_list)  # [1, 2, 3, 4]

51、map()返回一个新对象

图片

52、range()的step参数


for number in range(1, 10, 3):
    print(number, end=" ")
# 1 4 7


53、range()默认从0开始


def range_with_zero(number):
    for i in range(0, number):
        print(i, end=' ')

def range_with_no_zero(number):
    for i in range(number):
        print(i, end=' ')

range_with_zero(3)  # 0 1 2
range_with_no_zero(3)  # 0 1 2

54、不需要和0比较长度

图片

55、可以在同一个作用域内多次定义一个方法

图片

56、在外部直接访问私有属性

图片


57、检查对象的内存使用情况


import sys
print(sys.getsizeof("bitcoin"))  # 56


58、定义一个方法,可以调用任意个参数


def get_sum(*arguments):
    result = 0
    for i in arguments:
        result += i
    return result

print(get_sum(1, 2, 3))  # 6
print(get_sum(1, 2, 3, 4, 5))  # 15
print(get_sum(1, 2, 3, 4, 5, 6, 7))  # 28

59、使用super()或父类的名称调用父类的初始化

图片

图片

60、在类中使用 + 操作符

图片

61、在类中使用 < 和 == 操作符

图片

图片

图片

62、为类的对象定义自定义的可打印版本

class Rectangle:
    def __init__(self, a, b):
        self.a = a
        self.b = b

    def __repr__(self):
        return repr('Rectangle with area=' + str(self.a * self.b))


print(Rectangle(3, 4))  # 'Rectangle with area=12'


63、交换字符串中字符的大小写


string = "This is just a sentence."
result = string.swapcase()
print(result)  # tHIS IS JUST A SENTENCE.


64、检查字符串是否都是空格


string = "  "
result = string.isspace()
print(result)  # True


65、检查字符串是否都是字母或数字


name = "Password"
print(name.isalnum())  # True
name = "Secure Password "
print(name.isalnum())  # False
name = "S3cur3P4ssw0rd"
print(name.isalnum())  # True
name = "133"
print(name.isalnum())  # True


66、检查字符串是否都是字母


string = "Name"
print(string.isalpha())  # True

string = "Firstname Lastname"
print(string.isalpha())  # False

string = "P4ssw0rd"
print(string.isalpha())  # False


67、根据参数删除字符

图片

68、检查字符串是否为数字


string = "seven"
print(string.isdigit())  # False

string = "1337"
print(string.isdigit())  # True

string = "5a"
print(string.isdigit())  # False

string = "2**5"
print(string.isdigit())  # False

69、检查字符串是否为中文数字


# 42673
string = "四二六七三"

print(string.isdigit())  # False
print(string.isnumeric())  # True

70、检查字符串是否所有单词都是大写开头


string = "This is a sentence"
print(string.istitle())  # False

string = "10 Python Tips"
print(string.istitle())  # True

string = "How to Print A String in Python"
# False
print(string.istitle())

string = "PYTHON"
print(string.istitle())  # False

71、在元组中使用负索引


numbers = (1, 2, 3, 4)

print(numbers[-1])  # 4
print(numbers[-4])  # 1

72、在元组中嵌套列表和元组


mixed_tuple = (("a"*10, 3, 4), ['first', 'second', 'third'])

print(mixed_tuple[1])  # ['first', 'second', 'third']
print(mixed_tuple[0])  # ('aaaaaaaaaa', 3, 4)


73、快速统计元素在列表中出现的次数


names = ["Besim", "Albert", "Besim", "Fisnik", "Meriton"]

print(names.count("Besim"))  # 2

74、使用slice()获取元素

图片

75、计算元素在元组中出现的次数


my_tuple = ('a', 1, 'f', 'a', 5, 'a')

print(my_tuple.count('a'))  # 3

76、获取元组中元素的索引


my_tuple = ('a', 1, 'f', 'a', 5, 'a')

print(my_tuple.index('f'))  #  2

77、步进获得元组


my_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

print(my_tuple[::3])  # (1, 4, 7, 10)


78、通过索引获取子元组


my_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

print(my_tuple[3:])  # (4, 5, 6, 7, 8, 9, 10)

79、将列表、集合、字典中所有元素删除


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

my_set = {1, 2, 3}
my_set.clear()
print(my_set)  # set()

my_dict = {"a": 1, "b": 2}
my_dict.clear()
print(my_dict)  # {}

80、合并集合

图片

81、在函数里输出结果

图片

82、if语句中的多个条件

图片


83、在一个if语句中,至少满足多个条件中的一个

图片

84、任何非空字符串都为True

图片

85、任何非空列表、元组、字典都为True

图片

86、None、False、0都为False

图片

87、在函数中使用全局变量
函数无法直接修改全局变量的值

图片

可通过修饰符global,修改全局变量的值。

图片

88、计算字符串或列表中元素的数量
使用collections中的Counter计算字符串或列表中元素的数量。

图片

89、检查2个字符串是否为相同
可以使用Counter()方法。

图片

可以使用sorted()方法

图片

90、使用itertools中的count计算元素的数量

图片

输出如下

图片

91、对字符串或列表的元素进行次数排序

collections模块的Counter(),默认情况下是不会根据元素的频率对它们进行排序的。

图片

map()函数将给定函数应用于可迭代对象(列表、元组等),然后返回结果(map对象)。

92、查找列表中出现频率最高的元素

图片

93、copy()和deepcopy()的区别

图片

图片

这里是一个deepcopy()的例子。

图片

94、访问字典中不存在的键时,避免报错
如果你想访问字典一个不存在的键,代码会报错。

图片

错误如下

图片

95、构建迭代器

图片

96、删除列表的重复项

图片

97、打印模块的安装位置

图片

98、使用not in检查一个值是否在列表中

图片

99、sort()和sorted()的区别

图片

100、使用uuid模块生成唯一ID

UUID代表唯一标识符。

图片

最后

读者福利:如果你对Python感兴趣,小编便准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

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

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

在这里插入图片描述
在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码输入“领取资料” 即可自动领取
或者

点此链接】领取

好文推荐

了解python的前景:https://blog.csdn.net/weixin_49895216/article/details/127186741

了解python的兼职:https://blog.csdn.net/SpringJavaMyBatis/article/details/127196603

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值