Хелпикс

Главная

Контакты

Случайная статья





import os 4 страница



В ы р е з к а м о ж е т о с у щ е с т в л я т ь с я и с о т р и ц а т е л ь н ы м и з н а ч е н и я м и. О т р и ц а -т е л ь н ы е ч и с л а о б о з н а ч а ю т п о з и ц и ю с к о н ц а п о с л е д о в а т е л ь н о с т и. Н а п р и м е р, shoplist[: -1] в е р н ё т в ы р е з к у и з п о с л е д о в а т е л ь н о с т и, и с к л ю ч а ю щ у ю п о -с л е д н и й э л е м е н т, н о с о д е р ж а щ у ю в с е о с т а л ь н ы е.

 

К р о м е т о г о, м о ж н о т а к ж е у к а з а т ь т р е т и й а р г у м е н т д л я в ы р е з к и, к о т о р ы й б у -д е т о б о з н а ч а т ь ш а г в ы р е з к и (п о у м о л ч а н и ю ш а г в ы р е з к и р а в е н 1):

 

shoplist = ['я б л о к и ', 'м а н г о ', 'м о р к о в ь ', 'б а н а н ы ']

shoplist[:: 1]

 

['я б л о к и ', 'м а н г о ', 'м о р к о в ь ', 'б а н а н ы ']

 

shoplist[:: 2]

 

['я б л о к и ', 'м о р к о в ь ']

 

shoplist[:: 3] ['я б л о к и ', 'б а н а н ы ']

shoplist[:: -1]

 

['б а н а н ы ', 'м о р к о в ь ', 'м а н г о ', 'я б л о к и ']

 

О б р а т и т е в н и м а н и е н а т о, ч т о к о г д а ш а г р а в е н 2, м ы п о л у ч а е м э л е м е н т ы, н а -х о д я щ и е с я н а п о з и ц и я х 0, 2, … К о г д а ш а г р а в е н 3, м ы п о л у ч а е м э л е м е н т ы с п о з и ц и й 0, 3, … и т. д.

 

П о п р о б у й т е р а з н ы е к о м б и н а ц и и п а р а м е т р о в в ы р е з к и, и с п о л ь з у я и н т е р а к т и в н у ю о б о -л о ч к у и н т е р п р е т а т о р а Python, т. е. е г о к о м а н д н у ю с т р о к у, ч т о б ы с р а з у в и д е т ь р е з у л ь т а т. П о с л е д о в а т е л ь н о с т и з а м е ч а т е л ь н ы т е м, ч т о о н и д а ю т в о з м о ж н о с т ь о б р а щ а т ь с я к к о р т е -ж а м, с п и с к а м и с т р о к а м о д н и м и т е м ж е с п о с о б о м!

 

 

12. 6 М н о ж е с т в о

 

М н о ж е с т в а – э т о н е у п о р я д о ч е н н ы е н а б о р ы п р о с т ы х о б ъ е к т о в. О н и н е о б х о д и м ы т о г д а, к о -г д а п р и с у т с т в и е о б ъ е к т а в н а б о р е в а ж н е е п о р я д к а и л и т о г о, с к о л ь к о р а з д а н н ы й о б ъ е к т т а м в с т р е ч а е т с я.

 

И с п о л ь з у я м н о ж е с т в а, м о ж н о о с у щ е с т в л я т ь п р о в е р к у п р и н а д л е ж н о с т и, о п р е д е л я т ь, я в -л я е т с я л и д а н н о е м н о ж е с т в о п о д м н о ж е с т в о м д р у г о г о м н о ж е с т в а, н а х о д и т ь п е р е с е ч е н и я м н о ж е с т в и т а к д а л е е.


 

12. 6. М н о ж е с т в о                                                                                                                                                            87


A Byte of Python (Russian), В е р с и я 2. 01

 

bri = set(['Б р а з и л и я ', 'Р о с с и я ', 'И н д и я '])

'И н д и я ' in bri

 

True

 

'С Ш А ' in bri False

bric = bri. copy()

bric. add('К и т а й ')

bric. issuperset(bri)

True

bri. remove('Р о с с и я ')

bri & bric # OR bri. intersection(bric)

 

{'Б р а з и л и я ', 'И н д и я '}

 

К а к э т о р а б о т а е т:

 

