পাইথন অগ্রগতির পথ - শিক্ষানবিশ থেকে গুরু পর্যন্ত


659

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

আমি যা জানতে চাই তা হ'ল এই বা অন্য ফোরামে আমি খুব কমই দেখেছি এমন এক ধরণের প্রশ্নের আপনার উত্তর। পাইথন উন্নতির পথে যে কারও কাছেই এই প্রশ্নটি আমার কাছে কেন্দ্রীয় বলে মনে হচ্ছে তবে তার পরবর্তী পদক্ষেপগুলি কী হওয়া উচিত তা অবাক করে।

আমি প্রথমে যা জিজ্ঞাসা করতে চাই না তা সংক্ষিপ্ত করে রাখি;)

  • আমি কীভাবে দ্রুত পাইথন শিখতে চাই তা জানতে চাই না
  • আমি ভাষাটির সাথে পরিচিত হওয়ার সর্বোত্তম উপায় খুঁজে বের করতে চাই না
  • অবশেষে, আমি 'একটি কৌশল যা এটি সবই করে' এর পদ্ধতির জানতে চাই না।

আমি আপনার সম্পর্কে যা জানতে চাই তা হ'ল:

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

আমি যে ধরণের উত্তর উপভোগ করব (তবে পাঠকগণকে অবাক করে দিতে নির্দ্বিধায়: পি), কমবেশি এই জাতীয় বিন্যাসিত হয়:

  • এটি পড়ুন (যেমন: পাইথন টিউটোরিয়াল), সেই ধরণের বিশদগুলিতে মনোযোগ দিন
  • এতগুলি সময় / সমস্যা / কোডের লাইনগুলির জন্য কোড
  • তারপরে, এটি পড়ুন (উদা: এই বা এই বইটি) তবে এবার মনোযোগ দিন
  • বাস্তবের কয়েকটি সমস্যা সমাধান করুন
  • তারপরে, ওয়াই পড়তে এগিয়ে যান।
  • এই ধারণাটি উপলব্ধি করতে ভুলবেন না
  • এক্স সময়ের জন্য কোড
  • এ জাতীয় এবং এরকম বেসিকগুলিতে ফিরে আসুন বা আরও সরান ...
  • (আপনি পয়েন্ট পেতে :)

কনস্ট্যান্টলি অগ্রগতি করার জন্য (অবশ্যই যথাযথ প্রয়াসের সাথে) অগ্রগতি করার জন্য বিভিন্ন পর্যায়ে ঠিক কী দিকে আপনার মনোযোগ দেওয়া উচিত সে সম্পর্কে আমি আপনার মতামত জানার বিষয়ে সত্যই আগ্রহী। আপনি যদি কোনও বিশেষজ্ঞের একটি নির্দিষ্ট ক্ষেত্র থেকে এসে থাকেন তবে এই ক্ষেত্রে আপনি যে পথটিকে যথাযথ দেখছেন তা আলোচনা করুন।

সম্পাদনা: আপনার দুর্দান্ত ইনপুটকে ধন্যবাদ, আমি পাইথন উন্নতির ট্র্যাকটিতে ফিরে এসেছি! আমি সত্যিই প্রশংসা!

উত্তর:


471

