Программчлалд фунĸц нь тооцоолол хийхэд зориулагдсан дараалсан заавар агуулдаг заавруудын цуглуулга юм. Фунĸцийг тодорхойлохдоо тодорхой нэр өгөөд ямар үйлдэл хийхийн зааж өгнө. Сүүлд нь бүтээсэн фунĸцээ ашиглахдаа нэрээр нь дуудаж ажиллуулна.
Бид урд нь фунĸцийн жишээтэй таарч байсан:
type(32)
< class 'int'>
Функцийн нэр нь type юм. Хаалтан дахь илэрхийлэл нь функцийн аргумент гэж нэрлэгддэг. Аргумент нь функц руу оруулах утга эсвэл хувьсагч юм. Type функцийн хувьд үр дүн нь аргументын төрөл байна.
Python нь бидэнд функцийн тодорхойлолтыг өгөх шаардлагагүйгээр ашиглаж болох олон чухал угаасаа суулгагдсан функцүүдийг санал болгодог. Python-ы үүсгэгчид нийтлэг асуудлуудыг шийдвэрлэх функцүүдийг бичиж, биднийг ашиглах боломжтой болгож Python-д оруулсан.
Python interpreter нь үргэлж бэлэн байдаг хэд хэдэн функц төрөлтэй.
Тэдгээрийг энд цагаан толгойн үсгийн дарааллаар жагсаав.
Жишээ нь:
Max болон min функцүүд нь жагсаалтын хамгийн их болон хамгийн бага утгуудыг тус тус өгдөг:
max('Hello world')
'w'
min('Hello world')
' '
max фунĸц цагаан толгойн үсгийн дарааллаар нь хамгийн сүүлийнхийг буцааж байгаа бол min фунĸц хамгийн бага утгатай үсэг буюу хоосон зай буцааж байна.
Python мөн утгуудыг нэг төрлөөс нөгөө рүү хөрвүүлдэг угаасаа суулгагдсан функцүүдийг санал болгодог.
Жишээ нь:
int функц нь аливаа утгыг авч, боломжтой бол бүхэл тоо руу хөрвүүлдэг, эсвэл алдаа заана:
int('32')
32
int('Hello')
ValueError: invalid literal for int() with base 10: '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'
Python нь бидний мэддэг ихэнх математикийн функцүүдийг агуулсан math модультай.
Модулийг ашиглахаас өмнө бид түүнийг импортлох хэрэгтэй:
import math
Энэ хэсэгт math нэртэй модулийн объеĸт үүсгэж байгаа бөгөөд үүнийг хэвлэж үзвэл модулийн объеĸттой холбоотой мэдээллийг харж болно. Модулийн объеĸт нь фунĸц болон хувьсагчдыг дотроо агуулдаг. Доторх фунĸц болон хувьсагчийг ашиглахдаа модулийнхаа нэрийг бичиж цэг тавиад фунĸцийн нэрийг бичнэ.
Жишээ нь :
ratio = signal_power / noise_power
decibels = 10 * math.log10(ratio)
radians = 0.7
height = math.sin(radians)
Энэ жишээн дээр 10 суурьтай логарифм ratio хувьсагчийн утгыг олохдоо math.log10(ratio) гэж болно.
math.sqrt() метод нь язгуур олно.
math.sqrt(2) / 2.0
0.7071067811865476"
Random модуль нь хуурамч санамсаргүй тоо (цаашид би үүнийг зүгээр л "санамсаргүй" гэж нэрлэнэ) үүсгэдэг функцүүдийг санал болгодог. Random функц нь 0.0-ээс 1.0 хүртэлх (0.0-г оруулаад, харин 1.0-г оруулахгүй) хооронд санамсаргүй хөвөгч таслалтай тоог буцаадаг. Random-г дуудах бүрд та урт цувааны дараагийн тоог авдаг
Жишээ нь:
import random
“for i in range(10):
x = random.random()
print(x)”
Хичээлийн эхэнд зөвхөн python-ийн фунĸцүүдийг ашиглахыг үзсэн ба одоо өөрсдөө шинээр фунĸц үүсгэе. Дээр дурдсанчлан фунĸцийг тодорхойлохдоо эхлээд фунĸцдээ тодорхой нэр өгнө, дараа энэ фунĸц юу хийж чадах ямар үүрэгтэйг нь зааж өгөх хэрэгтэй. Нэгэнт тодорхойлчихсон фунĸцээ бид дахин дахин дуудаж ажиллуулах боломжтой юм.
Фунĸцийн жишээ:
def print_lyrics():
“print("I'm a lumberjack, and I'm okay.")”
“print('I sleep all night and I work all day.')”
def нь түлхүүр үг бөгөөд фунĸц тодорхойлж байгааг илтгэдэг. Фунĸцийн нэр нь print_lyrics. Фунĸцийн нэрийг өгөхдөө хувьсагчийн нэр өгөхтэй адил үсэг, тоо, доогуур зураас оруулж нэрлэж болдог. Гэхдээ тоогоор эхэлж болохгүй. Фунĸцийг нэрлэхдээ түлхүүр үгнүүдийг ашиглаж болдоггүй, мөн өмнө нь үүсгэсэн хувьсагч болон фунĸцтэй адилхан нэр өгөхөөс татгалзаарай. Хоосон дугуй хаалт нь ямар нэгэн аргумэнт аваагүй гэдгийг илэрхийлж байна. Эхний мөрөнд байгаа фунĸц тодорхойлолтыг header гэдэг бөгөөд дараагийн мөрөнд байгаа хэсгийг body гэнэ. Header (толгой) хэсэг : тэмдгээр төгсөж их бие хэсэг нь догол мөрнөөс эхэлнэ. Догол мөр нь үргэлж дөрвөн зай авалттай тэнцүү байна (Tab дарж болно). Их бие хэсэг нь гүйцэтгэх ёстой заавруудыг агуулна. Өөрийн бичсэн фунĸцээ ашиглахдаа нэрээр нь дууудаж ашиглана.
>>> def print_lyrics():
“ print("I'm a lumberjack, and I'm okay.")”
“ print('I sleep all night and I work all day.')”
Нэгэнт үүсгэсэн фунĸцээ өөр нэг фунĸцэд дуудаж ажиллуулж болно. Шинээр repeat_lyrics гэдэг фунĸц үүсгээд түүний их бие дотор print_lyrics фунĸцээ хоёр удаа дуудаад repeat_lyrics фунĸцээ ажиллуулж үзээрэй.
Өмнөх хэсгийн ĸодыг бүхэлд нь харах юм бол:
“def print_lyrics():
print("I'm a lumberjack, and I'm okay.")
print('I sleep all night and I work all day.')”
“def repeat_lyrics():
print_lyrics()
print_lyrics()”
print_lyrics болон repeat_lyrics гэсэн хоёр фунĸцийг агуулж байна. Фунĸц үүсгэх нь яг л хувьсагч болон нөхцөл шалгадаг шиг адилхан. Гол ялгаан фунĸцийн доторх зааварчилгаанууд нь тодорхойлогдсон дариудаа ажилддаггүй хэзээ дуудна тэр үед л ажилдаг. Тодорхойлогдсон фунĸц дуудагдаагүй бол яг comment шиг ажиллахгүй ĸод болох юм.
Программ дээрээсээ доошоо чиглэлтэй нэг удаа хөрвүүлэгддэг учраас фунĸцийг дуудахаас өмнө тодорхойлогдсон байх хэрэгтэй.
def minii_function(param1, param2)
my_function(5, "text")
Энгийнээр хэлвэл:
# param нь параметр
def hello(param):
print(param)
# "Сайн уу" гэсэн текст нь аргумент
hello("Сайн уу")
Параметрийн жишээ:
“def print_twice(bruce):
print(bruce)
print(bruce)”
Өмнө нь үзсэн python-ийн фунĸцүүдийг хэрэглэх үед аргумент шаардаж байсныг бүгдээрээ санаж байгаа байх. math.sin() фунĸцийг хэрэглэхийн тулд нэг аргумент өгөх хэрэгтэй бол math.pow() фунĸцэд суурийн тоо болон зэрэг нь хэд байхыг зааж өгнө. Тэгэхээр хоёр аргумент өгөх шаардлагатай. Тус фунĸцийн дотор параметр гэдэг хувьсагчид байдаг бөгөөд түүнд фунĸцийг дуудахдаа өгсөн аргумент хадгалагддаг.
Фунĸц дотроо хоёр төрлийн фунĸц байдаг. Эхнийхэн print_twice шиг нэг үйлдэл хийдэг бол өөр нэг нь утга буцаадаг фунĸц.
Утга буцаадаг фунĸц return юм. Жишээ нь: Энгийн хоёр тоог нэмээд хариуг нь буцаадаг фунĸц үүсгэцгээе.
Жишээ нь:
Энгийн хоёр тоог нэмээд хариуг нь буцаадаг фунĸц үүсгэцгээе.
def addtwo(a, b):
added = a + b
return added
x = addtwo(3, 5)
print(x)
Энэ утга буцаасан фунĸцийн утгыг харахын тулд заавал print хийх хэрэгтэй бол өмнө бичсэн print_twice фунĸцийг result нэртэй хувьсагчид хадгалаад result-аа print хийж үзээрэй.
Үүний үр дүнд:
>>> result = print_twice('Bing')
Bing
Bing
>>> print(result)
None
Утга буцаадаггүй фунĸцийг print хийхгүйгээр дуудаж ажиллуулна.
Програмыг яагаад функцэд хуваах шаардлагатай нь тодорхой биш байж магадгүй.
Үүнд хэд хэдэн шалтгаан бий: