একক উদ্ধৃতি বনাম ডাবল উদ্ধৃতি [বন্ধ]


79

আমি সবেমাত্র একটি কাজ শুরু করেছি যেখানে আমি জাভা ব্যাকগ্রাউন্ড থেকে আসার পরে পাইথন লিখছি, এবং আমি লক্ষ্য করছি যে অন্যান্য বিকাশকারীরা ''ডাবল কোট ( "") এর পরিবর্তে একক উদ্ধৃতি ( ) ব্যবহার করে স্ট্রিং উদ্ধৃত করে । উদাহরণ স্বরূপ:

line1 = 'This is how strings typically look.'
line2 = "Not like this."

ব্যক্তিগত পছন্দ ব্যতিরেকে কি এর অন্য কোনও কারণ আছে? এই স্ট্রিং উদ্ধৃত করার সঠিক উপায়? বিশেষত, আমি যা জানতে চাই তা হল যদি কোনও ধরণের স্ট্যান্ডার্ড বা স্বীকৃত সেরা অনুশীলন থাকে যা কোডিংয়ের এই স্টাইলকে চালিত করে।


5
আপনি কি কখনো ঢোকা যদি Ruby, সেখানে আসলে হয় একক এবং ডবল কোট মধ্যে একটি প্রযুক্তিগত পার্থক্য। ডাবল উদ্ধৃতিগুলি স্ট্রিং ইন্টারপোলেশন সমর্থন করে - একক উদ্ধৃতিগুলি আক্ষরিক হিসাবে পার্স করে।
কেচালাক্স

5
পার্ল এবং বেশিরভাগ শেলের ক্ষেত্রেও একই কথা।
blrfl

18
কিভাবে এই প্রশ্ন "গঠনমূলক নয় 'হল একটি পরম পাইথন শিক্ষানবিস হিসেবে, এই জানা প্রয়োজন আপনি ব্যাশ স্ক্রিপ্ট লেখেন, তাহলে একটি বড় পার্থক্য আছে
Magicsowon

19
গঠনমূলক নয়? গীজ। "পাইথন সিঙ্গল ডাবল কোটস" এর প্রথম গুগল ফলাফল আপনাকে দ্রুত কী জানা দরকার তা আপনাকে বলে। এরিককে জিজ্ঞাসা করার এবং সুনির্দিষ্টভাবে উত্তর দেওয়ার জন্য ধন্যবাদ
aggieNick02

উত্তর:


65

অন্যান্য উত্তরগুলি সঠিক যে এটি কোনও প্রযুক্তিগত পার্থক্য করে না, তবে আমি কয়েকটি উন্মুক্ত উত্স প্রকল্পের উপর একটি অনানুষ্ঠানিক শৈলীর নিয়ম দেখেছি: ডাবল উদ্ধৃতিগুলি স্ট্রিংগুলির জন্য ব্যবহৃত হয় যা শেষ পর্যন্ত ব্যবহারকারীর কাছে দৃশ্যমান হতে পারে (তাদের প্রয়োজন হয় বা না হয়) অনুবাদ), এবং একক উদ্ধৃতিগুলি স্ট্রিংগুলির জন্য যা কোডের নিজের কার্যকারিতা সম্পর্কিত (যেমন ডিক্ট কীগুলি, নিয়মিত প্রকাশ, এসকিউএল)।

এটি অবশ্যই কোনও সার্বজনীন নিয়ম নয় (বা এমনকি কোনও পিইপিতে কোডেড), তাই কোডিংয়ের অন্যান্য যথেচ্ছ দিকের মতো এটিও স্থানীয় বিধিগুলিতে নেমে আসে।

নোট করুন যে পিইপি 8 (যা আমি এই উত্তরটি লেখার সময় লক্ষ্য করিনি) বলেছেন :

এই পিইপি এটির জন্য কোনও সুপারিশ দেয় না। একটি নিয়ম চয়ন করুন এবং এটি আঁকুন। যখন কোনও স্ট্রিংতে একক বা ডাবল উদ্ধৃতি অক্ষর থাকে তবে স্ট্রিংয়ের ব্যাকস্ল্যাশগুলি এড়ানোর জন্য অন্যটি ব্যবহার করুন। এটি পাঠযোগ্যতার উন্নতি করে।

একজন মন্তব্যকারী যেমন উল্লেখ করেছেন, আপনি "বিধি" কীভাবে ব্যাখ্যা করেন তার উপর নির্ভর করে এটি অগত্যা বিপরীত নয়। আমি যা পরামর্শ দিচ্ছি তা অবশ্য দ্বিতীয়ার্ধের সাথে কার্যকরভাবে কাজ করে না।


1
এটি ঘরের শৈলী হতে পারে তবে এটি পিইপি 8 এর বিপরীতে: একটি বেছে নিন এবং সামগ্রীর ফাইল নির্বিশেষে এটি পুরো ফাইলের জন্য ব্যবহার করুন।
নিলস ভন বার্থ