আমি ভেবেছিলাম পাইথন প্রভুত্বের প্রক্রিয়াটি এরকম কিছু হয়েছিল:

  1. তালিকা অনুধাবন আবিষ্কার করুন
  2. জেনারেটর আবিষ্কার করুন
  3. ইনকর্পোরেট মানচিত্র, কমাতে, ফিল্টার, রাউটার, পরিসীমা, xrange ঘন ঘন আপনার কোডে
  4. সজ্জা আবিষ্কার করুন
  5. পুনরাবৃত্ত ফাংশন লিখুন, অনেক
  6. ইটারটুলগুলি এবং ফান্টুলগুলি আবিষ্কার করুন
  7. রিয়েল ওয়ার্ল্ড হাস্কেল পড়ুন ( বিনামূল্যে অনলাইনে পড়ুন )
  8. আপনার সমস্ত পুরানো পাইথন কোডটি টন উচ্চতর অর্ডার ফাংশন, পুনরাবৃত্তি এবং হোয়াট নোটের সাথে আবার লিখুন।
  9. আপনার ঘনক্ষেত্রের সাথীদের যতবারই তারা আপনাকে পাইথন ক্লাসে উপস্থাপন করবেন ততক্ষন বিরক্ত করুন। দাবি এটি অভিধান হিসাবে কিছু ফাংশন হিসাবে প্রয়োগ করা "আরও ভাল" হতে পারে। কার্যকরী প্রোগ্রামিং আলিঙ্গন।
  10. কৌশল প্যাটার্নটি এবং তারপরে হ্যাস্কেলের পরে ভুলে যাবার জন্য এত চেষ্টা করে নিযুক্তি কোড থেকে সেই সমস্ত জিনিসগুলি পুনরায় আবিষ্কার করুন ।
  11. একটি ভারসাম্য খুঁজে নিন।

@ সুন্দর সুন্দর সুপার তালিকা, এটি পছন্দ! আপনার মনে হয় ফাংশনাল প্রোগ্রামিংয়ের প্রতি পক্ষপাত আছে এবং অবজেক্ট ওরিয়েন্টেড থেকে দূরে ... কোনও বিশেষ কারণ আছে কি? হাস্কেল অভিজ্ঞতা কি আপনাকে এই পদ্ধতির দিকে নিয়ে গেছে?
মরলক

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

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

1
শিক্ষানবিস:
অভিধানটি

আপনি কী এখানে বিস্তারিত বলতে পারেন >> এটি অভিধান হিসাবে কিছু ফাংশন হিসাবে প্রয়োগ করা "আরও ভাল" হতে পারে <<<?
কুবজ

108

আপনার পাইথন জ্ঞানকে আরও এগিয়ে নেওয়ার একটি ভাল উপায় হ'ল আপনি ইতিমধ্যে ব্যবহার করেছেন এমন লাইব্রেরি, প্ল্যাটফর্ম এবং ফ্রেমওয়ার্কের উত্স কোডটি অনুসন্ধান করা।

উদাহরণস্বরূপ, আপনি জ্যাঙ্গোতে কোনও সাইট তৈরি করছেন , এমন অনেক প্রশ্নের উত্তর যা জঙ্গো কীভাবে প্রশ্নটিতে বৈশিষ্ট্যটি প্রয়োগ করে তা দেখে আপনার উত্তর দেওয়া যেতে পারে।

এইভাবে আপনি নতুন আইডিয়াম, কোডিং শৈলী এবং পাইথনের কৌশলগুলি অবিরত রাখবেন । (কিছু ভাল হবে এবং কিছু খারাপ হবে))

এবং আপনি যখন পাইথনি এমন কিছু দেখতে পান যা আপনি উত্সটিতে বুঝতে পারছেন না, তখন # প্যাথন আইআরসি চ্যানেলটির কাছে যান এবং আপনাকে প্রচুর "ভাষা আইনজীবী" ব্যাখ্যা করতে খুশি পাবেন।

বছরের পর বছর ধরে এই ছোট্ট স্পষ্টকরণের সংমিশ্রণ ভাষা এবং এর সমস্ত ইনস এবং আউটগুলি সম্পর্কে আরও গভীর বোঝার দিকে পরিচালিত করে।


1
আমি এটিতে যুক্ত করব যে কেবল একটি জ্যাঙ্গো এক্সটেনশন / প্লাগইন ইনস্টল করার পরিবর্তে গিট শাখা ব্যবহার করে ম্যানুয়ালি কোড যুক্ত করার চেষ্টা করুন। এটি আপনাকে প্রকল্পটিতে যুক্ত করা কোডটি আসলে পড়তে বাধ্য করবে ।
g33kz0r

