Python初学者必备!尤其是自学者,超实用技巧务必码住

毋庸置疑,Python是如今发展最迅速的编程语言。在我们的调查中,今年它在在编程语言中的排名再次上升,取代Java成为了第二受欢迎的编程语言(仅次于Rust)。

不论是在不同学科还是各个行业,Python技能似乎都成为了“硬通货”。很多人开始了Python语言的学习,朋友圈里的Python培训广告也只增不减。

如果你已经成为了一名Python初学者,那么恭喜,你正在学习发展最迅速的主要编程语言之一。笔者学习Python已有五年,本文将分享一份简单实用的Python学习技巧和窍门清单,希望你能更有效地学习Python,充分享受学习过程。

提示:目前笔者使用的是Python 3.8。如果在给出的示例的实践过程中遇到任何问题,请先检查自己的Python版本。

1. 条件返回语句

与其:

>>>def compare(a,b):... if a> b:... return a... else:... return b...

不如将条件直接输入至返回语句中。

>>>def compare(a, b):... return a if a> b else b...

2. 在列表/多元组中的一行语句中赋予多个变量

与其:

>>>arr_list = [1,4,7]>>> a = arr_list[0]>>> b = arr_list[1]>>> c = arr_list[2]

不如在一行语句中进行赋值:

>>>a, b, c = arr_list>>> a1>>> b4>>> c7

3. 数值比较

>>>a = 1>>> b = 3>>> a == 1True>>> a == 2False>>> a == bFalse>>> a > bFalse>>> a <= bTrue>>> if a <= b :... print('a is less than or equal tob')...a is less than or equal to b

此方法可以比较两个对象的值。返回对/错。比较可直接被用作if-else语句中的条件。

4. 列表推导式

与其:

>>>arr_list = [1,4,7]>>> result = []>>> for i in arr_list:... result.append(i*2)...>>> result[2, 8, 14]

不如:

>>>result = [x*2 for x in arr_list]>>> result[2, 8, 14]

5. 使用lambda表达式按第二个元素对嵌套数组进行排序

>>>arr_list= [[1,4], [3,3], [5,7]]>>> arr_list.sort(key= lambda x: x[1])>>> arr_list[[3, 3], [1, 4], [5, 7]]

6. Filter函数、Map函数

与其:

>>>arr_list = [-1, 1, 3, 5]>>> result = []>>> for i in arr_list:... if i > 0:... result.append(i**2)...>>> result[1, 9, 25]

不如:

>>>result = list(map(lambda x: x**2, filter(lambda x: x > 0, arr_list)))>>> result[1, 9, 25]

此处使用列表推导式会更好。

>>>result = [i**2 for i in arr_list if i > 0]>>> result[1, 9, 25]

7. 检查列表中元素是否唯一

图源:unsplash

使用set函数从列表中删除重复的元素,然后测试列表和set的长度是否相等:

>>>arr_list = [1,4,4,6,9]>>> len(arr_list) == len(set(arr_list))False

8. 使用zip函数比较两个列表中的元素

与其:

