تبدیل واحدها در پایتون — به زبان ساده + کد

خرید بک لینک

در برخی کشورها، طول با واحد «متر» اندازهگیری میشود، در حالی که در برخی کشورهای دیگر این اندازهگیری با واحد «فوت» انجام مییابد. اگر بخواهید این واحدها را به همدیگر تبدیل کنید، باید این کار را با دقت مضاعفی انجام دهید، چون ممکن است همه چیز به هم بریزد. اگر با زبان برنامهنویسی پایتون کار میکنید، خبر خوب این است که یک پکیج اختصاصی به این منظور توسعه یافته است که «پاینت» (Pint) نام دارد. در این مطلب با روش تبدیل واحدها در پایتون آشنا خواهیم شد.

فهرست مطالب این نوشته

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

تبدیل واحدها در پایتون

پاینت چیست؟

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

پاینت به همراه فهرستی جامعی از واحدهای فیزیکی، پیشوندها و ثوابت توزیع یافته است. با این حال به دلیل ماهیت ماژولارش میتوانید این فهرست را بدون نیاز به دست بردن در سورس کد، بسط داده و یا حتی بازنویسی کنید. پاینت از بسیاری از عملیات ریاضی «نامپای» (Numpy) نیز پشتیبانی میکند.

نصب پاینت

برای نصب پاینت از دستور زیر استفاده کنید:

pip install pint

پس از نصب میتوانید از رجیستری واحد درون این پکیج بهره بگیرید.

import pint
ureg = pint.UnitRegistry()

این «رجیستری واحد» شیء اصلی است که با آن تعامل پیدا میکنیم. با استفاده از آن میتوانیم کمیتهایی را تعریف کنیم که بزرگی دارند و واحدی نیز به آنها الصاق شده است. برای نمونه میتوانید با چند عمل حسابی ساده واحدهای متر و سانتیمتر را با هم جمع بزنید.

3 * ureg.meter + 4 * ureg.cm
# 3.04 meter

نتیجه کد فوق، یک شیء است که میتواند برای تبدیل کمیت به واحد دیگری استفاده شود.

(3 * ureg.meter + 4 * ureg.cm).to(ureg.feet)
# 9.9737 foot

پکیج پاینت امکان ایجاد واحدها را به طور پویا نیز فراهم ساخته است. برای نمونه سرعت بر حسب مسافت تقسیم بر زمان تعریف میشود.

60 * ureg.miles / ureg.hour
# 60.0 mile/hour

شما میتوانید این کمیت را به واحد متر بر دقیقه تبدیل کنید.

(60 * ureg.miles / ureg.hour).to(ureg.meters/ureg.minute)
# 1609.344 meter/minute

همچنین میتوانید از رشتهها برای تعریف واحد استفاده کنید. شاید گاهی اوقات انجام این کار آسانتر باشد.

ureg("meter/second**2") * 10 * ureg("seconds")
# 10.0 meter/second

نکته دیگری که در زمان استفاده از پکیج پاینت بهتر است به آن توجه کنیم، این است که امکان تعریف واحدهای جدید نیز وجود دارد.

ureg.define("dog_year = 52 * day = dy")
(5 * ureg("years").to(ureg("dog_year")))
# 35.1201 dog_year

این کتابخانه، واحدهای زیادی دارد و با کمی کاوش در آن شگفتزده خواهید شد. همچنین میتوانید خصوصیات یک واحد را به شیوه زیر به دست آورید.

(60 * ureg.miles / ureg.hour).magnitude
# 60.0
(60 * ureg.miles / ureg.hour).units
# mile/hour
(60 * ureg.miles / ureg.hour).dimensionality
# <UnitsContainer({'[length]': 1, '[time]': -1})>

معرفی فیلم آموزش برنامهنویسی پایتون Python – مقدماتی

دوره آموزش پایتون

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

سخن پایانی

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

اگر این مطلب برای شما مفید بوده است، آموزشها و مطالب زیر نیز به شما پیشنهاد میشوند:

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

مطالب درسی...

ما را در سایت مطالب درسی دنبال می‌کنید

برچسب: نویسنده: خنجی بازدید: 365 تاريخ: شنبه 7 اسفند 1400 ساعت: 3:15

صفحه بندی