Python 初学者进阶的九大技能(附代码)( 二 )


不理解为何代码不运行的情况总会发生 , 当进行故障排除并搞清楚其原因时 , 思考代码不运行的原因和最终使其运行的因素非常重要 。 这次学到的知识会带到下一个程序中 。
例如 , 如果多个缩进级别的代码中出现了缩进错误 , 可以尝试随机调整代码块 , 然后在最终运行时为自己庆祝 。
切记 , 在大多数IDE中 , 可以折叠循环和if语句 , 从而更容易查看正在使用的部分 。
Python 初学者进阶的九大技能(附代码)
本文插图
右侧是折叠了if/else语句的ATOM
另一种办法是将你的代码通过 www.pythontutor.com可视化 , 就可以逐行查看代码运行的方式了 。
Python 初学者进阶的九大技能(附代码)
本文插图
使用pythontutors执行代码
4、使用字符串:
这部分内容其实与字符串不完全相关 , 与挖掘Python优雅的库有更大关系 。
我们很早就在Python中学过 , 字符串也可以看作是一串字符 。 你也可以使用索引访问字符串中的字符 。
word = 'supergreat' print (f'{word[0]}') >>> s print (f'{word[0:5]}') >>> super敏锐的学习者会查看`str()`所提供的内容 , 但也可以不查看 `str()`文档继续编程 。
查看函数或过程文档可以通过调用 `help(str)` 或者`dir(str)`来实现 。 执行此操作时 , 你可能会发现一些并不知道的方法 , 也许你在查看`str()`时 , 找到有个名叫 `endswith()` 的方法 , 或许能用在某处 。
Python 初学者进阶的九大技能(附代码)
本文插图
Python 初学者进阶的九大技能(附代码)
本文插图
下面是一些以两种不同方式执行相同操作的代码案例 , 一种用到了我们才谈过的拆分 , 还有一种用到了我们刚刚学到的 `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、使用列表:
Python 初学者进阶的九大技能(附代码)
本文插图
列表很棒 , 用途也很广泛 。
下面的案例中 , 我们将整数和字符串混合在了一起:
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)}')
Python 初学者进阶的九大技能(附代码)
本文插图
注意我们是怎么将字符串和整数混合在一起的 , 如果尝试对其排序 , 就会报错:
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即便有些混乱 , 这也是一种有效的方式 , 可以运行 , 不过经过重构可以用单行来表示!