برنامه نویسی

روز 30 – انواع استدلال در پایتون

انواع استدلال ها:
استدلال های موقعیتی:
مقادیر به ترتیب منتقل شده به پارامترها اختصاص می یابد.

def display(first_name, last_name):
    print("Welcome", first_name, last_name)
display("Lakshmi", "Pritha")
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Welcome Lakshmi Pritha
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

def find_total(l): 
    total = 0 
    for num in l:
        total+=num
    print(total)

marks = [90,56, 78]
find_total(marks)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

224
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آرگومان های متغیر طول:

آرگومان های طول متغیر همچنین به عنوان آرگومان های دلخواه خوانده می شوند.
روش/عملکرد مشابه با تعداد مختلف آرگومان یا با انواع مختلف آرگومان.
بعضی اوقات ما نمی دانیم که چند استدلال به یک عملکرد منتقل می شود. پایتون راه هایی برای رسیدگی به این کار با * فراهم می کند

def find_total(*l): 
    total = 0 
    for num in l:
        total+=num
    print(total)
mark1 = 100
mark2 = 90
mark3 = 87
find_total(mark1, mark2,mark3)
find_total(45,54)
find_total()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

277
99
0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

استدلال های کلمه کلیدی:

آرگومان های کلیدی با مشخص کردن نام پارامتر به دنبال آن یک علامت برابر (=) و مقدار مورد نظر برای آن.

def display(*marks,name):
    print('Welcome', name)
    print(marks)


display(90,80,name="Lakshmi")
display(80,name="pritha")
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Welcome Lakshmi
(90, 80)
Welcome pritha
(80,)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

استدلال های پیش فرض:

آرگومان های پیش فرض پارامترهایی هستند که مقادیر پیش فرض دارند. اگر آرگومان هنگام فراخوانی تابع تصویب نشود ، از مقدار پیش فرض استفاده می شود.

def login(username, password="admin"):
    print(username, password)


login("abcd", "abcd")
login("pqrs")
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

abcd abcd
pqrs admin
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آرگومان های متغیر متغیر کلمه کلیدی:

آرگومان های با طول متغیر کلمه کلیدی به شما امکان می دهد تعداد متغیر آرگومان های کلمه کلیدی را به یک تابع منتقل کنید.

def login(**args):
    print(args)
login(name="raja")

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

{'name': 'raja'}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

def login(**args):
    print(args)
login(name="raja", age=25, city='madurai')
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

{'name': 'raja', 'age': 25, 'city': 'madurai'}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

def modify(l):
    l.append(100)
    print(f'Inside modify, {l}')

l = [10,20,30]
print(f'Outside modify {l}')
modify(l)
print(f'Outside modify2 {l}')
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Outside modify [10, 20, 30]
Inside modify, [10, 20, 30, 100]
Outside modify2 [10, 20, 30, 100]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

فقط کلمات کلیدی:

آرگومان های فقط کلمه کلیدی هنگام فراخوانی عملکرد باید با نام مشخص شوند.
از نماد * در امضای عملکرد استفاده می شود تا نشان دهد آرگومان های بعدی فقط کلمات کلیدی هستند.

def add(*, no1, no2):
    return no1+no2

print(add(10,20)) # It returns error
print(add(no1=100,no2=200)) #output:300

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

فرهنگ لغت بازگشت عملکرد:

در پایتون ، تابعی که یک فرهنگ لغت را باز می گرداند به این معنی است که عملکرد یک شیء فرهنگ لغت را ایجاد و برمی گرداند.

تابع zip () دو لیست را با عناصر عاقلانه ترکیب می کند ، و DICT () جفت های حاصل را به یک فرهنگ لغت تبدیل می کند.

def display(player_names, scores):
    return dict(zip(player_names, scores))

player_names = ['virat', 'rohit']
scores = [100,105]

result = display(player_names, scores)
print(result)

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

{'virat': 100, 'rohit': 105}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

آرگومان های پیش فرض قابل تغییر:

هنگامی که از یک لیست یا فرهنگ لغت به عنوان یک آرگومان پیش فرض استفاده می کنید ، فقط یک بار شروع می شود. اگر آرگومان در حین فراخوانی عملکرد اصلاح شود ، تغییرات در تماس های آینده ادامه می یابد.

def add(no, l=[]):
    l.append(no)
    return l

print(add(10))
print(add(20))

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

[10]
[10, 20]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

def add(no, l=None):
    l.append(no)
    return l

print(add(10))
print(add(20))
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

AttributeError: 'NoneType' object has no attribute 'append'

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

def add(no, l=None):
    l = []
    l.append(no)
    return l

print(add(10))
print(add(20))

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

[10]
[20]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

انواع متغیرها:

متغیر جهانی:

توابع خارجی تعریف شده: متغیرهای جهانی معمولاً در خارج از کلیه توابع ، در سطح بالای کد اعلام می شوند.

no = 10
def f1():
    print(no)

def f2():
    print(no)

f1()
f2()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

10
10
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

متغیر محلی:

متغیرهای محلی در داخل توابع یا بلوک کد اعلام می شوند.

no = 10
def f1():
    no2 = 100
    print(no)
    print(no2)

f1()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


10
100
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اگر متغیر محلی و جهانی می تواند یک مقدار یکسان داشته باشد به معنای تقدم به متغیر محلی است.

amount = 10000
def shopping():
    amount = 1000
    print(amount)

shopping()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

1000
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

کلمه کلیدی جهانی به شما امکان می دهد مقدار متغیر جهانی را در داخل عملکرد تغییر دهید.

amount = 10000
def shopping():
    global amount
    print("Total Amount for Trip is",amount)
    amount = 1000
    print("Shopping Amount",amount)

shopping()

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Total Amount for Trip is 10000
Shopping Amount 1000
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

توابع داخلی:

توابع داخلی توابعی هستند که در داخل توابع دیگر تعریف شده اند.
آنها می توانند از عملکرد بیرونی خود به متغیرها دسترسی پیدا کنند.

def open_fridge():
    capacity = 165
    print("opening fridge", capacity)
    def take_water():
        capacity = 1
        print("Drink Water", capacity)
    take_water()

open_fridge()

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

opening fridge 165
Drink Water 1
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

def open_fridge():
    capacity = 165
    print("opening fridge", capacity)
    def take_water():
        print("Drink Water", capacity)
    take_water()

open_fridge()

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

opening fridge 165
Drink Water 165
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

def open_tank():
    tank = 2
    print(f'Inside open_tank {tank}')
    def fill_petrol():
        nonlocal tank # Refers to the variable 'tank' from the enclosing scope
        tank = tank + 3
        print(f'Inside fill_petrol {tank}')
    fill_petrol()

open_tank()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

Inside open_tank 2
Inside fill_petrol 5
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا