Python 初学者进阶的九大技能(1),宅家36天咸鱼翻身入职腾讯

本文介绍了Python中字符串的索引访问、str()函数、endswith()和split()方法的应用,强调了通过查阅文档和灵活运用列表、循环、枚举等技术解决实际问题的重要性。作者还提供了学习资源和实战案例,鼓励读者系统学习和实践以提升技能。
摘要由CSDN通过智能技术生成

这部分内容其实与字符串不完全相关,与挖掘Python优雅的库有更大关系。

我们很早就在Python中学过,字符串也可以看作是一串字符。你也可以使用索引访问字符串中的字符。

word = ‘supergreat’

print (f’{word[0]}')

s

print (f’{word[0:5]}')

super

敏锐的学习者会查看str()所提供的内容,但也可以不查看 str()文档继续编程。

查看函数或过程文档可以通过调用 help(str) 或者dir(str)来实现。执行此操作时,你可能会发现一些并不知道的方法,也许你在查看str()时,找到有个名叫 endswith() 的方法,或许能用在某处。

在这里插入图片描述

在这里插入图片描述

下面是一些以两种不同方式执行相同操作的代码案例,一种用到了我们才谈过的拆分,还有一种用到了我们刚刚学到的 endswith()

filenames = [‘lochness.png’ , ‘e.t.jpeg’ , ‘conspiracy_theories_CONFIRMED.zip’]

1: Using ENDSWITH

for files in filenames:

if files.endswith(‘zip’):

print(f’{files} is a zip file’)

else:

print (f’{files} is NOT a zip file’)

2: Using SPLIT

for files in filenames:

if files.split(‘.’)[-1] == ‘zip’:

print(f’{files} is a zip file (using split)')

else:

print (f’{files} is NOT a zip file (using split)')

大多程序员是从来不会把所有文档读遍来学习全部内容的。作为一名程序员,部分工作就是要搜索如何解决问题的信息。

5. 使用列表:

列表很棒,用途也很广泛。

下面的案例中,我们将整数和字符串混合在了一起:

my_list = [‘a’ , ‘b’ , ‘n’ , ‘x’ , 1 , 2 , 3, ‘a’ , ‘n’ , ‘b’]

for item in my_list:

print (f’current item: {item}, Type: {type(item)}')

在这里插入图片描述

注意我们是怎么将字符串和整数混合在一起的,如果尝试对其排序,就会报错:

print (my_list.sort())

在这里插入图片描述

如果我们想把整数与字母分开要怎么做?一种方式是通过循环来实现,我们可以遍历列表中的所有项目。初学者很早就会使用循环了,循环对于编程也很重要。

代码可能是下面这样的:

my_list = [‘a’ , ‘b’ , ‘n’ , ‘x’ , 1 , 2 , 3 , ‘a’ , 33.3 , ‘n’ , ‘b’]

number_list = []

string_list = []

for item in my_list:

print (f’current item: {item}, Type: {type(item)}')

if not isinstance(item,str):

number_list.append(item)

else:

string_list.append(item)

my_list = string_list

即便有些混乱,这也是一种有效的方式,可以运行,不过经过重构可以用单行来表示!

如果想要生活多些乐趣,请学习Python的列表解析式,下面是同样问题通过列表解析式得出的:

my_list = [letter for letter in my_list if isinstance(letter,str)]

就是这样!

还没结束!使用过滤器也可以获得同样的结果:

def get_numbers(input_char):

if not isinstance(input_char,str):

return True

return False

my_list = [1,2,3,‘a’,‘b’,‘c’]

check_list = filter(get_numbers, my_list)

for items in check_list:

print(items)

在这里插入图片描述

现在你可能明白了,实现同样的结果有很多方法,你必须找出适合你或你团队的那个。

额外知识点

  • 反向列表(或字符串):

names = [‘First’ , ‘Middle’ , ‘Last’]

print(names[::-1])

[‘Last’, ‘Middle’, ‘First’]

- 在列表中加入元素:

names = [‘First’ , ‘Middle’ , ‘Last’]

full_name = ’ '.join(names)

print(f’Full Name:\n{full_name}')

First Middle Last

6. 使用循环:

是否在Python中见过这样的代码?

greek_gods = [‘Zeus’ , ‘Hera’ , ‘Poseidon’ , ‘Apollo’ , ‘Bob’]

for index in range(0,len(greek_gods)):

print (f’at index {index} , we have : {greek_gods[index]}')

你可能发现了,它来自其他语言,这不是Python的风格。在Python中,你可以使用

for-each循环:

for name in greek_gods:

print (f’Greek God: {name}')

你很快就能发现,这里我们不包含索引。如果想用索引打印要怎么做?在Python中,你可以使用枚举(enumerate参数),这是一种访问所需内容的绝佳方案。

for index, name in enumerate(greek_gods):

print (f’at index {index} , we have : {name}')

在这里插入图片描述

7. 使用函数(并正确谈论函数):

我在从事动画工作时,总是说如果同一个操作重复5次,就应该考虑是否需要写个程序。有些时候花上两周开发一款工具可以节省你六个礼拜的工作时间。

编写代码时,如果发现同一动作执行了不止一次,应该考虑这是过程还是函数,还不只是写写代码。函数会返回内容,过程则只是运行代码,第一个案例是个过程,第二个是函数。

这样说可能会令人困惑,下面是其工作原理的示意图:

在这里插入图片描述

注意print和return的差异,看起来也许很相似,但如果你查看输出结果,函数只会返回发送的名称。

下一个要了解的语法是parameters和arguments,在过程或函数中定义时(红色部分)被称为形参(parameters),当发送名称到过程或函数中(绿色部分)时就叫实参(arguments)了。

下面是些案例:

案例1

def print_list(input_list):

for each in input_list:

print(f’{each}')

print() #just to separate output

greek_gods = [‘Zeus’ , ‘Hera’ , ‘Poseidon’ , ‘Apollo’ , ‘Bob’]

grocery_list = [‘Apples’ , ‘Milk’ , ‘Bread’]

print_list(greek_gods)

print_list(grocery_list)

print_list([‘a’ , ‘b’ , ‘c’])

在这里插入图片描述

无需把循环写上3次,只需在过程中写上一次,然后在需要时调用即可。在案例2中,你可以发现代码是如何返回反向列表的。

案例2

def reverse_list(list_input):

return list_input[::-1]

my_list = [‘a’, ‘b’ , ‘c’]

print (reverse_list(my_list))

[‘c’, ‘b’, ‘a’]

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

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

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

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

二、学习软件

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

三、全套PDF电子书

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

四、入门学习视频

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

四、实战案例

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

五、面试资料

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

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

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

blog.csdnimg.cn/img_convert/6c361282296f86381401c05e862fe4e9.png)

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

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值