14
কৌতূহলী আমি যখন আমাদের বাকিরা প্রশ্নটি থেকে উপকৃত হতে পারে তখন কেন আইআরসি ব্যবহার করবেন ?
tshpang

1
"আইডিয়াম, শৈলী এবং কৌশল" এর জন্য +1। প্রকৃত লোকদের সংস্পর্শে তৈরি একটি সত্য সংস্কৃতি বাস করা (এমনকি যদি এই পরিচিতির অর্থ এই ক্ষেত্রে একে অপরের কোডটি পড়ার অর্থ হয়) যা মানুষের জ্ঞানকে সময়ের সাথে সাথে জীবিত করে তুলেছে।
হেলটনবাইকার

92

পাইথনের ডেটা প্রকার এবং মেমরি এমজিএমটি সম্পর্কিত তাদের ভূমিকাগুলি (আরও গভীরভাবে) বুঝুন

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

বেশিরভাগ ক্ষেত্রেই, আমি বেশ অনুরূপ একটি প্রশ্ন জিজ্ঞাসা করি, "আমি কি আপনার পরিচিতি বা উন্নত কোর্সটি গ্রহণ করব? আমি ইতিমধ্যে 1-2 বছর ধরে পাইথন প্রোগ্রামিং করছি, এবং আমি মনে করি যে ভূমিকাটি আমার জন্য খুব সহজ তাই আমি চাই উন্নত ... যা অবশ্যই হবে সোজা ঝাঁপ মত আপনি সুপারিশ? "

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

এটি করার জন্য, আমি তাদের এই সাধারণ 2-অংশের কুইজ প্রশ্নে নির্দেশ করি: প্রাক্তন: x = 42;  Y = এক্স;  এক্স + + = 1;  x, y Ex2: x = [1,2,3]; y = x; x [0] = 4; প্রিন্ট x, y

অনেক সময়, তারা আউটপুট পেতে সক্ষম হয়, তবে কেন আরও কঠিন এবং একটি প্রতিক্রিয়ার চেয়ে অনেক বেশি গুরুত্বপূর্ণ ... আমি আউটপুটটির উত্তরের 20% হিসাবে বিবেচনা করব যখন "কেন" 80% ক্রেডিট পাবে। পাইথনের অভিজ্ঞতা যেমনই হোক না কেন তারা যদি তা না পান তবে আমি সর্বদা লোকদেরকে বিস্তৃত ইন্ট্রো + ইন্টারমিডিয়েট কোর্সে পাঠিয়ে দেব কারণ আমি একটি বক্তৃতা বস্তু এবং মেমরি পরিচালনায় ব্যয় করি যেখানে আপনি উত্তর দিয়ে যেতে সক্ষম হবেন আউটপুট এবং কেন যথেষ্ট আত্মবিশ্বাসের সাথে। (যেহেতু আপনি 1-2 বছর পরে পাইথনের বাক্য গঠন জানেন তা আপনাকে "শিক্ষানবিশ" লেবেল ছাড়িয়ে যাওয়ার জন্য প্রস্তুত করে না যতক্ষণ না আপনি কীভাবে পাইথন কভারের আওতায় কীভাবে কাজ করেন তা আরও ভাল বোঝা না হয় have)

একটি সফল তদন্ত একইরকম উত্তর প্রয়োজন এমনকি আরও কঠোর, যেমন,

উদাহরণ 3

x = ['foo', [1,2,3], 10.4]
y = list(x) # or x[:]
y[0] = 'fooooooo'
y[1][0] = 4
print x
print y