4
@ নীলসভন বার্থ দ্য পিইপি বলেছে যে "একটি বিধি বেছে নিন এবং এর সাথে লেগে থাকুন", "একটি বিস্মৃত চরিত্র বাছাই না করে এটির সাথে আঁকুন"। "ব্যবহারকারীর দ্বারা দৃশ্যমান পাঠ্যের জন্য ডাবল উক্তি, মেশিন দ্বারা ব্যবহৃত জিনিসের জন্য একক উদ্ধৃতি" মনে হয় এটি দৃ to়ভাবে স্থির থাকাই একটি নিখুঁত নিয়ম।
ট্যানার সোয়েট

1
@ ট্যানার সোয়েট দুঃখিত, আপনি ঠিক বলেছেন; এটি গুগল পাইথন শৈলীর গাইড যা "একটি ফাইলের মধ্যে" google.github.io/styleguide/pyguide.html#310-stings
নিল ভন বার্থ

কালো আসলে পাইথন স্ট্রিংগুলিকে ডাবল কোট দ্বারা চারপাশে ফর্ম্যাট করে। এমনকি jslint জাভাস্ক্রিপ্ট স্ট্রিংগুলি ডাবল কোট দ্বারা ঘিরে থাকতে চায়। বেশিরভাগ পুরানো ভাষা এমনকি কখনও বিকল্প সরবরাহ করে না। আপনি এটি করতে পারেন কেবল তার অর্থ আপনার উচিত নয়। অবশ্যই, এখানে কয়েকটি দৃষ্টান্ত রয়েছে যেখানে এটি খুব সুন্দর জিনিস যেমন আপনার স্ট্রিংয়ে একটি উদ্ধৃতি থাকে। ব্যবহারিকভাবে বলতে গেলে, আপনার বেশিরভাগ স্ট্রিং এমন ডেটা সেট থেকে আসা উচিত যা আপনার কোড বেসে হার্ড-কোডড নয়।
বোবার্ট

1
@ বোবার্ট এমনকি যদি আপনি কোনও অনুবাদ বা ইউআই সিস্টেমে স্ট্রিংগুলি সন্ধান করে থাকেন তবে আপনার কোডগুলিতে অবশ্যই আপনার স্ট্রিং কীগুলি প্রয়োজন need তবে আমি সম্মত হই যে জিনিসগুলি এগিয়ে গেছে, এবং এই পার্থক্যের সত্যিই কোনও লাভ নেই।
যথাযথভাবে

21

এটি খুব সহজ:

  • একক উদ্ধৃতি ডাবল উদ্ধৃতি এম্বেড এম-পালাতে অনুমতি দেয়।
  • ডাবল উদ্ধৃতি আন-পলায়িত একক উদ্ধৃতি এম্বেড করার অনুমতি দেয়।

'আপনার ডাবল উদ্ধৃতি প্রয়োজন না হওয়া পর্যন্ত এটি ব্যবহার করা (একক উদ্ধৃতি) সর্বাধিক পাইথোনিক ।

নীচের উদ্ধৃতিটি সরাসরি স্ট্রিং লিটারেল সম্পর্কিত ডকুমেন্টেশন থেকে।

ইউনিকোড স্ট্রিংগুলিতে উপলব্ধ। পাইথন 2 এ 'বি' বা 'বি' এর উপসর্গ উপেক্ষা করা হয়; এটি নির্দেশ করে যে আক্ষরিকটি পাইথন 3-এ বাইটস আক্ষরিক হয়ে উঠতে হবে (যেমন কোডটি স্বয়ংক্রিয়ভাবে 2to3 দিয়ে রূপান্তরিত হয়) is A 'u' বা 'b' উপসর্গটি পরে 'r' উপসর্গ হতে পারে।

ট্রিপল-কোটেড স্ট্রিংগুলিতে, আনসকেপড নিউলাইনগুলি এবং উদ্ধৃতিগুলি অনুমোদিত হয় (এবং ধরে রাখা হয়), একটি সারিতে তিনটি অবিরত উদ্ধৃতি ব্যতীত স্ট্রিংটি সমাপ্ত করে। (একটি "উক্তি" হ'ল স্ট্রিংটি খোলার জন্য ব্যবহৃত অক্ষর, অর্থাত 'হয়' বা "))


15
অবশ্যই প্রশ্নটি হল - প্রায় প্রতিটি ভাষা যখন ডাবল কোট ব্যবহার করে তখন পাইথোনিক কেন একক উদ্ধৃতি পছন্দ করে?
মার্টিন বেকেট 4

13
@ মার্টিনবেকেট কারণ

3
আহ অবশ্যই ;-)
মার্টিন বেকেট

6
@ জারোডরোবারসন: আমি মনে করি "কারণ" (বা 'কারণ', যদি আপনি চান) এটি একটি বৈধ উত্তর তবে যদি এটি কোনও পিইপি (বা অনুরূপ) লেখা থাকে যে এটি পাইথোনিক পদ্ধতি । অন্যথায় এটি কেবল ব্যক্তিগত পছন্দ।
জোছিম সউর

