متغیر ها یا Variables

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 24, 2020

متغیر ها (variables )

در بسیاری از زبانهای برنامه نویسی نقش بسیار مهمی ایفا می کنند و Python استثنا نیست. یک متغیر به شما امکان می دهد یک مقدار را با اختصاص آن به یک نام ذخیره کنید، که می تواند برای ارجاع به مقدار بعد در برنامه استفاده شود. برای اختصاص یک متغیر، از علامت تساوی استفاده کنید. بر خلاف بسیاری از خطوط کد که تاکنون بررسی کرده ایم، هیچ خروجی در کنسول Python تولید نمی شود.

>>> x = 7
>>> print(x)
7
>>> print(x + 3)
10
>>> print(x)
7

متغیرها را می توان به عنوان چندین مرتبه مجددا تعیین کرد تا ارزش خود را تغییر دهند. در پایتون، متغیرها انواع خاصی ندارند، بنابراین شما می توانید یک رشته را به یک متغیر اختصاص دهید، و بعد یک متغیر صحیح را به همان متغیر اختصاص دهید.

>>> x = 123.456
>>> print(x)
123.456
>>> x = "This is a string"
>>> print(x + "!")
This is a string!

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

>>> this_is_a_normal_name = 7

>>> 123abc = 7
SyntaxError: invalid syntax

>>> spaces are not allowed
SyntaxError: invalid syntax

تلاش برای ارجاع به یک متغیر که به دلیل یک خطا اختصاص نداده اید. شما می توانید بیانیه del برای حذف یک متغیر استفاده کنید، یعنی مرجع از نام به مقدار پاک شده است، و تلاش برای استفاده از متغیر باعث خطایی می شود. متغیرهای حذف شده را می توان بعدا به صورت عادی تغییر داد.

>>> foo = "a string"
>>> foo
'a string'
>>> bar
NameError: name 'bar' is not defined
>>> del foo
>>> foo
NameError: name 'foo' is not defined

شما همچنین می توانید از متغیر ورودی کاربر استفاده کنید.

>>> foo = input("Enter a number: ")
Enter a number: 7
>>> print(foo)
7

نکته:متغیرهای foo و bar به عنوان متغیرهای فراشناختی نامیده می شوند، به این معنی که آنها به عنوان نمایشگرهایی در کد مثال زده شده برای نشان دادن چیزی استفاده می شوند.

اپراتور ها در محل (in-place operators)

اپراتورها در محل به شما اجازه می دهند کد را مانند 'x = x + 3' بنویسید، منتهی به شکلی خلاصه تر و با جایگیری کم تر به صورت 'x=+3'. هرچند که این حالت درباره بقیه اپراتور هایی همچون -، *، / و٪ نیز ممکن است.

>>> x = 2
>>> print(x)
2
>>> x += 3
>>> print(x)
5

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

>>> x = "spam"
>>> print(x)
spam

>>> x += "eggs"
>>> print(x)
spameggs

تغییر نوع (type conversion)

در پایتون، عملیات خاصی را با توجه به تیپ و نوع متغیر به صورت مختلف انجام می دهد. به عنوان مثال، شما نمی توانید دو رشته شامل اعداد 2 و 3 را برای تولید عدد صحیح 5 اضافه کنید، زیرا عملیاتی که روی رشته ها انجام می شود در نتیجه 23 را ایجاد می کند. راه حل این نوع مشکلات تبدیل نوع متغیر است. در این مثال، شما از تابع int استفاده می کنید.

>>> "2" + "3"
'23'
>>> int("2") + int("3")
5

مثال دیگری در زیر آمده از تبدیل نوع متغیر ورودی کاربر (که یک رشته است) به اعداد (عدد صحیح یا شناور)، برای انجام عملیات محاسبات عددی استفاده می کند.

