چند ترفند ظریف پایتونی
همونطور که میدونید پایتون یکی از زبانهای پرطرفدار برنامهنویسی توی دنیاست. منبع
خب تو این مطلب قصد داریم چند تا ترفندی که به نظر جالب میان رو یادآوری کنیم. شاید تو کدنویسی به دردتون بخوره.
البته از نظر سختی این ترفندها در سطح پایین هستن و شاید اکثرشون رو بلد باشید.
۱. جابهجا کردن متغییرها در یک خط
x, y = 10, 20
print(x, y)
x, y = y, x
print(x, y)
خروجی:
10 20
20 10
۲. برعکس کردن متن
a = "fing.ir"
print("Reverse is", a[::-1])
خروجی:
Reverse is ri.gnif
۳. چسباندن همه گزینههای داخل لیست به هم و ساخت یک string
a = ["Fing", "Paas", "Service"]
print(" ".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 = "fing.ir-"
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
مطلبی دیگر از این انتشارات
چطور تمام پوشههای node_modules سیستم رو پاک کنیم؟
مطلبی دیگر از این انتشارات
از DefaultServeMux استفاده نکنیم
مطلبی دیگر از این انتشارات
معرفی زبان Go