6.8 სტრინგის შედარება
შედარების ოპერატორი სტრინგზეც მუშაობს, რომ ნახო ორი სტრინგი ტოლი თუა:
if word == 'banana':
print 'All right,
bananas.'
შედარების სხვა ოპერაციები სასარგებლოა სიტყვების ანბანის მიხედვით დასაწყობად:
if word < 'banana':
print 'Your word,' + word + ', comes before
banana.'
elif word > 'banana':
print 'Your word,' + word + ', comes after
banana.'
else:
print 'All right, bananas.'
პითონი დიდ და პატარა ასოებს არ იყენებს ისე, როგორც ადამიანი. ყველა დიდი
ასო არის პატარა ასოს წინ:
Your word, Pineapple, comes before banana.
ასეთი პრობლემის გადაჭრა შეიძლება სტრინგების გადაკონვერტებით - ყველა
ასო გახადო პატარა. კარგად დაიმახსოვრე იმ შემთხვევისთვის თუ თავის დაცვა მოგიხდება
ანანასით შეიარღებულის წინააღმდეგ.
6.9
string მეთოდი
სტრინგები არის პითონის ობიექტების ნიმუში. ობიექტი შეიცავს ორივე მონაცემს(თავად
ნამდვილ სტრინგს) ასევე მეთოდებს, რაცაა ობიექტში ჩაშენებული ფუნქცია და ხელმისაწვდომია
ობიექტის მოთხოვნისას.(ესე ჩახლართულად წერია ბოიშყო)
პითონს აქვს ფუნქცია dir
რომელიც რომელიც ობიქტის მეთოდებს სიის მიხედვით
დაალაგებს. type ფუნქცია აჩვენებს ობიექტის ტიპს და dir ფუნქცია აჩვენებს ხელმისაწვდომ მეთოდებს.
>>> stuff = 'Hello world'
>>> type(stuff)
<type 'str'>
>>> dir(stuff)
['capitalize', 'center', 'count', 'decode', 'encode',
'endswith', 'expandtabs', 'find', 'format', 'index',
'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace',
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip',
'partition', 'replace', 'rfind', 'rindex', 'rjust',
'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines',
'startswith', 'strip', 'swapcase', 'title', 'translate',
'upper', 'zfill']
>>> help(str.capitalize)
Help on method_descriptor:
capitalize(...)
S.capitalize() -> string
Return a copy of the string S with only its first
character
capitalized.
>>>
სანამ dir ფუნქცია მეთოდებს სიის მიხედვით ალაგებს და მეთოდებზე
მარტივი ინფორმაციის სანახავად შეგიძლია გამოიყენო help, სტრინგ მეთოდზე უფრო მეტი
ინფორმაცია არის აქ: docs.python.org/library/string.html .
მეთოდის გამოძახება ხდება ფუნქციის გამოძახების მსგავსად - იღებს არგუმენტებს
და აბრუნებს მნიშვნელობას - მაგრამ სინტაქსი განსხვავებულია. მეთოდს ვიძახებთ ცვლადის
სახელის შემდეგ მეთოდის სახელის დამატებით - შუაში წერტილი; განმსაზღვრელად.
მაგალითად, მეთოდი upper
იღებს სტრინგს და აბრუნებს ახალ სტრინგს, რომელშიც
ყველა სიმბოლო დიდია. ფუნქციის სინტაქსის ნაცვლად upper(word), იყენებს მეთოდის სინტაქსს
word.upper()
>>> word = 'banana'
>>> new_word = word.upper()
>>> print new_word
BANANA
წერტილით ჩაწერა ზუსტად განსაზღვრავს მეთოდის სახელს, upper, და
სტრინგის სახელსაც, რომელზეც უნდა გამოვიყენოთ მეთოდი. ცარიელი ფრჩხილები მიანიშნებს რომ ეს მეთოდი არგუმენტს
არ იღებს.
მეთოდის გამოძახებას ჰქვია invocation(გამოძახება).
მაგალითად არის სტრინგის მეთოდი
find რომელიც ეძებს ერთი სტრინგის პოზიციას მეორე სტრინგში:
>>> word = 'banana'
>>> index = word.find('a')
>>> print index
1
ამ მაგალითში გამოვიძახეთ find
word - სთვის და სიმბოლო, რომელსაც ვეძებდით მივუთითეთ არგუმენტად.
find მეთოდს შეუძლია იპოვნოს არამარტო სიმბოლოები, არამედ ქვე-სტრინგებიც:
>>> word.find('na')
2
შეუძლია მიიღოს ინდექსი, როგორც მეორე არგუმენტი
იმის მისათითებლად თუ რომელი ინდექსიდან დაიწყოს
ძებნა:
>>> word.find('na', 3)
4
ერთ - ერთი მოთხოვნადი დავალებაა, რომ მოაშოროს თეთრი სფეისები(ჰარი)
(ტაბები ან ცარიელი ხაზები) სტრინგის თავიდან და ბოლოდან strip
მეთოდით:
>>> line = ' Here we go '
>>> line.strip()
'Here we go'
ზოგი მეთოდი მაგალითად startswith
აბრუნებს ლოგიკურ მნიშვნელობას
>>> line = 'Please have a nice day'
>>> line.startswith('Please')
True
>>> line.startswith('p')
False
შეატყობდი რომ startswith საჭიროებს დამთხვევას, ამიტომ სანამ შევამოწმებთ, ხანდახან ვიღებთ მთლიან
ხაზს და ვაკონვერტებთ პატარა ასოებად lower მეთოდით.
>>> line = 'Please have a nice day'
>>> line.startswith('p')
False
>>> line.lower()
'please have a nice day'
>>> line.lower().startswith('p')
True
ბოლო მაგალითში lower მეთოდის გამოყენების შემდეგ გამოვიძახეთ startswith, რომ შეგვემოწმებინა
შედეგი ასოებდაპატარავებულ სტრინგში - იწყებოდა თუ არა ასოთი “p”. სანამ
ყურადღებით ვართ, შეგვეძლება გამოვიყენოთ რამდენიმე მეთოდი ერთ გამოსახულებაში.
სავარჯიშო 6.4 არის
სტრინგის მეთოდი count, რომელიც მსგავსია წინა სავარჯიშოს ფუნქციისა. წაიკითხე
მეთოდის დოკუმენტაცია docs.python.org/library/string.html
და დაწერე გამოძახება, რომელიც დათვლის რამდენჯერა გამოყენებული ასო 'a' სიტყვაში
'banana'.
No comments:
Post a Comment