পরবর্তী যে বিষয়গুলি আমি সুপারিশ করি তা হল রেফারেন্স গণনা ভালভাবে বোঝা, "ইন্টার্নিং" এর অর্থ (তবে প্রয়োজনীয়ভাবে এটি ব্যবহার করা নয়) শিথিল করা, অগভীর এবং গভীর কপিগুলি সম্পর্কে শিখতে (উপরের উদাহরণ 3 হিসাবে) এবং অবশেষে, বিভিন্ন ধরণের এবং এর মধ্যে আন্তঃসংযোগ ভাষায় রচনাগুলি, যেমন বনাম টিপলস, ডিক্ট বনাম সেটগুলি তালিকা তৈরি করে, জেনারেটর এক্সপ্রেশনগুলি, পুনরুক্তিগুলি বনাম জেনারেটর ইত্যাদি তালিকাভুক্ত করে; তবে এই সমস্ত পরামর্শ অন্য সময়ের জন্য অন্য পোস্ট। আশা করি এরই মধ্যে সহায়তা করবে! :-)

পুনশ্চ. আমি আত্মতদন্তের সাথে আরও ঘনিষ্ঠ হওয়ার পাশাপাশি অন্যান্য প্রকল্পগুলির উত্স কোড অধ্যয়ন করার জন্য এবং অন্যান্য পরামর্শগুলির সাথে একটি শক্তিশালী "+1" যুক্ত করার জন্য অন্যান্য প্রতিক্রিয়াগুলির সাথে একমত!

PPS। দুর্দান্ত প্রশ্ন বিটিডাব্লু। আমি আশা করি আমি প্রথম দিকে যথেষ্ট স্মার্ট হয়ে এই জাতীয় কিছু জিজ্ঞাসা করেছি, তবে এটি অনেক আগে ছিল এবং এখন আমি আমার বহু বছরের পূর্ণকালীন পাইথন প্রোগ্রামিংয়ে অন্যকে সহায়তা করার চেষ্টা করছি !!


ওয়েসলি চুন! মরলক, আপনি নিজের প্রশ্নের সাহসী অংশে এমনই লোকটির বিষয়ে কথা বলছিলেন। একজন গভীর জ্ঞাতনশীল লোক যিনি খুব প্রতিভাশালী শিক্ষকও ছিলেন, আমি বইটি থেকে একটি বিশাল উত্সাহ পেয়েছি।
আনমাউন্টবিহীন

থেক্স @ বিভিএমউ! আমি কেবল এই প্রশ্নের উত্তর দিতে পারি কারণ আমাকে সবার মতো এই শেখার প্রক্রিয়াটি পেরিয়ে যেতে হয়েছিল ... 13 বছর আগে কেবল আমার ছিল! :-) কোরপিথন ডটকমকে প্লাগ করার জন্য THX ! :-)
ওয়েস্কিপি

@ ওয়েস্কি আপনি কি উদাহরণস্বরূপ আমাকে আউটপুট ব্যাখ্যা করতে পারেন বা এই জিনিসটি শিখতে ভাল উত্সের দিকে নির্দেশ করতে পারেন। ধন্যবাদ।
संकल्प

1
কৌশলটি হ'ল কেবলমাত্র অবজেক্টের রেফারেন্সগুলি অনুলিপি করা হয়, অবজেক্টগুলি নিজেরাই নয়। এটুকুই আছে ... আশা করি এটি সাহায্য করবে! আমি কয়েক সপ্তাহ আগে ওএসকনে এ বিষয়ে একটি বক্তব্য দিয়েছিলাম। যখন কেউ আমাকে বলেছিলেন সম্মেলনে এটি ছিল সর্বোচ্চ রেট পাইথন টক! আপনি এখানে স্লাইডগুলি ডাউনলোড করতে পারেন: oscon.com/oscon2013/public/schedule/detail/29374
Wescpy

আউটপুটটি সিনট্যাক্স এরির: অবৈধ সিনট্যাক্স, তাই না? কেন? কারণ আমি পাইথন 3 ব্যবহার করেছি এবং printএটি কোনও বিবৃতি নয়।
কনরাড বোরোস্কি

