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