Legjobb válasz
A nevet a \_\_name\_\_
az osztály attribútuma; ha pedig van objektuma, akkor az osztályt az objektum \_\_class\_\_
attribútumának elérésével szerezheti be.
>>> class SillyClassName:
... @classmethod
... def my\_name(cls\_):
... return cls\_.\_\_name\_\_
...
... def class\_name(self):
... return self.\_\_class\_\_.\_\_name\_\_
...
>>> SillyClassName.my\_name()
SillyClassName
>>>
>>> inst = SillyClassName()
>>> inst.class\_name()
SillyClassName
Vigyázat – ha ezt használja az osztály nevének eléréséhez olyan helyzetben, amikor öröklést használ, akkor az self.\_\_class\_\_.\_\_name\_\_\_
használatával az eredeti osztály neve kerül vissza, nem pedig osztály, amely tartalmazza a kódot.
>>> class SecondSillyClass(SillyClassName):
... pass
...
>>> inst = SecondSillyClass()
>>> SecondSillyClass.my\_name()
SecondSillyClass
>>> inst.class\_name()
SecondSillyClass
Válasz
háromféleképpen :
- Használja például az in operátort:
"orld" in "Hello World"
. - Használja a
find()
metódus:"Hello World".find("or")
– ez visszaadja a részlánc indexét a fő karakterláncban – visszaadja az-1
parancsot, amikor az alhúr nincs a fő karakterláncban. - Használja a
count()
metódust"Hello World".count("or")
– ez adja vissza az al karakterlánc gyakoriságát a fő karakterláncban található – 0-t ad vissza, ha az al-karakterlánc nincs a fő karakterláncban.
A find () vagy a count () használatával csak annak tesztelésére használható, hogy tartalmaz-e egy alsztringet egy fő karakterláncban nem jó gyakorlat, de megtehető, ha más okokból tervezi felhasználni az általuk nyújtott információkat.
Például – tegye ezt:
if substring in mainstring:
index = mainstring.find(substring)
after = maintstring[index+len(substring):]
Valójában gyenge gyakorlat – jobb lenne ezt megtenni:
index = mainstring.find(substring)
if index != -1:
after = maintstring[index+len(substring):]