67

10 বছরে মাস্টার প্রোগ্রামার হওয়ার বিষয়ে পিটার নরভিগের রচনাটি দেখুন: http://norvig.com/21-days.html । আমি এটি যে কোনও ভাষার ক্ষেত্রে সত্যই ধরে রাখতে পারি।


59

ইন্ট্রোস্পেকশন বুঝুন

  • একটি dir()সমতুল্য লিখুন
  • একটি type()সমতুল্য লিখুন
  • "বানর-প্যাচ" কীভাবে করবেন তা নির্ধারণ করুন
  • disবিভিন্ন ভাষা কীভাবে কাজ করে তা দেখতে মডিউলটি ব্যবহার করুন

এই জিনিসগুলি করা হবে

  • পাইথন কীভাবে প্রয়োগ করা হয় সে সম্পর্কে আপনাকে কিছু ভাল তাত্ত্বিক জ্ঞান দিন
  • আপনাকে নিম্ন-স্তরের প্রোগ্রামিংয়ে কিছু ভাল ব্যবহারিক অভিজ্ঞতা দেয়
  • পাইথন ডেটা স্ট্রাকচারের জন্য আপনাকে একটি ভাল স্বজ্ঞাত অনুভূতি দেয়

1
" type()সমতুল্য লিখুন " যা আপনি যদি সম্পূর্ণ মেটাচ্লাসি বিশ্লেষণটি গ্রহণ করেন তবে খুব শক্ত হবে type!
asmeurer

48
def apprentice():
  read(diveintopython)
  experiment(interpreter)
  read(python_tutorial)
  experiment(interpreter, modules/files)
  watch(pycon)

def master():
  refer(python-essential-reference)
  refer(PEPs/language reference)
  experiment()
  read(good_python_code) # Eg. twisted, other libraries
  write(basic_library)   # reinvent wheel and compare to existing wheels
  if have_interesting_ideas:
     give_talk(pycon)

def guru():
  pass # Not qualified to comment. Fix the GIL perhaps?

4
গুরু () পাস করা উচিত। কিছুই গুরু বর্ণনা করতে পারেন, এটা পাস
INV

1
যদি আপনি জিআইএল ঠিক করে থাকেন তবে আমি মনে করি যে এটি আপনাকে গুরুর চেয়ে উচ্চ স্তরে রাখে তবে পরমার্থবাদী স্বৈরশাসকের নীচে। ;)
আদম পার্কিন

41

আমি আপনাকে সবচেয়ে সহজ এবং কার্যকর পরামর্শ প্রদান করব যা আমি মনে করি যে কেউ আপনাকে দিতে পারে: কোড

কোডিংয়ের মাধ্যমে আপনি কেবল কোনও ভাষা (যা বোঝার বোঝায়) ব্যবহার করা আরও ভাল । আপনাকে সক্রিয়ভাবে কোডিং উপভোগ করতে হবে, অনুপ্রাণিত হতে হবে, প্রশ্ন জিজ্ঞাসা করতে হবে এবং নিজের দ্বারা উত্তর খুঁজতে হবে।

এক ঘন্টা বাঁচাতে পার? কোডটি লিখুন যা একটি স্ট্রিংকে বিপরীত করবে এবং সর্বাধিক অনুকূল সমাধান সন্ধান করবে। একটি নিখরচায় সন্ধ্যা? কিছু ওয়েব স্ক্র্যাপিং কেন চেষ্টা করবেন না। অন্যান্য লোকের কোড পড়ুন। দেখুন তারা কীভাবে কাজ করে। নিজেকে জিজ্ঞাসা করুন আপনি কি করবেন।

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

