如果想要了解更多關(guān)于編程提問的技能,我另有一篇文章,鏈接如下(英文):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)')大多程序員是從來不會把所有文檔讀遍來學(xué)習(xí)全部內(nèi)容的。作為一名程序員,部分工作就是要搜索如何解決問題的信息。
my_list=[letter for letter in my_list if isinstance(letter,str)]就是這樣!
還沒結(jié)束!使用過濾器也可以獲得同樣的結(jié)果:
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]}')你可能發(fā)現(xiàn)了,它來自其他語言,這不是Python的風(fēng)格。在Python中,你可以使用for-each循環(huán):
for name in greek_gods:print (f'Greek God: {name}')你很快就能發(fā)現(xiàn),這里我們不包含索引。如果想用索引打印要怎么做?在Python中,你可以使用枚舉(enumerate參數(shù)),這是一種訪問所需內(nèi)容的絕佳方案。
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=如果想要創(chuàng)建一個student,可以像這樣將其分配給變量:student1=Student('Martin Aaberge')如果需要更多student,可以使用同一個類并添加另外的姓名:student2=Student('Ninja Henderson')`student1`和`student2`都是student類的實(shí)例,它們共享同一個藍(lán)圖,但彼此之間并無關(guān)系。此時,我們對學(xué)生們能做的不多,但我們確實(shí)增加了一個主題列表。要填充此列表,我們需要創(chuàng)建方法,你可以調(diào)用方法來實(shí)現(xiàn)與該類實(shí)例的交互。
我們更新:
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這個類可以用于創(chuàng)建、編輯學(xué)生信息,并獲取我們存在其中的信息:
#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將類保存在單獨(dú)的文件中并導(dǎo)入主代碼的操作很常見,在我們的案例中,我們會在student.py文件中創(chuàng)建一個`student`類,并將其導(dǎo)入我們的main.py文件(本案例中,它們都位于同一個文件夾中)。
from student import Studentstudent1=Student('Martin')student1.add_subject('biomechanics_2020')student1.get_student_data