Friday, June 12, 2015

თავი 4 (4,1 - 4,3)



                                                  თავი 4
                      ფუნქციები   


4.1 Function calls
4.1. ფუნქციის გამოძახება

პროგრამირების ამ კონტექსტში, ფუნქცია არის სახელდარქმეული  ბრძანებათა რიგი, რომელიც ასრულებს გამოთვლას. როცა ფუნქციას განსაზღვრავ, მიუთითებ სახელს და ბრძანებათა რიგს. მოგვიანებით შეგიძლია "დაუძახო" ფუნქციას სახელით. ფუნქციის ერთი მაგალითი უკვე ვნახეთ:

>>> type(32)
<type 'int'>

ფუნქციის სახელია type.  გამოსახულებას ფრჩხილებში ჰქვია ფუნქციის არგუმენტი. არგუმენტი არის მნიშვნელობა ან ცვლადი, რომელიც შეგვაქვს ფუნქციაში .  type ფუნქციის შედეგია არგუმენტის ტიპი.  შეიძლება ვთქვათ, რომ ფუნქცია "იღებს" არგუმენტს და "აბრუნებს" შედეგს.  ამ შედეგს ეძახიან დაბრუნებულ მნიშვნელობას(return value).



4.2 ჩაშენებული ფუნქციები

პითონი უზრუნველყოფს გარკვეული რაოდენობის მნიშვნელოვან ჩაშენებულ ფუნქციებს, რომელიც შეგვიძლია გამოვიყენოთ ისე, რომ არ უზრუნველვყოთ ფუნქციის განსაზღვრება. პითონის შემქმნელებმა საერთო პრობლემების გადასაჭრელად  დაწერეს ფუნქციების კომპლექტი  და ჩააშენეს პითონში  .

max და min ფუნქციები გვაძლევს უდიდეს და უმცირეს მნიშვნელობებს სიაში. შესაბამისად :

>>> max('Hello world')
'w'
>>> min('Hello world')
' '
>>> 

max ფუნქცია გვეუბნება რომელია "უდიდესი ასო" სტრინგში (რომელიც თურმე არის ასო 'w' ) და min ფუნქცია გვეუბნება რომელია 'უმცირესი ასო' - რომელიც თურმე არის ცარიელი ადგილი (' ').
            სხვა  ყველაზე ჩვეულებრივი ჩაშენებული ფუნქციაა len ფუნქცია, რომელიც გვეუბნება რამდენი ელემენტია არგუმენტში. არგუმენტი თუ სტრინგია, მაშინ გვაჩვენებს რამდენი ასოა სტრინგში.

>>> len('Hello world')
11
>>> 

ფუნქციები არაა ლიმიტირებული და შეუძლიათ იმუშაონ ნებისმიერი ტიპის მნიშვნელობასთან - რასაც ვნახავთ შემდეგ თავებში.
            ჩაშენებული ფუნქციის სახელები განიხილე როგორც განსაზღვრული სიტყვები(ე.ი. ცვლადს არ დაარქვა სახლი "max")

4.3 Type conversion functions
4.3. ტიპის გარდაქმნის ფუნქციები


პითონი ასევე უზრუნველყოფილია ჩაშენებული ფუნქციებით, რომელიც აკონვერტებს მნიშვნელობის ერთ ტიპს მეორე ტიპად. int ფუნქცია იღებს ნებისმიერ მნიშვნელობას და აკონვერტებს მთელ რიცხვად - თუ შეუძლია. თუ არა და წუწუნებს:

>>> int('32')
32
>>> int('Hello')
ValueError: invalid literal for int(): Hello


int -ს შეუძლია გადაიყვანოს წილადი მთელ რიცხვში, თუმცა რიცხვს არ ამრგვალებს, უბრალოდ წილადის ნიშანს აცლის:

>>> int(3.99999)
3
>>> int(-2.3)
-2

float აკონვერტებს მთელ რიცხვს და სტრინგს წილადად:

>>> float(32)
32.0
>>> float('3.14159')
3.14159

str თავის არგუმენტს აკონვერტებს სტრინგად:

>>> str(32)
'32'
>>> str(3.14159)
'3.14159'