আপনার দক্ষতার স্তর যাই হোক না কেন এটি বৈধ। আপনি শেখা কখনই বন্ধ করবেন না। আপনার অতিরিক্ত সময় সক্রিয়ভাবে কোডিংয়ের মাধ্যমে আপনি কিছুটা অতিরিক্ত চেষ্টা করে ভাষাটি বুঝতে পারবেন এবং শেষ পর্যন্ত একজন গুরু হয়ে উঠবেন। আপনি জ্ঞান এবং পুনঃব্যবহারযোগ্য কোড তৈরি করবেন এবং প্রতিমাটি মুখস্ত করবেন।


24

যদি আপনি বিজ্ঞানের জন্য অজগরটি ব্যবহার করেন এবং এটির একটি অংশ বৈজ্ঞানিক গ্রন্থাগারগুলি শেখা এবং বোঝা হবে তবে এটি আমার জন্য হবে

  • numpy
  • scipy
  • matplotlib
  • mayavi / mlab
  • চাকো
  • Cython

কীভাবে সঠিক লাইব্রেরি ব্যবহার করবেন এবং আপনার কোডটি ভেক্টরাইজ করবেন তা বৈজ্ঞানিক কম্পিউটিংয়ের জন্য প্রয়োজনীয়।

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


ধন্যবাদ। বড় ডেটাসেটের জন্য মেমরির ব্যবহারে দক্ষতা অর্জনের জন্য অসাড় এবং স্কিপি শিখতে অবশ্যই সময় নেওয়া উচিত!
মরলক

1
সম্ভবত তালিকায় পান্ডাস এবং আইপিথন যুক্ত করুন।
এরিক উইলসন

23