Э т о т п р и м е р д о с т а т о ч н о н а г л я д е н, т а к к а к и с п о л ь з у е т о с н о в ы т е о р и и м н о -ж е с т в и з ш к о л ь н о г о к у р с а м а т е м а т и к и.

 

 

12. 7 С с ы л к и

 

К о г д а м ы с о з д а ё м о б ъ е к т и п р и с в а и в а е м е г о п е р е м е н н о й, п е р е м е н н а я т о л ь к о с с ы л а е т с я н а о б ъ е к т, а н е п р е д с т а в л я е т с о б о й э т о т о б ъ е к т! Т о е с т ь и м я п е р е м е н н о й у к а з ы в а е т н а т у ч а с т ь п а м я т и к о м п ь ю т е р а, г д е х р а н и т с я о б ъ е к т. Э т о н а з ы в а е т с я п р и в я з к о й и м е н и к о б ъ е к т у.

 

О б ы ч н о в а м н е с л е д у е т о б э т о м б е с п о к о и т ь с я, о д н а к о е с т ь н е к о т о р ы й н е о ч е в и д н ы й э ф -ф е к т, о к о т о р о м н у ж н о п о м н и т ь:

 

П р и м е р: (с о х р а н и т е к а к reference. py)

 

print ('П р о с т о е п р и с в а и в а н и е ')

 

shoplist = ['я б л о к и ', 'м а н г о ', 'м о р к о в ь ', 'б а н а н ы ']

 

mylist = shoplist # mylist - л и ш ь е щ ё о д н о и м я, у к а з ы в а ю щ е е н а т о т ж е о б ъ е к т!

 

del shoplist[0]#Я с д е л а л п е р в у ю п о к у п к у, п о э т о м у у д а л я ю е ё и з с п и с к а

 

print ('shoplist: ', shoplist)

 

print ('mylist: ', mylist)

 

О б р а т и т е в н и м а н и е, ч т о и shoplist, и mylist в ы в о д я т о д и н и т о т ж е с п и с о к

б е з п у н к т а " я б л о к о ", п о д т в е р ж д а я т е м с а м ы м, ч т о о н и у к а з ы в а ю т н а о д и н о б ъ е к т.

 

print ('К о п и р о в а н и е п р и п о м о щ и п о л н о й в ы р е з к и ')

 

mylist = shoplist[: ] # с о з д а ё м к о п и ю п у т ё м п о л н о й в ы р е з к и del mylist[0]#у д а л я е м п е р в ы й э л е м е н т

 

print ('shoplist: ', shoplist)

 

print ('mylist: ', mylist)

 

# О б р а т и т е в н и м а н и е, ч т о т е п е р ь с п и с к и р а з н ы е


 

 

88                                                                                                                     Г л а в а 12. С т р у к т у р ы д а н н ы х


A Byte of Python (Russian), В е р с и я 2. 01

 

 

В ы в о д:

 

$ python3 reference. py

 

П р о с т о е п р и с в а и в а н и е

 

shoplist: ['м а н г о ', 'м о р к о в ь ', 'б а н а н ы '] mylist: ['м а н г о ', 'м о р к о в ь ', 'б а н а н ы '] К о п и р о в а н и е п р и п о м о щ и п о л н о й в ы р е з к и shoplist: ['м а н г о ', 'м о р к о в ь ', 'б а н а н ы '] mylist: ['м о р к о в ь ', 'б а н а н ы ']

 

К а к э т о р а б о т а е т:

 

Б о л ь ш а я ч а с т ь о б ъ я с н е н и я с о д е р ж и т с я в к о м м е н т а р и я х.

 

П о м н и т е, ч т о е с л и в а м н у ж н о с д е л а т ь к о п и ю с п и с к а и л и п о д о б н о й п о с л е д о -в а т е л ь н о с т и, и л и д р у г о г о с л о ж н о г о о б ъ е к т а (н е т а к о г о п р о с т о г о о б ъ е к т а , к а к ц е л о е ч и с л о ), в а м с л е д у е т в о с п о л ь з о в а т ь с я о п е р а ц и е й в ы р е з к и. Е с л и в ы п р о -с т о п р и с в о и т е и м я п е р е м е н н о й д р у г о м у и м е н и, о б а о н и б у д у т с с ы л а т ь с я н а о д и н и т о т ж е о б ъ е к т, а э т о м о ж е т п р и в е с т и к п р о б л е м а м, е с л и в ы н е о с т о р о ж -н ы.

 

 

