درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
حسین احمدی
امتیاز: 215942
رتبه:3
344
265
416
2833
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر

آموزش زبان پایتون :: قسمت نهم - نوع های عددی و توابع کار با اعداد

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

a = 12
b = 2.6

در کد بالا دو متغیر با نام های a که از نوع صحیح و b که از نوع اعشاری است تعریف کردیم. همانطور که قبلاً گفتیم با تعریف هر متغیر خانه ای از حافظه به آن متغیر تخصیص داده می شود که بوسیله دستور del می توان آن متغیر را از حافظه حذف کرد:

del a
del b

و همینطور گفتیم که نوع های عددی به سه نوع کلی زیر تقسیم می شوند:

  1. نوع های int یا صحیح
  2. نوع های float یا اعشاری
  3. نوع های complex یا اعداد پیچیده

اما همانطور که گفتیم بیشتر هدف ما از این قسمت بررسی توابعی است که برای کار با اعداد استفاده می شوند که در ادامه به بررسی این توابع می پردازیم:


توابع ریاضی


این دسته از توابع برای اعمال عملیات های ریاضی بر روی اعداد استفاده می شوند که در قسمت زیر به بررسی این توابع می پردازیم:


1. تابع abs: از این متد برای بدست آوردن مقدار قدر مطلق یک عدد استفاده می شود:

>>> abs(-3.5)
3.5
>>> abs(2)
2

2. تابع ceil: این تابع رند شده مقدار ورودی را بر میگرداند، عملیات رند کردن به سمت بالا انجام می شود، دقت کنید که برای استفاده از تابع باید کتابخانه math را import کنید (در مورد import در بخش های بعدی بیشتر توضیح می دهیم)، کافیست به ترتیب زیر دستورات زیر را اجرا کنید:

>>> import math
>>> math.ceil(2.3)
3
>>> math.ceil(2.9)
3

3. تابع floor: این تابع رند شده مقدار ورودی را بر میگرداند، تفاوت آن با ceil در این است که عملیات رند کردن همیشه به سمت پایین انجام می شود:

>>> math.floor(2.5)
2
>>> math.floor(2.7)
2

4. تابع exp: این تابع عدد e را به توان مقدار وارد شده می رساند:

>>> math.exp(2.4)
11.023176380641601

5. تابع fabs: این تابع مانند تابع abs می باشد با این تفاوت که abs یک تابع داخلی پایتون است، اما fabs در کتابخانه math تعریف شده و همچنین fabs فقط با اعداد int و float کار می کند، در حالی که abs با اعداد complex هم قابل استفاده است.

*6. تابع log: این تابع لگاریتم طبیعی عدد وارد شده را برمیگرداند:

>>> math.log(2)
0.6931471805599453
>>> math.log(8)
2.0794415416798357

7. تابع log10: لگاریتم عدد وارد شده را در مبنای 10 محاسبه می کنید:

>>> math.log10(100)
2.0

8. توابع min و max: این توابع به ترتیب کوچکترین و بزرگترین مقادیر ورودی را برمیگردانند:

>>> min(8,6,3,4,9,5)
3
>>> max(8,6,3,4,9,5)
9

9. تابع modf: این تابع بخش صحیح و اعشاری عدد وارد شده را به صورت جداگانه و در قالب یک Tuple برمیگرداند:

>>> math.modf(2.5)
(0.5, 2.0)

10. تابع pow: این تابع پارامتر اول را به توان پارامتر دوم می رساند:

>>> math.pow(2,7)
128.0

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

>>> round(2.678,2)
2.68
>>> round(2.678,1)
2.7
>>> round(2.678,0)
3.0

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

12. تابع sqrt: این تابع ریشه جذر پارامتر ورودی را حساب می کند:

>>> math.sqrt(10)
3.1622776601683795
>>> math.sqrt(55)
7.416198487095663
>>> math.sqrt(100)
10.0


تابع range


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

range([start],[end],[steps])

برای مثال، می خواهیم لیستی از اعداد زوج 1 الی 100 را ایجاد کنیم:

>>> eventNumbers = range(2,100,2)


کد بالا لیستی از اعداد را ایجاد می کند که عدد شروع آن 2، عدد آخر آن 100 و فاصله بین هر آیتم لیست 2 عدد می باشد، یعنی 2، 4، 6، 8 و ...


توابع ایجاد و انتخاب آیتم های تصادقی


بوسیله توابعی که در این بخش معرفی می شوند می توان اعداد تصادفی ایجاد کرد. دقت کنید که برای استفاده از توابع این بخش باید کتابخانه random را import کنید:

import random

1. تابع choice: این تابع در حقیقت به صورت مستقیم مربوط به اعداد نیست، کاری که این تابع انجام می دهد یک آیتم تصادفی را از داخل یک لیست انتخاب می کند:

>>> names = ["Hossein","Mohammad","Mehdi"]
>>> random.choice(names)
'Hossein'
>>> random.choice(names)
'Mohammad'