গুগল সম্প্রতি একটি অনলাইন পাইথন ক্লাস প্রকাশ করেছে ("পাঠ্যক্রমের মতো" ক্লাস ")।

http://code.google.com/edu/languages/google-python-class/

আমি জানি এটি আপনার সম্পূর্ণ প্রশ্নের উত্তর দেয় না, তবে আমি মনে করি এটি শুরু করার জন্য দুর্দান্ত জায়গা!


6
প্রকৃতপক্ষে, গুগলের এই ভিডিও বক্তৃতাগুলিকে আরও বেশি উন্নত করে আমি ভাবি এর মধ্যম দিকে এগিয়ে চলেছি। কোড.google.com/intl/fi-FI/edu/languages/…
টম উইলিস


12

সমস্ত ডেটা প্রকার এবং কাঠামো ভালভাবে বুঝতে হবে

প্রতিটি ধরণের এবং কাঠামোর জন্য, ডেমো প্রোগ্রামগুলির একটি সিরিজ লিখুন যা ধরণের বা ডেটা কাঠামোর প্রতিটি দিক অনুশীলন করে। আপনি যদি এটি করেন, প্রতিটি একের জন্য নোটগুলি ব্লগ করা সার্থক হতে পারে ... এটি প্রচুর লোকের পক্ষে দরকারী হতে পারে!


এটি কেবল পাইথনেই কার্যকর হবে না, পাশাপাশি বিমূর্ত অর্থেও এটি কার্যকর হবে।
হামফ্রে বোগার্ট

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

10

আমি গ্রীষ্মের সময় পাইথন সাইটে টিউটোরিয়াল করে নিজেই পাইথনটি প্রথম শিখেছি (দুঃখের বিষয়, আমি আর এটি খুঁজে পাব বলে মনে হয় না, তাই আমি কোনও লিঙ্ক পোস্ট করতে পারি না)।

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

অনুরূপ কারণে, আমি শুনেছি যে কোড গল্ফটিও কাজ করে, তবে আমি কখনও নিজের জন্য এটি চেষ্টা করি নি।


3
আপনি এই টিউটোরিয়াল মানে? পাইথন 2: docs.python.org/tutorial/index.html ; পাইথন 3: docs.python.org/py3k/tutorial/index.html
হামফ্রে বোগার্ট

10

অ্যালগরিদম / গণিত / ফাইল আইও / পাইথোনিক অপ্টিমাইজেশন শেখা

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

পাইথনে নিজেকে কাজ করতে বাধ্য করা ক্ষমাযোগ্য হবে যদি আপনি ব্রুট-ফোর্স অ্যালগরিদম ব্যবহার করেন। এটি আপনাকে মেমরিতে বড় ডেটাসেটগুলি কীভাবে রাখবে এবং অভিধানের মতো দ্রুত ভাষার বৈশিষ্ট্যগুলির সাথে দক্ষতার সাথে অ্যাক্সেস করতে শেখাবে will

এটি নিজে থেকেই আমি শিখেছি:

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

এবং খুব গুরুত্বপূর্ণভাবে

  • কখন ছাড়বেন এবং সি বা সি ++ ব্যবহার করবেন!

এই সমস্তগুলি বায়োইনফরমেটিক্সের সাথে প্রাসঙ্গিক হওয়া উচিত

স্বীকারোক্তি দিয়ে আমি পাইথনের ওওপি বৈশিষ্ট্যগুলি সে অভিজ্ঞতা থেকে শিখি নি।


3
আমি পিই সাইটটি পছন্দ করি তবে আসুন সত্য কথা বলতে পারি: এটি একটি গণিতের সাইট, কোনও প্রোগ্রামিং সাইট নয়। বেশিরভাগ সমস্যা (বা কমপক্ষে বেশিরভাগই আমি হয়েছি) সত্যিই কিছু প্রোগ্রামিং ভাষার সাথে সম্পর্কিত কিছু গণিতের কৌশলগুলি জানার জন্য সিদ্ধ হয়। প্রায়শই ফোরামগুলির ভাল সমাধান নিষ্পাপ সমাধান ইত্যাদির তরঙ্গ দ্বারা ডুবে যায়
অ্যাডাম পার্কিন

বিপরীতে আমি দেখতে পেয়েছি যে এটি প্রোগ্রামিং এবং গণিত দক্ষতার উভয় ক্ষেত্রেই প্রয়োগ করে এবং সবচেয়ে গুরুত্বপূর্ণ বিষয় হল আসল সমস্যাগুলি সমাধান করার জন্য দু'জনের সংমিশ্রণ । পাইথন প্রোগ্রামিং শিখতে আপনি পিই ব্যবহার করতে পারবেন না যদি আপনার কাছে গণিতের দক্ষতা নেই তবে আপনি কেবল ভাষা ব্যবহার করে কীভাবে ব্যবহার করবেন তা শিখতে চলেছেন তাই যদি আপনার ম্যাথগুলি যথেষ্ট ভাল হয় তবে এটি আদর্শ।
ক্যাপ্টেন লেপটন

7

আপনি " পাইথন ব্যবহার করে বায়োইনফরম্যাটিকস প্রোগ্রামিং " বইটি দেখেছেন ? দেখে মনে হচ্ছে আপনি এর ফোকাস গোষ্ঠীর সঠিক সদস্য।


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

6

আপনার কাছে ইতিমধ্যে প্রচুর পড়ার উপাদান রয়েছে তবে আপনি যদি আরও পরিচালনা করতে পারেন তবে আমি পাইথন বর্ধনের প্রস্তাবগুলি বিশেষত "সমাপ্ত" পিইপি এবং "ডিফার্ড, বিসর্জন, প্রত্যাহার এবং প্রত্যাখ্যান" পড়ার মাধ্যমে পাইথনের বিবর্তন সম্পর্কে শিখতে চাই I PEPs।

ভাষা কীভাবে পরিবর্তিত হয়েছে, যে সিদ্ধান্তগুলি হয়েছিল এবং সেগুলির যুক্তিগুলি দেখে, আপনি পাইথনের দর্শন শোষিত করবেন এবং বুঝতে পারবেন কীভাবে "আইডোমেটিক পাইথন" আসে about

http://www.python.org/dev/peps/



3

পাইথন শিখতে শুরু করা অন্য কাউকে শেখানো আপনার ধারণাগুলি পরিষ্কার করার জন্য সর্বদা দুর্দান্ত উপায় এবং কখনও কখনও, আমি সাধারণত শিক্ষার্থীদের কাছ থেকে অনেক ঝরঝরে প্রশ্ন পাই যা পাইথন সম্পর্কে ধারণামূলক বিষয়গুলি সম্পর্কে আমার আবার চিন্তাভাবনা করে।


2

আপনি যা চেয়েছিলেন তা অবিকল নয়, তবে আমি মনে করি এটি ভাল পরামর্শ।

অন্য ভাষা শিখুন, যা খুব বেশি কিছু যায় আসে না। প্রতিটি ভাষার নিজস্ব ধারণা এবং কনভেনশন রয়েছে যা আপনি শিখতে পারেন। ভাষার পার্থক্য সম্পর্কে জানুন এবং আরও গুরুত্বপূর্ণ যে whyতারা আলাদা ly হাস্কেলের মতো নিখুঁতভাবে কার্যকরী ভাষা ব্যবহার করে দেখুন এবং পার্শ্ব-প্রতিক্রিয়া মুক্ত ফাংশনের কিছু সুবিধা (এবং চ্যালেঞ্জ) দেখুন। অন্যান্য ভাষাগুলি থেকে শিখে নেওয়া কয়েকটি জিনিস পাইথনে আপনি কীভাবে প্রয়োগ করতে পারেন তা দেখুন।


1
হাস্কেল আগ্রহী, এবং আমি লিস্পের প্রতি আকৃষ্ট হয়েছি, তবে আমি অনুভব করি যে আমি এগিয়ে যাওয়ার ইচ্ছে করার আগে পাইথন জগতের মধ্যে এখনও অনেক কিছুই আবিষ্কার করতে পেরেছে।
মরলক

2
ল্যান্ডোফ্লিস্প (.কম) সম্প্রতি আমার দৃষ্টি আকর্ষণ করেছে।
জিয়ারো

যদি কেউ লিস্প সম্পর্কে চিন্তাভাবনা করে, আমি স্কিমটি সুপারিশ করি
থারিন্ডু রুশিরা

2

আমি এমন কিছু দিয়ে শুরু করার পরামর্শ দিচ্ছি যা আপনাকে সিনট্যাক্সের অভিব্যক্তিপূর্ণ শক্তিটি অন্বেষণ করতে বাধ্য করে। পাইথন একই কার্যকারিতা লেখার বিভিন্ন উপায়ের অনুমতি দেয় তবে প্রায়শই একক খুব মার্জিত এবং দ্রুততম পদ্ধতির উপস্থিতি রয়েছে। আপনি যদি অন্য ভাষার আইডিয়ামগুলিতে অভ্যস্ত হন তবে আপনি কখনও কখনও এই আরও ভাল উপায়গুলি খুঁজে পেতে বা গ্রহণ করতে পারেন না। আমি প্রথম 20 বা তারপরে প্রজেক্ট অলারের সমস্যার মধ্য দিয়ে একটি সাপ্তাহিক ছুটি কাটিয়েছি এবং গুগল অ্যাপ ইঞ্জিনে জ্যাঙ্গোর সাথে একটি সাধারণ ওয়েবআপ করেছি। এটি আপনাকে কেবল শিক্ষানবিস থেকে নবজাতকের দিকে নিয়ে যাবে, তবে আপনি এরপরে আরও কিছু উন্নত ওয়েব অ্যাপ তৈরি করতে এবং আরও উন্নত প্রকল্প ইউলারের সমস্যাগুলি সমাধান করতে পারেন। কয়েক মাস পরে আমি ফিরে গিয়ে প্রথম 20 টি PE সমস্যাগুলি সপ্তাহান্তের পরিবর্তে এক ঘন্টার মধ্যে স্ক্র্যাচ থেকে সমাধান করেছি।

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