>>>a = [1,5,8]>>> b = [3,4,7]>>> result = []>>> for i in range(len(a)):... result.append(a[i] if a[i]>> result[1, 4, 7]

不如:

>>>result = [min(i) for i in zip(a,b)]>>> result[1, 4, 7]

9. 字符串格式化

Python3.6及更旧版本:

>>>a, b, c = 1,5,9>>> print('a is {}; b is {}; c is {}'.format(a,b,c))a is 1; b is 5; c is 9

Python3.6及更新版本:

>>>print(f'a is {a}; b is {b}; c is {c}')a is 1; b is 5; c is 9

10. Enumerate函数

与其:

>>>arr_list = [1, 5, 9]>>> for i in range(len(arr_list)):... print(f'Index: {i}; Value:{arr_list[i]}')...Index: 0; Value: 1Index: 1; Value: 5Index: 2; Value: 9

不如:

>>>for i, j in enumerate(arr_list):... print(f'Index: {i}; Value: {j}')...Index: 0; Value: 1Index: 1; Value: 5Index: 2; Value: 9

毋庸置疑,Python是如今发展最迅速的编程语言。在我们的调查中,今年它在在编程语言中的排名再次上升,取代Java成为了第二受欢迎的编程语言(仅次于Rust)。

不论是在不同学科还是各个行业,Python技能似乎都成为了“硬通货”。很多人开始了Python语言的学习,朋友圈里的Python培训广告也只增不减。

如果你已经成为了一名Python初学者,那么恭喜,你正在学习发展最迅速的主要编程语言之一。笔者学习Python已有五年,本文将分享一份简单实用的Python学习技巧和窍门清单,希望你能更有效地学习Python,充分享受学习过程。

提示:目前笔者使用的是Python 3.8。如果在给出的示例的实践过程中遇到任何问题,请先检查自己的Python版本。

1. 条件返回语句

与其:

>>>def compare(a,b):... if a> b:... return a... else:... return b...

不如将条件直接输入至返回语句中。

>>>def compare(a, b):... return a if a> b else b...

2. 在列表/多元组中的一行语句中赋予多个变量

与其:

>>>arr_list = [1,4,7]>>> a = arr_list[0]>>> b = arr_list[1]>>> c = arr_list[2]

不如在一行语句中进行赋值:

>>>a, b, c = arr_list>>> a1>>> b4>>> c7

3. 数值比较

>>>a = 1>>> b = 3>>> a == 1True>>> a == 2False>>> a == bFalse>>> a > bFalse>>> a <= bTrue>>> if a <= b :... print('a is less than or equal tob')...a is less than or equal to b

此方法可以比较两个对象的值。返回对/错。比较可直接被用作if-else语句中的条件。

4. 列表推导式

与其:

>>>arr_list = [1,4,7]>>> result = []>>> for i in arr_list:... result.append(i*2)...>>> result[2, 8, 14]

不如:

>>>result = [x*2 for x in arr_list]>>> result[2, 8, 14]

5. 使用lambda表达式按第二个元素对嵌套数组进行排序

>>>arr_list= [[1,4], [3,3], [5,7]]>>> arr_list.sort(key= lambda x: x[1])>>> arr_list[[3, 3], [1, 4], [5, 7]]

6. Filter函数、Map函数

与其:

>>>arr_list = [-1, 1, 3, 5]>>> result = []>>> for i in arr_list:... if i > 0:... result.append(i**2)...>>> result[1, 9, 25]

不如:

>>>result = list(map(lambda x: x**2, filter(lambda x: x > 0, arr_list)))>>> result[1, 9, 25]

此处使用列表推导式会更好。

>>>result = [i**2 for i in arr_list if i > 0]>>> result[1, 9, 25]

7. 检查列表中元素是否唯一

图源:unsplash

使用set函数从列表中删除重复的元素,然后测试列表和set的长度是否相等:

>>>arr_list = [1,4,4,6,9]>>> len(arr_list) == len(set(arr_list))False

8. 使用zip函数比较两个列表中的元素

与其:

>>>a = [1,5,8]>>> b = [3,4,7]>>> result = []>>> for i in range(len(a)):... result.append(a[i] if a[i]>> result[1, 4, 7]

不如:

>>>result = [min(i) for i in zip(a,b)]>>> result[1, 4, 7]

9. 字符串格式化

Python3.6及更旧版本:

>>>a, b, c = 1,5,9>>> print('a is {}; b is {}; c is {}'.format(a,b,c))a is 1; b is 5; c is 9

Python3.6及更新版本:

>>>print(f'a is {a}; b is {b}; c is {c}')a is 1; b is 5; c is 9

10. Enumerate函数

与其:

>>>arr_list = [1, 5, 9]>>> for i in range(len(arr_list)):... print(f'Index: {i}; Value:{arr_list[i]}')...Index: 0; Value: 1Index: 1; Value: 5Index: 2; Value: 9

不如:

>>>for i, j in enumerate(arr_list):... print(f'Index: {i}; Value: {j}')...Index: 0; Value: 1Index: 1; Value: 5Index: 2; Value: 9

11. 形式组合和排列

>>>str_list = ['A', 'C', 'F']>>> list(itertools.combinations(str_list,2))[('A', 'C'), ('A', 'F'), ('C', 'F')]>>> list(itertools.permutations(str_list,2))[('A', 'C'), ('A', 'F'), ('C', 'A'), ('C', 'F'), ('F', 'A'), ('F', 'C')]

12. 获取数组的特定部分

>>>arr_list = [1,4,6,8,10,11]>>> a, *b, c = arr_list>>> a1>>> b[4, 6, 8, 10]>>> c11image

图源:unsplash

尽管这些技巧十分简单,却能避免很多不必要的步骤,简化代码。易上手易理解是Python最大的优点之一,希望你能享受学习、快乐编码!

11. 形式组合和排列

>>>str_list = ['A', 'C', 'F']>>> list(itertools.combinations(str_list,2))[('A', 'C'), ('A', 'F'), ('C', 'F')]>>> list(itertools.permutations(str_list,2))[('A', 'C'), ('A', 'F'), ('C', 'A'), ('C', 'F'), ('F', 'A'), ('F', 'C')]

12. 获取数组的特定部分

>>>arr_list = [1,4,6,8,10,11]>>> a, *b, c = arr_list>>> a1>>> b[4, 6, 8, 10]>>> c11image

图源:unsplash

尽管这些技巧十分简单,却能避免很多不必要的步骤,简化代码。易上手易理解是Python最大的优点之一,希望你能享受学习、快乐编码!

推荐我们的Python学习扣qun:784758214 ,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF,实战源码】,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每天都有大牛定时讲解Python技术,分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值