আমি যদিও অবদান রাখতে পারতাম, একটি লাইন ব্রেকার ব্যবহার করুন:
x = lambda x,y: x-y if x<y \
else y-x if y<x \
else 0
উদাহরণস্বরূপ, পাইথন অনলাইনারদের লিখতে সক্ষম এমন খুব সুন্দর জিনিসটি ভুলে যাবেন না:
a=b=0; c=b+a; d = a+b**2 #etc etc
এবং ল্যাম্বদা খুব শক্তিশালী, তবে এটি 1 টি পুরো ফাংশনটির বিকল্প হিসাবে বোঝানো হয়নি, আমি আপনাকে বোঝাতে চাইছি এটি এটিকে হ্যাক করতে পারে (উপরের সহকর্মীর কাছ থেকে উদাহরণ ধার করে):
makeTag = lambda tagName: "<{}>".format(tagName)
closeTag = lambda tagName: makeTag("/"+str(tagName))
openTag = lambda tagName: makeTag(tagName)
writeHMTLline = lambda tag,content: ""+opetTag(tag)+str(content)+closeTag(tag)
তবে আপনি কি সত্যিই এটির মতো করতে চান? এটি বেশিরভাগ সময় অপঠনযোগ্য কিছু সময়ের পরে, এটি দাগের গোছা থেকে শুরু করে দেওয়ালহীন প্রান্ত দিয়ে শুরু করার মতো।
ল্যাম্বডাস ফাংশনাল ওরিয়েন্টেড প্রোগ্রামিং (অন্যান্য বিষয়গুলির মধ্যে) এর ফাংশনগুলিকে ফিল্টার করে এবং হ্রাস করে, একক-একমাত্র ফাংশন হিসাবে কাজ করে। উদাহরণস্বরূপ 2 টি দ্বারা পূর্ণসংখ্যা এবং বিভাজ্য মানগুলির অক্ষরের মানগুলি পাওয়া
chrDev2 = lambda INT: chr(INT) if isinstance(INT,int) and INT%2==0 else INT
someStringList = map( chrDev2, range(30) )
>>> ['\x00', 1, '\x02', 3, '\x04', 5, '\x06', 7, '\x08', 9, '\n', 11, '\x0c', 13, '\x0e', 15, '\x10', 17, '\x12', 19, '\x14', 21, '\x16', 23, '\x18', 25, '\x1a', 27, '\x1c', 29]
আপনি জটিল ফাংশন (বা আরও এবং আরও বেশ কয়েকটি ল্যাম্বডাস ডিফিনেশন করে এবং অন্য ল্যাম্বডায় রেখে) ফাংশন এক্সপ্রেশন ফাংশন হিসাবে এটি ব্যবহার করতে পারেন:
def someAnon(*args): return sum(list(args))
defAnon = lambda list: [ x*someAnon(*list) for x in list]
তবে পাইথনের ফাংশনের এক্সপ্রেশন সমর্থন রয়েছে অন্যভাবে: -রলেটস বলে যে আপনার কাছে কিছু ফাংশন বলা হয়েছে superAwesomeFunction
এবং সেই ফাংশনটি কিছু দুর্দান্ত ভয়ঙ্কর স্টাফ করতে পারে, আপনি এটিকে কল না করে এটি একটি ভেরিয়েবলের কাছে বরাদ্দ করতে পারেন:
SAF = superAwesomeFunction # there is no () at the end,
সুতরাং এখন আপনি যখন SAF কল করবেন তখন আপনি সুপারআওউজফিউশন বা পদ্ধতিটি কল করবেন। আপনি যদি আপনার লিবি ফোল্ডারটি গর্তটি অনুসন্ধান করেন তবে দেখতে পাবেন বেশিরভাগ পাইথন __builtin__
মডিউলগুলি সেভাবে লেখা হয়েছিল। এটি করা হয় কারণ কখনও কখনও আপনার কিছু ফাংশন প্রয়োজন যা নির্দিষ্ট টাস্ক করে যা ব্যবহারকারীর দ্বারা ব্যবহারযোগ্য হওয়ার পক্ষে যথেষ্ট নয় তবে এটি বেশ কয়েকটি ফাংশনের জন্য প্রয়োজনীয়। সুতরাং আপনার কাছে একটি পছন্দ রয়েছে যা "সুপারআউইউজুফফানশন" নাম সহ আপনার দুটি ফাংশন নাও থাকতে পারে, আপনার কাছে "সুপারআউইউজফিউজডডিংবাসিকস্টুফ" এবং "রিয়েলসুপারআউইউইজফান্শন" থাকতে পারে এবং "সুপারআউওয়াইজ ফাংশন" ভেরিয়েবলটিতে কেবল "রিয়েলসুপারআউজফিউজ ফাংশন" রেখে আপনি কাজটি সম্পন্ন করেছেন।
আপনি কনসোলে লিখে আমদানিকৃত মডিউল অবস্থান জানতে পারেন importedModule.__file__
(প্রকৃত উদাহরণ import os;os.__file__
), এবং শুধু যে ডিরেক্টরি নামক ফাইলে অনুসরণ importedModule.py এবং সম্পাদকে এটি খুলুন এবং কিভাবে আপনি আপনার নিজস্ব "জ্ঞান" বৃদ্ধি করতে পারেন খুঁজে।
আমি আশা করি এটি আপনাকে এবং সম্ভবত অন্যান্য সহকর্মীদের সমস্যায় সহায়তা করে।