前言
哈喽兄弟们,今天给大家分享一下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全套学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码输入“领取资料” 即可自动领取
或者
【点此链接】领取
![](https://img-blog.csdnimg.cn/img_convert/be46966000e0920e843b2c3b8497298c.png)
好文推荐
了解python的前景:https://blog.csdn.net/weixin_49895216/article/details/127186741
了解python的兼职:https://blog.csdn.net/SpringJavaMyBatis/article/details/127196603