Python 初学者进阶的九大技能(三)

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

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)
Python 初学者进阶的九大技能(三)


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


额外知识点

  • 反向列表(或字符串): 
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 Last6. 使用循环:

是否在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}')

Python 初学者进阶的九大技能(三)

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

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

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

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

Python 初学者进阶的九大技能(三)

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

上一篇:阿里云怎么购买云速成美站: 虚拟主机+建站模板


下一篇:Oracle启动em问题