12. 8 Е щ ё о с т р о к а х

 

М ы у ж е д е т а л ь н о о б с у ж д а л и с т р о к и р а н е е. Ч т о ж е е щ ё м о ж н о о н и х у з н а т ь? Ч т о ж, в ы з н а л и, н а п р и м е р, ч т о с т р о к и т а к ж е я в л я ю т с я о б ъ е к т а м и и и м е ю т м е т о д ы, п р и п о м о щ и к о т о р ы х м о ж н о д е л а т ь п р а к т и ч е с к и в с ё: о т п р о в е р к и ч а с т и с т р о к и д о у д а л е н и я к р а е в ы х п р о б е л о в?

 

В с е с т р о к и, и с п о л ь з у е м ы е в а м и в п р о г р а м м а х, я в л я ю т с я о б ъ е к т а м и к л а с с а str. Н е к о т о -р ы е п о л е з н ы е м е т о д ы э т о г о к л а с с а п р о д е м о н с т р и р о в а н ы н а п р и м е р е н и ж е. Ч т о б ы п о -с м о т р е т ь в е с ь с п и с о к м е т о д о в, в ы п о л н и т е help(str).

 

П р и м е р: (с о х р а н и т е к а к str_methods. py)

 

name = 'Swaroop' # Э т о о б ъ е к т с т р о к и

 

if name. startswith('Swa'):

 

print ('Д а, с т р о к а н а ч и н а е т с я н а " Swa" ')

 

if 'a' in name:

 

print ('Д а, о н а с о д е р ж и т с т р о к у " a" ')

 

if name. find('war')! = -1:

 

print ('Д а, о н а с о д е р ж и т с т р о к у " war" ')

 

delimiter = '_*_'


 

12. 8. Е щ ё о с т р о к а х                                                                                                                                                     89


A Byte of Python (Russian), В е р с и я 2. 01

 

mylist = ['Б р а з и л и я ', 'Р о с с и я ', 'И н д и я ', 'К и т а й '] print (delimiter. join(mylist))

 

В ы в о д:

 

$ python3 str_methods. py

 

Д а, с т р о к а н а ч и н а е т с я н а " Swa"

 

Д а, о н а с о д е р ж и т с т р о к у " a"

 

Д а, о н а с о д е р ж и т с т р о к у " war"

 

Б р а з и л и я _*_Р о с с и я _*_И н д и я _*_К и т а й

 

К а к э т о р а б о т а е т:

 

З д е с ь м ы в и д и м с р а з у н е с к о л ь к о м е т о д о в с т р о к в д е й с т в и и. М е т о д startswith с л у ж и т д л я т о г о, ч т о б ы о п р е д е л я т ь, н а ч и н а е т с я л и с т р о к а с н е к о т о р о й з а д а н н о й п о д с т р о к и. О п е р а т о р in и с п о л ь з у е т с я д л я п р о в е р к и, я в л я е т с я л и н е к о т о р а я с т р о к а ч а с т ь ю д а н н о й с т р о к и.

 

М е т о д find и с п о л ь з у е т с я д л я о п р е д е л е н и я п о з и ц и и д а н н о й п о д с т р о к и в с т р о к е; find в о з -в р а щ а е т -1, е с л и п о д с т р о к а н е о б н а р у ж е н а. В к л а с с е str т а к ж е и м е е т с я о т л и ч н ы й м е т о д д л я о б ъ е д и н е н и я (join)3 э л е м е н т о в п о с л е д о в а т е л ь н о с т и с у к а з а н н о й с т р о к о й в к а ч е с т в е р а з д е л и т е л я м е ж д у э л е м е н т а м и, в о з в р а щ а ю щ и й б о л ь ш у ю с т р о к у, с г е н е р и р о в а н н у ю т а -к и м о б р а з о м.

 

 

12. 9 Р е з ю м е

 

М ы д е т а л ь н о р а с с м о т р е л и р а з л и ч н ы е в с т р о е н н ы е с т р у к т у р ы д а н н ы х Python. Э т и с т р у к -т у р ы д а н н ы х б у д у т к р а й н е в а ж н ы д л я н а п и с а н и я п р о г р а м м с у щ е с т в е н н о г о р а з м е р а.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.