5
একক উদ্ধৃতিগুলি আরও পরিষ্কার দেখায় এবং টাইপ করার জন্য শিফট
কীও লাগবে না

17

প্রযুক্তিগত দৃষ্টিকোণ থেকে এটি কোনও চিন্তাভাবনা করে না, শৈলীর দৃষ্টিকোণ থেকে কয়েকটি চিন্তাভাবনা:

  • অন্যান্য বেশিরভাগ প্রোগ্রামিং ভাষাতে ডাবল কোট ব্যবহার করা হয়।
  • ইংরেজিতে লেখার সময় সাধারণত ডাবল কোট ব্যবহার করা হয়।
  • আপনার অ্যাপ্লিকেশনটিতে অনেকগুলি অ-প্রযুক্তিগত / ন্যারেটিভ টেক্সট থাকলে একক উদ্ধৃতি কার্যকর হয় কারণ তারা আপনাকে আরও প্রাকৃতিক উপায়ে ডাবল উদ্ধৃতি ব্যবহার করতে দেয়। bar = '"It\'s awesome" he said.'
  • অন্যদিকে একক উদ্ধৃতি চরিত্রটি ইংরাজী ভাষায় কয়েকটি অনুষ্ঠানে ব্যবহৃত হয়। bar = "\"It's awesome\" he said."

নোট করুন যে "প্রায়শই প্রযুক্তিগত স্ট্রিংগুলিতে ব্যবহৃত হয়, খুব-ই, জি ফ 'আপনি জমা দিয়েছেন" umb বোবা_ কিছুন} তবে এটি আমাদের পক্ষেও বোবা!'
খ্রিস্টান সৌর

4

পাইথনে সিঙ্গল কোট এবং ডাবল কোট ব্যবহার করার মধ্যে কোনও পার্থক্য নেই। ব্যবহারিক দিক দিয়ে আপনি যে ধরণের ডেটা নিয়ে কাজ করছেন তার উপর নির্ভর করে আপনি একটি বা অন্য স্টাইলটি আরও সুবিধাজনক খুঁজে পেতে পারেন।

"ডিফল্টরূপে" ব্যবহৃত কোটগুলির ধরণ (যেখানে এক বা অন্যটি ব্যবহারের কোনও বাধ্যতামূলক কারণ নেই) ব্যক্তিগত পছন্দ হিসাবে বিবেচিত।

আরও তথ্যের জন্য পাইথন ডকুমেন্টেশনে স্ট্রিং লিটারালসের বিভাগটি দেখুন ।


4

নিয়মিত একক বা ডাবল উদ্ধৃতি ব্যবহার করবেন কিনা আপনার অভ্যাসটি বিকাশের ক্ষেত্রে কিছু বিষয় বিবেচনা করতে হবে।

ডাবল উদ্ধৃতিতে দুটি আঙুলের চাবি প্রয়োজন; এবং তাই টাইপিং ত্রুটির পাশাপাশি গতি হ্রাস হওয়ার সম্ভাবনা বেশি

আপনার সম্পাদক অন্য একটি চরিত্রের আরও ভাল দেখায়; আরও সহজ ভিজ্যুয়াল সিনট্যাক্স ডিবাগিংয়ের জন্য।

ডক্টরিংগুলি ট্রিপল অক্ষর ব্যবহার করে: কোনটি আরও ভাল দেখাচ্ছে? "" "" "" বা '' '' ''

যদিও আমি এটি উইন্ডোজ ওএসে দেখিনি, কিছু বাক্য গঠন বা ডকুমেন্টেশন সরঞ্জামগুলি ডাবল শ্লোকে একক উদ্ধৃতি আশা করতে পারে।

পাইথন টিউটোরিয়ালের বেশিরভাগ ক্ষেত্রে আমি দেখেছি আপনার অভিজ্ঞতার বিপরীতে। আমি সাধারণত ডাবল উদ্ধৃতি ব্যবহৃত দেখতে।


4

আমার মতে আমি ডাবল উক্তি ব্যবহার করতে পছন্দ করি একটি স্ট্রিংয়ের জন্য ।

কেন? অন্যান্য ভাষার প্রোগ্রামারদের জন্য দ্রুত রূপান্তর করা যায় এবং কোডটি আরও সহজে বোঝা যায়।

যদি কোনও সি প্রোগ্রামার দেখতে পান:

'Writing "It\'s big?" No.'

দ্বিধাগ্রস্থ হবে, পরিবর্তে:

"Writing \"It's big?\" No."

3
"লেখা \" এটা বড়? No. "না No."
এপিআই-বিস্ট

@ লুসিও আমি যা করছি তা কেবল আমি জানতাম না যে আমি কোনও ধরণের প্রতিষ্ঠিত পাইথন স্ট্যান্ডার্ড লঙ্ঘন করছি কিনা।
এরিক হাইড্রিক

@ এরিকহাইড্রিক না, আপনি এক বা অন্য জন্য বেছে নিতে পারেন।
লুসিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.