چند ترفند ظریف پایتونی


همونطور که می‌دونید پایتون یکی از زبان‌های پرطرفدار برنامه‌نویسی توی دنیاست. منبع

خب تو این مطلب قصد داریم چند تا ترفندی که به نظر جالب میان رو یادآوری کنیم. شاید تو کدنویسی به دردتون بخوره.

البته از نظر سختی این ترفند‌ها در سطح پایین هستن و شاید اکثرشون رو بلد باشید.

۱. جابه‌جا کردن متغییرها در یک خط

x, y = 10, 20
print(x, y)
x, y = y, x
print(x, y)

خروجی:

10 20
20 10

۲. برعکس کردن متن

a = &quotfing.ir&quot
print(&quotReverse is&quot, a[::-1])

خروجی:

Reverse is ri.gnif

۳. چسباندن همه گزینه‌های داخل لیست به هم و ساخت یک string

a = [&quotFing&quot, &quotPaas&quot, &quotService&quot]
print(&quot &quot.join(a))

خروجی:

Fing Paas Service

۴. شرط های به هم پیوسته

n = 10
result = 1 < n < 20
print(result)
result = 1 > n <= 9
print(result)
True
‌False

۵. چاپ آدرس ماژول وارد شده

import os
import socket
print(os)
print(socket)

خروجی:

<module 'os' from '/usr/lib/python3.5/os.py'>
<module 'socket' from '/usr/lib/python3.5/socket.py'>

۶. استفاده از enum ها در پایتون

class MyName:
Fing, Paas, Service = range(3)
print(MyName.Paas)
print(MyName.Fing)
print(MyName.Service)

خروجی:

2
1
3

۷. برگرداندن چند متغییر از یک تابع

def x():
return 1, 2, 3, 4
a, b, c, d = x()
print(a, b, c, d)

خروجی:

1 2 3 4

۸. یافتن متغییری که بیشترین تکرار را در لیست داشته

test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4]
print(max(set(test), key = test.count))

خروجی:

4

۹. گرفتن میزان اشغال حافظه توسط یک متغییر

import sys
x = 1
print(sys.getsizeof(x))

خروجی

28

۱۰. چاپ یک string به تعداد دلخواه و پشت سر هم

n = 3
a = &quotfing.ir-&quot
print(a * n)

خروجی:

fing.ir-fing.ir-fing.ir

۱۱. یک متن شبیه متن دیگر است یا نه؟

from collections import Counter
def is_anagram(str1, str2):
return Counter(str1) == Counter(str2)
# or without having to import anything
def is_anagram(str1, str2):
return sorted(str1) == sorted(str2)
print(is_anagram('fing', 'ginf'))
print(is_anagram('fing', 'tnig'))

خروجی:

True
False