如果想要了解更多关于编程提问的技能,我另有一篇文章,链接如下(英文):How to Ask Questions About Programming:https://medium.com/better-programming/how-to-ask-questions-about-programming-dcd948fcd2bd。
filenames=['lochness.png' , 'e.t.jpeg' , 'conspiracy_theories_CONFIRMED.zip']# 1: Using ENDSWITHfor 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 SPLITfor 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)')大多程序员是从来不会把所有文档读遍来学习全部内容的。作为一名程序员,部分工作就是要搜索如何解决问题的信息。
my_list=[letter for letter in my_list if isinstance(letter,str)]就是这样!
还没结束!使用过滤器也可以获得同样的结果:
def get_numbers(input_char):if not isinstance(input_char,str):return Truereturn Falsemy_list=[1,2,3,'a','b','c']check_list=filter(get_numbers, my_list)for items in check_list:print(items)
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}')
class Student:def __init__(self,name):self._name=nameself._subject_list=如果想要创建一个student,可以像这样将其分配给变量:student1=Student('Martin Aaberge')如果需要更多student,可以使用同一个类并添加另外的姓名:student2=Student('Ninja Henderson')`student1`和`student2`都是student类的实例,它们共享同一个蓝图,但彼此之间并无关系。此时,我们对学生们能做的不多,但我们确实增加了一个主题列表。要填充此列表,我们需要创建方法,你可以调用方法来实现与该类实例的交互。
我们更新:
class Student:def __init__(self,name):self._name=nameself._subject_list=def add_subject(self, subject_name):self._subject_list.append(subject_name)def get_student_data(self):print (f'Student: {self._name} is assigned to:')for subject in self._subject_list:print (f'{subject}')print这个类可以用于创建、编辑学生信息,并获取我们存在其中的信息:
#create students:student1=Student('Martin Aaberge')student2=Student('Heidi Hummelvold')#add subjects to student1student1.add_subject('psychology_101')student1.add_subject('it_security_101')#add subject to student2student2.add_subject('leadership_101')#print current data on studentsstudent1.get_student_datastudent2.get_student_data将类保存在单独的文件中并导入主代码的操作很常见,在我们的案例中,我们会在student.py文件中创建一个`student`类,并将其导入我们的main.py文件(本案例中,它们都位于同一个文件夹中)。
from student import Studentstudent1=Student('Martin')student1.add_subject('biomechanics_2020')student1.get_student_data