উত্তর:
প্রকাশ শুধুমাত্র ধারণ শনাক্তকারী , লিটারেল এবং অপারেটরদের , যেখানে অপারেটরদের গাণিতিক এবং বুলিয়ান অপারেটর, ফাংশন অন্তর্ভুক্ত কল অপারেটর সাবস্ক্রিপশন অপারেটর এবং অনুরূপ, এবং "মান" কোন ধরণের, যা কোনো পাইথন বস্তুর হতে পারে কমে যাবে। উদাহরণ:()
[]
3 + 5
map(lambda x: x*x, range(10))
[a.x for a in some_iterable]
yield 7
বিবৃতি (দেখুন) 1 ,2 ) অন্যদিকে, পাইথন কোডের একটি লাইন (বা বেশ কয়েকটি লাইন) তৈরি করতে পারে এমন সমস্ত কিছু। মনে রাখবেন যে এক্সপ্রেশনগুলিও বয়ান হয়। উদাহরণ:
# all the above expressions
print 42
if x: do_y()
return
a = 7
print("Hello world!")
বা my_list.append(42)
।
a = yield 7
বৈধ, yield 7
এটি একটি অভিব্যক্তি। একটি দীর্ঘ সময় আগে, yield
একটি বিবৃতি হিসাবে চালু করা হয়েছিল, কিন্তু এটি পিইপি 342 এর একটি অভিব্যক্তিতে সাধারণীকরণ করা হয়েছিল ।
এক্সপ্রেশন - নিউ অক্সফোর্ড আমেরিকান অভিধান থেকে :
অভিব্যক্তি: গণিত প্রতীক সংকলন যা যৌথভাবে একটি পরিমাণ প্রকাশ করে: একটি বৃত্তের পরিধিটির পরিপ্রেক্ষিতে 2πr হয়।
স্থূল সাধারণ পদে: এক্সপ্রেশনগুলি কমপক্ষে একটি মান তৈরি করে।
পাইথন সালে এক্সপ্রেশন ব্যাপকভাবে আচ্ছাদিত করা হয় পাইথন ভাষা রেফারেন্স সাধারন, পাইথন এক্সপ্রেশন একটি চিহ্নগুলি সিন্টেক্সের আইনি সমন্বয় দ্বারা গঠিত অ্যাটমস , প্রাইমারিতে এবং অপারেটরগুলির ।
উইকিপিডিয়া থেকে পাইথন এক্সপ্রেশন
এক্সপ্রেশন উদাহরণ:
অপারেটর এবং অন্তর্নির্মিত ফাংশন বা ব্যবহারকারী-লিখিত ফাংশনগুলির কলগুলির সাথে লিটারাল এবং সিনট্যাক্টিকালি সঠিক সংমিশ্রণগুলি :
>>> 23
23
>>> 23l
23L
>>> range(4)
[0, 1, 2, 3]
>>> 2L*bin(2)
'0b100b10'
>>> def func(a): # Statement, just part of the example...
... return a*a # Statement...
...
>>> func(3)*4
36
>>> func(5) is func(a=5)
True
বিবৃতিউইকিপিডিয়া থেকে :
কম্পিউটার প্রোগ্রামিংয়ে একটি বিবৃতি একটি অত্যাবশ্যক প্রোগ্রামিং ভাষার ক্ষুদ্রতম একক উপাদান হিসাবে বিবেচনা করা যেতে পারে। এক বা একাধিক বক্তব্যের ক্রম দ্বারা একটি প্রোগ্রাম গঠিত হয়। একটি বিবৃতিতে অভ্যন্তরীণ উপাদান থাকবে (যেমন, এক্সপ্রেশন)।
স্থূল সাধারণ পদে: বিবৃতি কিছু করে এবং প্রায়শই প্রকাশ (বা অন্যান্য বিবৃতি) দ্বারা গঠিত হয়
পাইথন ল্যাঙ্গুয়েজ রেফারেন্সটি সহজ বিবরণী এবং যৌগিক বিবরণিকে ব্যাপকভাবে কভার করে ।
"স্টেটমেন্টগুলি কিছু করে" এবং "এক্সপ্রেশনগুলি একটি মান দেয়" এর পার্থক্যটি ঝাপসা হয়ে যেতে পারে:
if
সাধারণত একটি বিবৃতি হিসাবে যেমন হয় if x<0: x=0
কিন্তু আপনি একটি থাকতে পারে শর্তাধীন অভিব্যক্তি মত x=0 if x<0 else 1
যে এক্সপ্রেশন হয়। অন্যান্য ভাষায় সি এর মতো এই ফর্মটিকে অপারেটর বলা হয়x=x<0?0:1;
def func(a): return a*a
যখন ব্যবহার করা হয় তবে সংজ্ঞায়িত হয়ে গেলে বিবৃতি দিয়ে তৈরি হয়।None
তা পাইথনের একটি পদ্ধতি: def proc(): pass
সিন্ট্যাক্টিক্যালি আপনি proc()
একটি এক্সপ্রেশন হিসাবে ব্যবহার করতে পারেন তবে এটি সম্ভবত একটি বাগ ...func(x=2);
কি এটি একটি অভিব্যক্তি বা বিবৃতি থাকতে পারে? ( উত্তর: পার্শ্ব-প্রতিক্রিয়া সহ স্টেটমেন্ট হিসাবে ব্যবহৃত এক্সপ্রেশন। ) পাইথনে x=2
ফাংশন কলের অভ্যন্তরের অ্যাসাইনমেন্ট স্টেটমেন্টটি কেবল কলটিতে func(x=2)
নামযুক্ত যুক্তিটি a
2 তে সেট করে func
এবং সি উদাহরণের চেয়ে বেশি সীমাবদ্ধ।যদিও এটি পাইথনের সাথে সম্পর্কিত নয়:
একটি expression
একটি মান মূল্যায়ন করে। এ statement
কিছু করে।
>>> x + 2 # an expression
>>> x = 1 # a statement
>>> y = x + 1 # a statement
>>> print y # a statement (in 2.x)
2
somelist.append(123)
,। বেশিরভাগ ফাংশন কল, সত্যিই।
বিবৃতিগুলি কোনও ক্রিয়া বা কমান্ডের প্রতিনিধিত্ব করে যেমন মুদ্রণ বিবৃতি, অ্যাসাইনমেন্ট বিবৃতি।
print 'hello', x = 1
এক্সপ্রেশন হল ভেরিয়েবল, ক্রিয়াকলাপ এবং মানগুলির সংমিশ্রণ যা ফলাফল মান দেয়।
5 * 5 # yields 25
সবশেষে, এক্সপ্রেশন বিবৃতি
print 5*5
একটি এক্সপ্রেশন এমন একটি জিনিস যা কোনও মানকে হ্রাস করা যায়, উদাহরণস্বরূপ "1+3"
বা"foo = 1+3"
।
এটি যাচাই করা সহজ:
print foo = 1+3
যদি এটি কাজ করে না, এটি একটি বিবৃতি, যদি তা করে তবে এটি একটি অভিব্যক্তি।
অন্য বিবৃতি হতে পারে:
class Foo(Bar): pass
যেহেতু এটি কোনও মান হ্রাস করা যায় না।
a = b = expr
পাইথন, একটি বিশেষ ক্ষেত্রে যেমন অনুমতি দেওয়া হয়)। ভাষা থেকে সি থেকে আরও অনুপ্রেরণা আঁকতে, এটি।
class Foo(bar):
একটি বিবৃতি শুরু, একটি সম্পূর্ণ বিবৃতি নয়।
foo = 1+3
একটি অভিব্যক্তি নয়। এটি একটি বিবৃতি (সুনির্দিষ্ট হওয়ার জন্য একটি অ্যাসাইনমেন্ট)। অংশটি 1+3
যদিও একটি অভিব্যক্তি।
একটি এক্সপ্রেশন কিছু হয়, যখন একটি বিবৃতি কিছু করে।
একটি এক্সপ্রেশন এছাড়াও একটি বিবৃতি, কিন্তু এটির অবশ্যই ফিরতে হবে।
>>> 2 * 2 #expression
>>> print(2 * 2) #statement
পিএস: দোভাষী সবসময় সমস্ত অভিব্যক্তির মান মুদ্রণ করে।
বিবৃতি:
বিবৃতি একটি ক্রিয়া বা একটি আদেশ যা কিছু করে। উদাহরণস্বরূপ: যদি-অন্যথায়, লুপস .. ইত্যাদি
val a: Int = 5
If(a>5) print("Hey!") else print("Hi!")
অভিব্যক্তি:
একটি এক্সপ্রেশন মান, অপারেটর এবং আক্ষরিক সংমিশ্রণ যা কিছু দেয় yield
val a: Int = 5 + 5 #yields 10
একটি বিবৃতিতে একটি কীওয়ার্ড রয়েছে।
একটি এক্সপ্রেশন একটি কীওয়ার্ড ধারণ করে না।
print "hello"
বিবৃতি, কারণ print
একটি কীওয়ার্ড।
"hello"
এটি একটি অভিব্যক্তি, তবে তালিকা সংক্ষেপণ এর বিপরীতে।
নিম্নলিখিতটি একটি অভিব্যক্তি বিবৃতি, এবং তালিকা অনুধাবন ছাড়াই এটি সত্য:
(x*2 for x in range(10))
x = 1
এটি পুরোপুরি সূক্ষ্ম বিবৃতি, তবে কীওয়ার্ড ধারণ করে না।
is
একটি মূলশব্দ তবে x is y
এটি অবশ্যই বিবৃতি নয় (সাধারণভাবে এটি কেবল একটি অভিব্যক্তি)।
এক্সপ্রেশন:
objects
এবং সমন্বয় দ্বারা গঠিত হয় operators
।<object><operator><object>
2.0 + 3
এটি এমন একটি অভিব্যক্তি যা এর সাথে মূল্যায়ন করে 5.0
এবং এর সাথে সম্পর্কিত একটি প্রকার float
।
বিবৃতি
বিবৃতি প্রকাশ (গুলি) দ্বারা গঠিত। এটি একাধিক লাইন বিস্তৃত করতে পারে।
কিছু স্টেটমেন্ট রয়েছে যা আমাদের পাইথন প্রোগ্রামের অবস্থার পরিবর্তন করতে পারে: ভেরিয়েবলগুলি তৈরি বা আপডেট করা, ফাংশন সংজ্ঞায়িত করা ইত্যাদি etc.
এবং এক্সপ্রেশনগুলি কিছু মূল্য ফিরিয়ে দেয় কোনও ফাংশনে গ্লোবাল রাষ্ট্র বা স্থানীয় রাষ্ট্র পরিবর্তন করতে পারে না।
কিন্তু এখন আমরা পেয়েছি :=
, এটি একটি পরক!
পাইথন এক্সপ্রেশনকে "অভিব্যক্তি বিবৃতি" বলে, সুতরাং প্রশ্নটি সম্ভবত পুরোপুরি গঠিত হয়নি।
একটি বিবৃতি পাইথনে আপনি যা কিছু করতে পারেন তা নিয়ে থাকে: একটি মান গণনা করা, একটি মান নির্ধারণ করা, একটি ভেরিয়েবল মুছে ফেলা, একটি মান মুদ্রণ করা, একটি ফাংশন থেকে ফিরে আসা, একটি ব্যতিক্রম উত্থাপন ইত্যাদি সম্পূর্ণ তালিকা এখানে: http: // docs.python.org/reference/simple_stmts.html#
একটি এক্সপ্রেশন স্টেটমেন্ট কলিং ফাংশনগুলির মধ্যে সীমাবদ্ধ,
আমি মনে করি একটি অভিব্যক্তিটিতে অপারেটর + অপারেন্ড এবং অবজেক্ট রয়েছে যা অপারেশনের ফলাফল রাখে ... উদাহরণস্বরূপ
var sum = a + b;
তবে একটি বিবৃতি কেবল একটি কোডের একটি লাইন (এটি প্রকাশ হতে পারে) বা কোডের ব্লক ... উদাহরণস্বরূপ
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
else
println("Hi there!")
// `return Unit` or `return` is optional
}