>>> float(input("Enter a number: ")) + float(input("Enter another number: "))
Enter a number: 40
Enter another number: 2
42.0
 
ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
31دیدگاه
  • زهرا سربندی
    4 months, 1 week ago

    عالی بود و هست

  • امیر مهدی
    1 year, 11 months ago

    خیلی عالی بود استاد متشکرم.

    • علی بیگدلی
      1 year, 11 months ago

      متشکرم نظر لطفتونه ولی من استاد نیستم، مهندس و توسعه دهنده هستم

  • راضیه
    2 years, 1 month ago

    پیشوند اعداد بر مبنای 2، 8،10و16

    • علی بیگدلی
      2 years, 1 month ago

      سوالتون چی هستش الان در این باره؟

  • راضیه بهادری
    2 years, 2 months ago

    ببخشید چجوری باید جزر اعداد رو بگیرم

    • علی بیگدلی
      2 years, 2 months ago

      از کتابخونه math و تابع sqrt استفاده کنید

  • mahdi akbari
    2 years, 3 months ago

    سلام خسته نباشید
    خواستم بدونم برای دوره آموزش پایتون پیشرفته فیلم نمیزارید؟

    • علی بیگدلی
      2 years, 3 months ago

      پایتون پیشرفته رو نگه داشتم که همزمان با شروع دوره django فیلم بگیرم کمی طول می کشه ولی ارزشش رو داره، اما اگر نتونم تا زمان لازم تمومش کنم اول پیشرفته رو کامل فیلم میگیرم

  • Mohammad Gurkani
    2 years, 3 months ago

    aaaaaaaaaaaalie amooyesha
    mamnoon

    • علی بیگدلی
      2 years, 3 months ago

      خواهش می کنم ، امیدوارم مفید واقع بشن

  • Alireza ebadi
    2 years, 5 months ago

    سلام آقای بیگدلی خسته نباشین و ممنون از آموزش خوبتون.
    سوالم اینه که چجوری میشه که اول یک عددی رو بگیره از کاربر و بعد یه عدد دیگه هم بگیره بعد نوع عمل رو بگیره مثلا* یا+ یا/ و اونو انجام بده؟

    • علی بیگدلی
      2 years, 5 months ago

      آموزش رو تا ماشین حساب دنبال کنین به جوابتون میرسید

    • Alireza ebadi
      2 years, 5 months ago

      ❤❤❤❤❤❤

  • پری خانوم
    2 years, 5 months ago

    سلام
    چرا این نمیره خط بعد:
    x=hi
    ("print(x\n"how are you

    • علی بیگدلی
      2 years, 5 months ago

      با توجه به چیزیکه نوشتید نبایدم بره چون المان مورد نظر داخل رشته نیست

    • seyed eilia zarare
      1 year, 10 months ago

      دوست عزیز \n باید یک رشته باشه تا جواب بده

  • Amir.A.Ghazanfari
    2 years, 5 months ago

    سلام
    ممنون از آموزش خوبتون

    • علی بیگدلی
      2 years, 5 months ago

      خواهش می کنم نظر لطفتونه امیدوارم مفید واقع بشه

  • sina 46
    2 years, 6 months ago

    رایگان + خفن
    دیگه چی کم داریم ؟
    ممنون

    • علی بیگدلی
      2 years, 6 months ago

      امیدوارم که مفید واقع بشه موفق باشید

  • mahmoud jalali
    2 years, 6 months ago

    مملکت 500 نفر مثل شماداشته باشه اوضاعمون ردیف میشه به خدا.

    • علی بیگدلی
      2 years, 6 months ago

      نظر لطفتونه

  • سپهر خدادادی
    2 years, 6 months ago

    واقعا تشکر بابت این اموزش ها تون خیلی عالیه من کاملا متوجه میشم بازم ممنون

    • علی بیگدلی
      2 years, 6 months ago

      خواهش می کنم. امیدوارم مفید واقع بشن و به کارتون بیاد

  • رضا
    2 years, 7 months ago

    خسته نباشید.یک ویدیو اگه میشه درست کنین راجبه اینکه پایتون چه کاربردهایی داره و مثال بزنین چون من میخوام یاد بگیرم و پایتونو هیچی بلد نیستم.

    • علی بیگدلی
      2 years, 7 months ago

      بله قطعا

  • nastaran
    2 years, 9 months ago

    خسته نباشید خیلی عالیه

    • علی بیگدلی
      2 years, 9 months ago

      متشکرم نظر لطفتونه

  • عرفان احمدی
    2 years, 9 months ago

    سپاسگزارم

    • علی بیگدلی
      2 years, 9 months ago

      خواهش می کنم