همچنین می توان از ترکیب این تابع با تابع range برای ایجاد یک تصادفی استفاده کرد:

>>> random.choice(range(0,100))
17
>>> random.choice(range(0,100,2))
58

2. تابع randrange: در تابع range ما یک لیست از اعداد ایجاد می کردیم، بوسیله تابع randrange می توان یک عدد تصادفی بر اساس پارامترهای ورودی ایجاد کرد. پارامترهای این تابع دقیقاً مشابه تابع range است:

>>> random.randrange(0,100,2)
74
>>> random.randrange(0,100)
11

3. تابع random: این تابع یک عدد تصادفی بین 0 و 1 ایجاد می کند، در حقیقت خروجی این تابع یک عدد اعشاری است:

>>> random.random()
0.3285085091888281
>>> random.random()
0.14447004567993604

برای ایجاد عدد تصادفی صحیح بوسیله random باید مقدار خروجی را در یک عدد صحیح ضرب کرد و خروجی را رند کرد:

>>> round(random.random()*100)
93
>>> round(random.random()*100)
19
>>> round(random.random()*100)
13

4. تابع shuffle: از این تابع برای درهم سازی آیتم های یک لیست استفاده می شود:

>>> names = ["Hossein","Mohammad","Ali","Mehdi","Reza"]
>>> random.shuffle(names)
>>> names
['Hossein', 'Ali', 'Reza', 'Mohammad', 'Mehdi']
>>> random.shuffle(names)
>>> names
['Ali', 'Mohammad', 'Hossein', 'Reza', 'Mehdi']

5. تابع uniform: بوسیله این تابع می توان یک عدد اعشاری تصادقی بین بازه های مشخص شده ایجاد کرد:

>>> random.uniform(7,8)
7.841583245187435
>>> random.uniform(7,9)
8.045835704808953


ثابت های عددی در پایتون


در زبان پایتون دو ثابت عددی وجود دارند که شامل یک مقدار ثابت هستند، یکی عدد پی و دیگری عدد e که به صورت زیر می توان به این ثابت ها دسترسی داشت:

>>> math.e
2.718281828459045
>>> math.pi
3.141592653589793

یکسری توابع دیگر در زبان پایتون هستند به نام توابع مثلثاتی، مثل تابع sin برای محاسبه سینوس یا تابع degrees که این توابع را در این مطلب بررسی نمیکنیم. در این قسمت به بررسی مهمترین توابع عددی و ریاضی پایتون پرداختیم. در قسمت بعدی به بررسی نوع رشته و توابع مرتبط با آن خواهیم پرداخت. همه می توانیم جزوی از فرهنگ ITPRO باشیم

نویسنده: حسین احمدی
منبع: جزیره برنامه نویسی وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
برچسب ها
ردیف عنوان
1 آموزش زبان پایتون :: قسمت اول - مقدمات و آشنایی اولیه با پایتون
2 آموزش زبان پایتون :: قسمت دوم - دانلود پایتون و نوشتن اولین برنامه
3 آموزش زبان پایتون :: قسمت سوم - آشنایی با ساختار اسکریپت های پایتون
4 آموزش زبان پایتون :: قسمت چهارم - نوع های داده در زبان پایتون
5 آموزش زبان پایتون :: قسمت پنجم - تبدیل نوع ها به یکدیگر
6 آموزش زبان پایتون :: قسمت ششم - عملگرها در پایتون
7 آموزش زبان پایتون :: قسمت هفتم - دستور if
8 آموزش زبان پایتون :: قسمت هشتم - حلقه ها
9 آموزش زبان پایتون :: قسمت نهم - نوع های عددی و توابع کار با اعداد
10 آموزش زبان پایتون :: قسمت دهم - کار با رشته ها و توابع مرتبط
11 آموزش زبان پایتون :: قسمت یازدهم - لیست ها
12 آموزش زبان پایتون :: قسمت دوازدهم - Tuple ها
13 آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)
14 آموزش زبان پایتون :: قسمت چهاردهم - مجموعه ها (Sets)
15 آموزش زبان پایتون :: قسمت پانزدهم - تابع zip و پیمایش چند لیست به صورت همزمان
16 آموزش زبان پایتون :: قسمت پانزدهم - روش Comprehension برای ایجاد لیست ها، دیکشنری ها و مجموعه ها
17 آموزش زبان پایتون :: قسمت شانزدهم - توابع (Functions)
18 آموزش زبان پایتون :: قسمت هفدهم - Closure ها
19 آموزش زبان پایتون :: قسمت هجدهم - توابع بازگشتی (Recursive Functions)
20 آموزش زبان پایتون :: قسمت نوزدهم - ماژول ها (Modules)
21 آموزش زبان پایتون :: قسمت بیستم - پکیج ها (Packages)
22 برنامه نویسی شئ گرا در پایتون :: مقدمات و آشنایی با کلاس و شئ
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

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