প্রশ্ন ট্যাগ «python-decorators»

পাইথনে, সাজসজ্জাগুলি এমন ফাংশন যা কোনও বিশেষ বাক্য গঠন ব্যবহার করে সুবিধাজনকভাবে ফাংশন, পদ্ধতি বা শ্রেণিগুলিকে পরিবর্তন করে। সজ্জাকারীরা সোর্স কোডটি সজ্জিত না করে গতিশীলভাবে কার্যকারিতা পরিবর্তন করে।


17
কিভাবে ফাংশন সজ্জা একটি চেইন করতে?
পাইথনে আমি কীভাবে দুটি সজ্জকার তৈরি করতে পারি যা নিম্নলিখিতগুলি করতে পারে? @makebold @makeitalic def say(): return "Hello" ... যা ফিরে আসা উচিত: "<b><i>Hello</i></b>" আমি HTMLসত্যিকারের অ্যাপ্লিকেশনটিতে এইভাবে তৈরি করার চেষ্টা করছি না - কেবল কীভাবে সজ্জকার এবং সাজসজ্জা শৃঙ্খলাবদ্ধ কাজ করে তা বোঝার চেষ্টা করছি।

14
@ প্রপার্টি সাজসজ্জার কাজ কিভাবে করে?
আমি বিল্ট-ইন ফাংশনটি কীভাবে কাজ করে তা বুঝতে চাই property। যা আমাকে বিভ্রান্ত করে তা হ'ল এটি propertyএকটি ডেকরেটর হিসাবেও ব্যবহার করা যেতে পারে, তবে এটি কেবল তখন অন্তর্নির্মিত ফাংশন হিসাবে ব্যবহৃত হয় এবং সজ্জা হিসাবে ব্যবহৃত না হয়েই যুক্তি নেয়। এই উদাহরণটি ডকুমেন্টেশন থেকে : class C(object): def __init__(self): …

12
পাইথনে "এট" (@) চিহ্নটি কী করবে?
আমি কিছু পাইথন কোড দেখছি যা @প্রতীকটি ব্যবহার করেছিল , তবে এটি কী করে তা আমার কোনও ধারণা নেই। পাইথন ডক্স অনুসন্ধান করার জন্য কী কী সন্ধান করতে হবে তাও আমি জানি না বা @প্রতীকটি অন্তর্ভুক্ত করা হলে গুগল প্রাসঙ্গিক ফলাফল দেয় না ।

11
আমি কীভাবে "স্ব। এক্স = এক্স এড়াতে পারি? self.y = y; __init__ এ স্ব.জ = জেড "প্যাটার্ন?
আমি নিদর্শন দেখতে def __init__(self, x, y, z): ... self.x = x self.y = y self.z = z ... প্রায়শই প্রায়শই অনেক বেশি পরামিতি থাকে। এই জাতীয় ক্লান্তিকর পুনরাবৃত্তি এড়াতে কি কোনও ভাল উপায় আছে? ক্লাসের namedtupleপরিবর্তে উত্তরাধিকারী হওয়া উচিত ?

5
স্ব-তর্ক নিয়ে ক্লাস মেথড ডেকরেটার?
আমি কীভাবে একটি আর্গুমেন্ট হিসাবে কোনও ক্লাস পদ্ধতিতে কোনও শ্রেণিকেন্দ্র একটি সজ্জাকারকে পাস করতে পারি? আমি যা করতে চাই তা হ'ল: class Client(object): def __init__(self, url): self.url = url @check_authorization("some_attr", self.url) def get(self): do_work() এটি অভিযোগ করে যে self.urlসাজসজ্জারের কাছে যাওয়ার জন্য স্বের অস্তিত্ব নেই । এই সমস্যা এড়ানোর একটি …

10
পাইথনে সম্পত্তি বৈশিষ্ট্যটি কীভাবে ব্যবহার করবেন সে সম্পর্কে বাস্তব বিশ্বের উদাহরণ?
@propertyপাইথনে কীভাবে ব্যবহার করতে হয় তা সম্পর্কে আমি আগ্রহী । আমি পাইথন ডক্স এবং সেখানে উদাহরণটি পড়েছি, আমার মতে, এটি একটি খেলনা কোড: class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" return self._x @x.setter def x(self, value): self._x = value @x.deleter def x(self): del …

5
আমি কীভাবে পাইথন ডেকরেটারের কাছে অতিরিক্ত যুক্তিগুলি পাস করব?
আমি নীচের মত একটি সজ্জা আছে। def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' নীচের মতো অন্য একটি যুক্তি গ্রহণ করার জন্য আমি এই সাজসজ্জারকে বাড়িয়ে তুলতে চাই def myDecorator(test_func,logIt): if logIt: print "Calling Function: " + test_func.__name__ return callSomeWrapper(test_func) @myDecorator(False) def someFunc(): print 'Hello' …

1
সাজসজ্জা কার্যকর করার আদেশ
def make_bold(fn): return lambda : "<b>" + fn() + "</b>" def make_italic(fn): return lambda : "<i>" + fn() + "</i>" @make_bold @make_italic def hello(): return "hello world" helloHTML = hello() আউটপুট: "<b><i>hello world</i></b>" আমি সজ্জিতদের সম্পর্কে মোটামুটিভাবে বুঝতে পারি এবং এটি বেশিরভাগ উদাহরণে এটির সাথে কীভাবে কাজ করে। এই উদাহরণে …

5
সাজসজ্জারের সাথে পাইথন ফাংশন সংজ্ঞাটি কীভাবে বাইপাস করবেন?
আমি জানতে চাই যে বৈশ্বিক সেটিংসের (যেমন ওএস) উপর ভিত্তি করে পাইথন ফাংশন সংজ্ঞা নিয়ন্ত্রণ করা সম্ভব কিনা। উদাহরণ: @linux def my_callback(*args, **kwargs): print("Doing something @ Linux") return @windows def my_callback(*args, **kwargs): print("Doing something @ Windows") return তারপরে, যদি কেউ লিনাক্স ব্যবহার করে থাকে তবে এর প্রথম সংজ্ঞাটি my_callbackব্যবহার করা …
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.