ROSS RHEINGANS-يو: مرحبا، أنا روس.
وهذا هو ندوة CS50.
وسوف يأخذك من البرمجة في C للبرمجة في بيثون.
>> بايثون هي لغة البرمجة.
انها الى حد كبير مثل C في النحو، على الرغم من بعض
التفاصيل الفنية كيف يعدم ذلك التركيب
تختلف قليلا.
أنها أقل قوة من C في بعض الطرق.
أنها أقل معبرة لل أين بالضبط في جهاز الكمبيوتر الخاص بك
يحصل ضعت الذاكرة بعيدا، كيف يحصل ضعت بها،
عندما يحصل الحرية و هذه الأنواع من الأشياء.
>> انها أكثر فائدة من C في بعض النواحي، لأنه من الأسهل على البرنامج في.
اللغة هي، إلى حد الناس، أكثر سهولة.
وحقا، والهدف من ذلك هو ل أن يكون أسرع لبرنامج
ويحتمل أن تكون أبطأ لتنفيذه.
>> الآن إذا كنت تفكر في مقدار الوقت
قضيت على الأخير الخاص بك مشكلة تعيين الكتابة
التعليمات البرمجية الخاصة بك ضد مقدار الوقت الذي تقضيه
على المشكلة الأخيرة الخاصة بك تعيين تنفيذ التعليمات البرمجية الخاصة بك،
كنت أتصور أن اللغة وهو أسرع مرتين في الكتابة،
ومرتين بطيئة لتنفيذ، قد يكون تحسنا C في بعض الطرق.
بالتأكيد عندما كنت في محاولة لكتابة البرامج الصغيرة أن تفعل أشياء صغيرة،
بايثون هي لغة مفيدة في الاختيار.
>> وفي نهاية هذا ندوة، أتمنى أن
تكون قادرة على جعل الاختيار في المشاريع المستقبلية
حول اللغة التي هي الصحيحة لاستخدام، وليس فكرة
أن لغة واحدة هي أكثر تصحيح كل وقت.
وهناك أشياء قليلة حول ما هي الندوة.
وليس المقصود هذه الندوة ل يعلمك بيثون من الصفر.
الثعبان هو مشابه جدا لC، وأفترض
أن كنت طالبا CS50، أو أي شخص مع الألفة مماثلة مع C.
>> إذا كنت طالب CS50 حول مشكلة تعيين 6،
لذلك كنت قد نرى الكثير من الأشياء في C، سأعطيك
الاختلافات الرئيسية، وبعض الأشياء
التي تجعل بيثون مختلفة وخاصة ومفيدة،
ولكن أنا لن أذهب ل ما لغة البرمجة
وكيفية كتابة البرامج.
ومع ذلك، فإن هذه الندوة تعليم أن تكتب برامج بيثون
إذا كنت واحدا من تلك الجماعات قليلة.
مرة أخرى أننا سوف ننظر في كيفية كنت تنفيذ psets--
التي يجب أن تكون 1-6 في Python-- وتوفير مؤشرات
وثائق رسمية للرجوع إليها في المستقبل.
والشيء الآخر الذي هو مهم حول كيفية يتم تعيين هذا الكلام،
سيكون هذا الفيديو على الانترنت، من باب المجاملة CS50،
لذلك يجب أن لا تشعر مثل تحتاج إلى تدوين الملاحظات.
يمكنك دائما العودة والبحث في وقت لاحق كمرجع.
بالإضافة إلى الشرائح تتوفر الآن
في هذا الموقع، والتي ينبغي يأخذك القيام ثيقة جوجل.
انها نسخة مختصرة بعض الشيء ما أنا تظهر على الشاشة.
>> التحذير واحدة دقيق قبل نحن القفز في بيثون 3
هي لغة مختلفة من بايثون 2.
أنها تبدو الكثير من نفسه؛ يوجد الاختلافات التقنية طفيفة جدا
من شأنها أن تتسبب برامج مكتوبة في بيثون 2
لا أن تكون قادرة على أن تنفذ في بيئة بيثون 3.
>> الجهاز يأتي مع CS50 بيثون، افتراضيا أنه يستخدم الثعبان 2.
يمكنك التحقق من ذلك عن طريق الكتابة في سطر الأوامر الخاص بك
--version الثعبان، والتي ينبغي الانتاج 2.7.6 على الجهاز الحالي.
محاولة بيثون 3، والتي لا العمل في الأجهزة،
إذا التخلف بايثون ل2.X.Y، إما على الجهاز أو على الأجهزة الخاصة بك.
يجب استبدال بيثون 3 في أي وقت في هذا الحديث أن أكتب بيثون.
إن كان جهازك تشغيل 2 افتراضيا، نوع
بيثون 3 من أجل أن تكون قادرة على الواقع اتبع جنبا إلى جنب وتنفيذ هذه الأمور.
>> بالإضافة إلى ذلك، سوف أشير لك في الموارد الرسمية الآن.
docs.python.org/3--~~V الحذر أن هذا هو 3 وليس 2--
لديها مراجع مفيدة.
سوف يأخذك من خلال البرنامج التعليمي الكثير من الأشياء نفسها
أن أفعله الآن، إلا في شكل النص.
مرجع مفيد باعتباره مرجع للغة،
ومكتبة قياسي يعطي لك بعض الملحقات
مع وظائف إضافية.
>> حتى برنامج بيثون الأولى.
على اليسار لدينا معيار C، على اليمين، لدينا بيثون.
كنت قد اعترفت هذه المشكلة، انها
واحد من المشكلة الأولى مجموعات في CS50، وهذه
حل باستخدام نفس الحل.
الآن، والسبب أننا أبحث في هذه جنبا إلى جنب
ولذا فإننا يمكن أن ننظر في الاختلافات النحوية.
واحدة من الفيلة في الغرفة ان كنت قد لاحظت الحق
قبالة الخفافيش، هو أن بايثون لا يوجد وظيفتها الرئيسية التفاف حول رمز.
وذلك في C، تكتب حفنة من الملفات، يمكنك ربطها معا،
ويبدأ البرنامج تنفيذ في هذا الشيء دعا الباحث الرئيسي.
>> في بيثون، أن تكتب ملف لك، تنفيذ الملف،
يبدأ البرنامج تنفيذ في الجزء العلوي من الملف.
لذلك سوف تبدأ في الجزء العلوي من الملف
انتقل لأسفل حتى تجد شيئا آخر.
إذا وجدت تعريف وظيفة، وسوف يتم تنفيذ فعلا هذا الرمز،
فإنه ببساطة تحديد وظيفة.
ولكن هنا، عندما أولا البرنامج هو ن يساوي 10،
أول شيء أن هذا البرنامج سوف تفعله هو أخذ هذه القيمة من 10
وضعه في متغير يسمى ن.
>> يتحدث عن هذا الخط، واحد من البعض things-- sorry-- هذا
يعني أن برامج C، سوف اكتبها،
عليك أن تجعل لهم، والتي سوف استدعاء بعض الأوامر رنة،
وبعد ذلك سوف تقوم بتشغيل الناتج قابل للتنفيذ.
برامج بيثون، تقوم بتشغيل نص الملف-- هذا mario.py قد
يكون هذا الملف الذي أنا فقط أظهرت you-- عليك تشغيل هذا الملف
وسوف تقوم بتنفيذ، ومحتويات ذلك
سيتم تنفيذها من قبل مترجم بايثون.
يمكنك القيام بذلك في IDE الخاص بك.
>> حتى إذا كان لدي ملف مرحبا، الذي لديه ببساطة هذه المحتويات.
هذا هو في الواقع بيثون 2، لا بيثون 3، لذلك لا
قلق حول بناء الجملة في الوقت الراهن.
ولكنني سوف تشغيل بيثون، على hello.py، وتشغيله.
>> وهناك طريقة أخرى أستطيع أن استخدام بايثون أن وأنا لن تتعامل مع الكثير في هذا الكلام،
هو إذا أنا فقط اكتب بيثون، فإنه قطرات لي في بيئة حيث
أستطيع أن يطعمه خط بيثون سطرا.
حتى هنا، إذا كنت اكتب في مساحة الطباعة 'مرحبا، العالم ".
اكتب دخول.
وسوف يبصقون لي أن دعم النتائج هذا الخط الفردي على الفور.
>> هذا قد يكون مفيدا.
في هذا الحديث سأفعل الامور على الشرائح.
وهكذا سوف تكون قادرة على متابعة على طول إما هنا، أو عن طريق الكتابة
الملفات الفعلية ومن ثم تنفيذها.
>> ولكن، والذهاب مرة أخرى إلى هذا رمز، شيء آخر
قد تكون لديكم noticed-- جيدا، هناك
اثنين من الأشياء التي كنت قد لاحظت حول هذه الكتل.
أول، وليس أكثر الدنيوية، هو أن بيثون لا يوجد لديه منقوطة زائدة.
>> المنقوطة هي اختيارية في كل مكان وغير مؤذية في كل مكان.
يمكنك إضافتها.
قد تجعل الناس الذين يكتبون الثعبان لحمحم المعيشة في لكم
وراء ظهرك، ل انهم ليس من الضروري.
انهم في كثير من الأحيان علامة على يحتجز أكثر من من C. مصممي اللغة
نرى أنه من أكثر وضوحا بهذه الطريقة وأنه ليس من الضروري أن يعلن
في كل مرة كنت في نهاية السطر.
>> آخر شيء غريب عن هذا ن غير أنه ليس لديه نوع المرفق.
واحدة من القطع السحرية Python-- وانا ذاهب الى نسميها السحر،
ولكن هناك جدا أسباب فنية السبب في ذلك
works-- واحدة من قطعة سحرية من بيثون
غير أن المتغيرات يمكن توسيع أو يتقلص لاحتواء كل ما البيانات
أنواع كنت تريد لهم.
>> لذلك هذا هو 10.
إذا كان لاحقا أسفل I المخصصة لهذا ن 0.5، ان الامر سيستغرق أن 0.5.
بغض النظر عن أنه هو عدد صحيح وهنا تطفو هناك، أي شيء يستخدم هذا ن
و، أكثر أو أقل، تكون قادرة على شوج على طول إذا كان يحصل أي من هؤلاء.
اذا لم يكن هناك بعض حقيقي جدا السبب فإنه لا يمكن استخدام البيانات
اكتب أن ن لديها حاليا، وعند هذه النقطة انها سوف تحصل
مثبتة ورمي خطأ، وهذه الأنواع من الأشياء.
>> ولكن هنا، بيثون في الحقيقة لا يهمني ما
ذلك هو أنني ذاهب إلى عصا في هذا الجملة، مثل، تريد هذا الشيء؟
هذا الشيء في ذلك؟
نعم، انها نوع من شيء.
أنا التمسك بها في نهاية المطاف.
أنه سوف يكون هناك مشكلة في وقت لاحق، إذا شخص يريد استخدام هذه الغاية
لا يمكن التعامل معها.
هذه هي واحدة من كبرى الاختلافات بين بيثون وC
أن يجعل من السهل ل كتابة برامج كبيرة جدا C
ويجعل من الاسهل لكتابة برنامج بايثون صغيرة جدا.
>> وللجملة ليس جدا تختلف في ما تقوم به.
الأمر مختلف قليلا في كيف انه يعبر عنه.
لذلك هذا هو جدا، ما يسمى Pythonic، وطريقة كتابته.
لصف في مجموعة (ن)، وهذا هو مجموعة من الأرقام من 0 إلى n،
بما في القاع والحصرية على القمة.
لذلك فمن من 0 إلى n-1، الذي هو بالضبط ما رمز C يقوم به،
إلا أنه من الأسهل كثيرا لننظر ربما.
>> كتلة ذات الصلة هي لا يفجرها الأقواس،
بدلا من ذلك هو تفجيره هذا تسنن.
لذلك كل من هذه الخطوط هي أربع مساحات إلى اليمين،
أو ما شابه حول عرض الفيل.
وتلك هي تلك التي هي الذهاب ليتم تنفيذها في هذا ل.
إذا كنت لخبط المسافة البادئة حول هذا الموضوع وأنا
دفع ذلك طباعة العودة إلى المسافة البادئة الأصلية،
وأن الطباعة يترك للحلقة.
وعلى النقيض من C، حيث هنا أنا فعلا تحتاج إلى نقل أن ثنائية مغلقة حولها.
>> هذا يعني أنك لا تحصل أخطاء أن القفز في لأنك
وضع هدفين في المكان الخطأ.
يعني ذلك أن تحصل أخطاء أن القفز في لأنك
بادئة خاطئ الخط.
لذلك يجعل المسافات البادئة السوبر حذرا.
نأمل كنت يجري سوبر حذرا مع المسافة البادئة على أي حال،
وحتى هذه ليست أن أكثر من ذلك بكثير من العبء.
>> ولكن على قاعدة أساسية لبيثون، وسيكون لدينا اثنين من هذه
أننا سوف تذهب من خلال من خلال أثناء الحديث،
هو محاولة بناء الجملة الطبيعي قبل النظر أي شيء يصل.
لذلك هذا النحو، ل هذا العدد في مجموعة،
غير مميزة جدا من حيث الأسلوب.
الكثير من الأشياء في بيثون سنرى أخذ هذا النموذج.
>> وحتى إذا كنت الخروج مع كائن الجديد الذي قمت
تعتقد أنك يجب أن تكون قادرة على أعاد على ذلك، في هذا الشكل،
اتضح أنه ربما يدعم هذا الشكل.
نحن لن يذهب فائقة في عمق لأسباب فنية لماذا هذا صحيح.
>> ولكن من المفيد أن يكون الحدس عندما كنت تقترب برامج بيثون،
أن هذا الشيء هو مجرد الذهاب الى العمل.
جربها.
الحذاء سطر الأوامر مترجم، معرفة ما اذا كان يعمل،
الانتقال مع الأشياء، قبل أن تحتاج حتى إلى فتح جوجل ويقول:
ما هو بناء الجملة من أجل هذا شيء معين؟
الكثير من بيثون هل يمكن اكتشاف فقط عن طريق المحاولة.
>> هذا إذا هو أكثر مماثلة لC ثم فوريس هي.
لاحظ أنه لا يوجد بين قوسين.
الأقواس هي، مرة أخرى، غير مؤذية ولكن لا لزوم لها.
هناك القولون في نهاية تماما مثل لالحلقات،
ومرة أخرى، الكتل النسبية بادئة بدلا من يفجرها الأقواس.
هذا آخر هو في الأصل مستوى المسافة البادئة،
وكتلة ذي الصلة بادئة مرة أخرى.
ويعمل هؤلاء تماما كما يفعلون في C.
>> هذا هو في الواقع غاية نفسها.
مرة أخرى، تفقد طباعة حرف واحد الخروج من printf يمكنك تمرير بعض السلاسل.
اتضح السلاسل إما أن تكون وضعت قبالة
بواسطة علامات الاقتباس المفردة أو علامات اقتباس مزدوجة.
ليس هناك فرق، إلا أنه داخل
من علامات الاقتباس المفردة يمكنك استخدامها علامات الاقتباس المزدوجة مع التخلي،
بدلا من الاضطرار إلى الهروب من كل منهم.
وداخل علامات اقتباس مزدوجة، كنت يمكن استخدام علامات الاقتباس المفردة مع التخلي عن
دون الحاجة إلى الهروب منها.
إذا كنت تريد خلط لهم، يمكنك بالتأكيد
بحث عن الانترنت كيفية القيام بذلك.
>> ستلاحظ أن أكثر من هنا، لقد صدر في نهاية = هذا الشيء.
هذا مثال من اختياري الحجة، التي تعد واحدة من تلك الأشياء
أن بيثون تدعم هذا يجعل من المفيد جدا.
حتى الطباعة لديها في الواقع الكثير من الحجج، التي عادة ما تكون
تعيين الافتراضية القيمة، ولكن هنا لدي
قررت لتجاوز واحدة تسمى النهاية.
والسبب أن لدي ل تجاوز ذلك مع سلسلة فارغة
هي أن الطباعة في بيثون، من خلال افتراضيا، يطبع خارج خط جديد
بعد الشيء الذي قلت ذلك أيضا.
>> لذلك هذا التجزئة هي في طريقها فعلا ل طباعة تجزئة في سطر جديد.
وإذا كنت لا تريد تجزئة لطباعة سطر جديد بعد ذلك، ثم لا بد لي من القول
لا تطبع واحد.
ولكن، بعد ذلك، وآخر شيء واحد هذا البرنامج مفقود أن على المرء غير
التضمين في الأعلى.
هو خبز الطباعة في بيثون وذلك أساسا أنه لا يوجد رأس أو وحدة نمطية
التي تحتاج إلى تشمل، على الرغم من إذا أراد
لتشمل أشياء أخرى في السيناريو بيثون،
أود أن تفعل ذلك في format-- مشابهة جدا الكلمات ليست سوى مختلفة قليلا.
>> ذكرت أننا لا تحتاج رئيسي هنا،
ليبدأ بيثون تنفيذ في الأعلى.
إذا أردت أن التفاف هذا في وظيفة، وأنا
أن تفعل ذلك مثل this-- I أن أقول مواطنه اسم الدالة،
الحجج التي قد تذهب هنا وسنقوم رؤية بعض من تلك في وقت لاحق، القولون،
ثم مرة أخرى، وهذا كامل انطلقت كتلة
ما هو التشغيلية منع لتلك الوظيفة.
لذلك هذا هو تعريف وظيفة.
وهناك إعلانا، ثم إلى أسفل هنا، يمكنني فقط استدعاء الدالة.
ومرة أخرى، فإن البرنامج مترجم، بدءا من القمة،
سوف نرى هذا التعريف.
وسوف يتم تنفيذ هذا حتى إلى هنا، وبعد ذلك مثل، يا
الآن كنت قد يطلق عليه، وأنا أعتقد يجب تنفيذه.
>> وهناك شيء وهذا شائع جدا أن نرى في ملفات بيثون،
خاصة ملفات بيثون أن يتم الكشف عنها للجمهور
وضعت by-- وتطويرها و الحفاظ عليها، شيء من هذا النموذج.
وbasically-- هذا حتى ل بيثون، عليك أن تبدأ في الجزء العلوي
ومن ثم تقوم بتنفيذ إلى أسفل، أنا لو كنت فقط كان يسمى ماريو من هنا،
ثم أي وقت أنا تضمين هذا الملف في ملف آخر، لأنني أردت أن استخدام
هو ماريو وظيفة، أن ملف آخر من شأنه أيضا هذه الدعوة إلى ماريو في ذلك.
وعندما ركضت هذا الملف، فإنه سيدعو ماريو.
>> لذلك من الممكن أن أكون فقط تريد تشغيل هذا إذا كان لدي بالفعل
تنفيذ هذا ملف معين.
وحتى أتمكن من الانتهاء من هذه العملية في لغة من هذا القبيل، حيث أن أقول،
إذا كان اسم هذا التنفيذ البيئة هي الرئيسية،
ثم أريد أن تفعل هذه الأشياء.
خلاف ذلك شخص آخر يمكن use-- تشمل بلدي function--
الملف الخاص بي، وفقط للحصول على الوصول إلى هذه الوظائف
دون الحاجة إلى تشغيل الأشياء أريد أن تنفيذ في هذا الملف.
وهذا هو، مرة أخرى، اختياري لكنها شائعة جدا.
>> هذه الأمور هي entirely-- بالضبط نفس الشيء بين C و بيثون،
بالتأكيد في 3.
وأعتقد أن في 2، وعامل القسمة في بعض الأحيان يعطي لكم مرة أخرى يطفو عندما
كنت تعمل على [إينتس]، وإما أردت ذلك أو لم تقم.
ولكن بالاضافة الى ذلك، ناقص، وأوقات العمل تماما مثل التي تتوقعها،
يستثنى خلال أكثر قليلا أنواع.
حتى تتمكن من مضاعفة يطفو من قبل [إينتس]، ومثل هذه الأشياء.
>> مجموعة يعمل بالضبط نفس الشيء.
يمكنك استخدام اثنين من علامات المساواة.
inequals-- أكبر من أو أقل من، هذه الأنواع من things--
المعاني المخصصة لها أن كنت على دراية بها.
>> حيث يستخدم C هؤلاء المشغلين، يستخدم الثعبان أكثر قليلا الإنجليزية
منها قابلة للقراءة.
وذلك بدلا من اثنين، الوات، كنت حرفيا اكتب كلمة "و"، "أو"
ام لا."
كما هو الحال في if-- الخاص بك في عبارات شرطية،
شاهدنا في وقت سابق أن بناء الجملة هذا في C يتوافق هذا النحو في بيثون.
وليس هناك الكثير مختلفة هناك، باستثناء قليلا
من علامات الترقيم في جميع أنحاء الجانبين.
مرة أخرى، حيث C سيكون آخر إذا، يستخدم بيثون أليف،
ولكن هذه هي في معظمها تغييرات في مستوى سطح الأرض.
>> تكرار مثل هذا في كثير من الأحيان كتب في هذا المصطلح في بيثون.
يمكنك صنع هذا النوع من الشيء مع حلقة بينما في الخارج
إذا أردت، لكنك بالتأكيد لم يكن لديك ل.
ومرة أخرى، إذا أردت ل طباعة عناصر في صفيف
قد تفعل ذلك بهذه الطريقة.
واحدة من الأشياء متعة حول بيثون الرغم من ذلك،
هو أنك لا تحتاج لاستخدام هذا النموذج،
ويمكنك استخدام واحد قليلا أكثر أناقة.
كنت أقول لفي آرى.
>> وذلك بدلا من الذهاب هنا وتشغل المرتبة الأولى مقارنة بالمؤشرات،
ثم سحب العناصر الفردية،
كنت أقول للفي الواقع مجرد دهس العناصر نفسها.
وبعد ذلك كل ما تفعلونه داخل يمكن أن تعمل مباشرة
على العناصر التي هي متعة جميلة.
وسنقوم see-- سنستخدم هذا المصطلح مرارا وتكرارا
ونحن من خلال المشي التعليمات البرمجية.
>> وهذا هو، مرة أخرى، على سبيل المثال لشيء وسوف أكون
استدعاء بيثون السحر، رغم أن هناك أسباب فنية جدا لماذا يعمل.
وهناك أمور فنية تحتاج إلى أن يكون صحيحا حول مجموعة من أجل
لهذا العمل من وراء الكواليس.
الشيء هو أن معظم أنواع التي كنت تتوقع هذا العمل
لقد كان هذا تنفيذها ل كنت في اللغة المضمنة.
>> شيء آخر أنه سيكون من الرائع إذا كان هذا العمل في كل لغة،
ولكن هناك بعض الأسباب التي لا يمكن، طباعة هذه الأوقات سلسلة هذا الرقم.
تبين في بيثون، وهذا يفعل بالضبط ما كنت ترغب، الذي هو مجرد متعة،
ويعني ما في وسعنا في الواقع لحد من هذا البرنامج، ومرة ​​أخرى mario.c.
بدلا من بالتكرار الكثير، ما في وسعنا نقول فقط، أريد بعض عدد من الأماكن،
أريد عدد التجزئات، وبعض التجزئة في نهاية المطاف.
ومرة أخرى، ونحن نستخدم هذا الشكل.
>> هنا، نحن يمر في متغير بهذه الطريقة.
مرة أخرى، نحن لسنا بحاجة إلى القول ما نوع المتغير هو عليه،
والمرة الوحيدة التي سنقوم على أخطاء هو في وقت التشغيل.
عندما يحاول شخص ما لتمرير شيء في،
انها سوف تأتي في وظيفة ما يرام.
إذا كنا إسفين هنا لأن هذا ليس هو الشيء الذي يمكنك إنشاء نطاقات أكثر،
سوف تحصل على خطأ وقت التشغيل هناك، وسآخذ لتصحيح الأمر على هذا النحو.
لكن في الوقت نفسه، ليس لدي أن نكون حذرين جدا حول ما
يحصل تمريرها في، طالما في الفعلية تنفيذ كل شيء يعمل بشكل نظيف جدا.
>> حتى أنني يمكن أن تجعل هذا قليلا نظافة
باستخدام معينة دالة مضمنة في على الجمل، والذي ضبط الحق.
هذا هو مجرد وظيفة مفيدة الكذب حول المكتبة.
انها في وثائق اذا ذهبت للبحث عنها.
وأنا أقول، حسنا انا ذاهب ل هذه السلسلة، وبعض عدد من التجزئة،
وأود أن يبرر حق وحة it-- بها مع المسافات لتكون بهذا الطول.
>> مرة أخرى، وهذا هو في الوثائق، التي تجمع us--
أنا فوق الواقع من خلال these-- وهو ما يقودنا إلى القاعدة الثانية لدينا
لPython-- المكتبة القياسية طرق وظيفة هي أصدقائك.
وانها غالبا ما يستحق في حين الخاص بك ليذهب يبحث عن أتساءل
إذا كان هناك شيء أن يفعل هذا فقط.
هناك على الأرجح.
إذا كنت ترغب في وسادة من سلسلة، إذا كنت
أود أن أغتنم الظهر نصف سلسلة، إذا كنت
تريد البحث من خلال سلسلة، إذا كنت ترغب في سحق بضعة أشياء
جنبا إلى جنب مع سلسلة مع الفواصل بينهما،
هناك مكتبة القياسية وظائف للقيام بذلك.
>> ويجعل حياتك أسهل إذا كنت تستخدم لهم
بدلا من طرح كل شيء بنفسك
في خمسة أسطر من التعليمات البرمجية هنا، خمسة أسطر من التعليمات البرمجية هنا.
الذي يبدأ حقا في إضافة ما يصل إلى الوقت الحقيقي.
>> واحدة من الأشياء المثيرة للاهتمام حول كيفية هذا يحصل على استدعاء.
ستلاحظ أن هناك شيئا نقطة.
لدي بعض وجوه على اليسار، ثم دعوت نقطة وظيفة.
هذه هي واحدة من النماذج التي بيثون يستخدم لربط الطرق إلى الكائنات.
سوف نتحدث عن ما هذا هو لفترة وجيزة جدا في النهاية،
ولكن نعلم أننا يمكن أن تعمل على حد سواء الأشياء من خلال اتخاذ تلك النقطة الشيء قائلا
أيا كان، أو عن طريق الاتصال دالة التي تأخذ
هذا الكائن وبعض الحجج الأخرى.
>> لذلك فان هذه على حد سواء بطرق الحصول على القيام به الأمور في بيثون.
وإذا كان على وجه الخصوص يتم تنفيذ وظائف
في هذا النمط أو ذاك الاسلوب هو ما كنت
ينبغي أن ننظر حتى تحصل على تعليق لأي واحد فمن المحتمل الوقوع.
هناك أكثر أو أقل تماسكا الفلسفة الكامنة وراء بيثون
ان كنت استيعاب معظمها عن طريق الكتابة كثيرا في ذلك.
عند نقطة ما، أي واحد من هؤلاء وسيتم تنفيذ شيء ما
يصبح طبيعيا.
الآن، انها مجرد شيء أنت تعلم كما يمكنك معرفة
كل شيء على حدة.
>> المكتبة القياسية حتى وظائف هي أصدقائك،
وأنها تتيح لك إرسال الأشياء التي تناول هذا مساحة كبيرة قريبا حقا،
ذكية حقا.
وهذا هو في الواقع ربما أكثر مقروءا، وأنا أقول، من برنامج C
هناك.
ناهيك عن حقيقة أن ذلك باختصار يمكنك تناسب الفيل كله
في المساحة التي قمنا بحفظها.
>> شيء آخر، وهذا هو التنفيذ من ماريو هذا هو نقطة C، وهو ما أعتقد
هو أقصر يمكنك الحصول عليه.
لم يكن لديك الباحث الحصول عليها، ولكن انها رموز الصعبة بقيمة 10
بنفس الطريقة التي هذا واحد لا.
وتبين أن هذا واحد في الساعات في 84 حرفا، في حين بيثون هو 64.
وهذا بلا حدود أكثر قراءة من هذه القمامة هنا.
لذلك بيثون هو أكثر كفاءة في الفضاء.
انها أقل كفاءة قليلا في الوقت المناسب، ولكن ليس بكثير.
>> قوائم هي أمر مهم في بيثون.
لم نر لهم، لكنهم كما تعمل كثيرا صفائف تفعل في C.
حتى هنا، يمكنك تعريفهما، يمكنك تمرير لهم في شيء.
الآن الساحات تحمل ل مجموعة من هذه الأمور.
مرة أخرى، ونحن لم يعلن عنها نوع، ولكن إذا حاولنا من أي وقت مضى على استخدامها،
كل ما كنت تتوقع أن العمل على مجموعة من الأعداد الصحيحة
يجري العمل على مجموعة من الأعداد الصحيحة.
>> هذا هو الشيء الذي لا يمكنك الاطلاق
القيام به في C، لأن الذاكرة ومن ذلك على أيدي،
ولكن من السهل جدا القيام به في بيثون.
إذا كنت تريد مجموعة بلدي لتكون أكبر، لا يسعني إلحاق عنصر إليها وأنها على ما يرام.
>> ما يجري وراء الكواليس؟
سوف يذهب مترجم الخروج والحصول على بعض الذاكرة،
وربما سوف تحصل على قليلا من ذاكرة إضافية،
لذلك أنا لا حتى أنا لم يكن لديك لrealloc في كل مرة.
ولكن كم لديك أكثر ذاكرة أنها لا تحتاج؟
هذه ليست قرارات أن يكون لديك لجعل،
هذه هي القرارات التي مترجم سيفعل.
>> وهنا نرى مدى يمكن اتخاذ حجتين،
لكنها ما تزال مستمرة لتكون شاملة من أعلى لذلك نضيف 1 هناك.
هذا هو المصطلح، وهو أكثر طريقة ذكية لكتابة مثل هذه الامور.
انها دعت القائمة على الفهم، وهنا ما نقوله
وأود أن وضع في مربع I لكل قيمة لي في هذا النطاق.
هذا الشيء على اليمين يمكن أن تكون آخر مجموعة، وهذا الشيء على اليسار
أن يكون أي وظيفة معينة التي من شأنها أن تأخذ في الاول كمتغير
وتعطيني بعض النتائج.
>> ما انا ذاهب الى القيام به هو، انا ذاهب الى بناء
صفيف كل هذه الأشياء لكل قيمة في هذا النطاق.
وهذا هو السوبر أنيق، سوبر قصيرة، ومن الواضح جدا ما يعنيه.
هذه هي واحدة من things-- هذا هو مرة أخرى،
واحد of-- رمزية جدا لل الأسباب أن الناس مثل بايثون.
إذا كنت ترغب في البرمجة مثل هذا، ثم بيثون
هي اللغة التي قد ترغب في التعلم.
>> ومرة أخرى، هناك تقنية أسباب يعمل هذا.
ولكن بقدر ما نحن قلقون، لدينا أكثر أو أقل لا يهمني.
>> لذلك إذا كنت ترغب في طباعة القوائم، بعض من نفس التعابير مفيدة.
لأنني في هذا النطاق، استطعنا مؤشر خلال كل الأشياء
ومن ثم طباعتها جميعا.
وسترى لين هنا.
إذا كنت أريد من أي وقت مضى للحصول على طول المصفوفة، وهذا
من السهل جدا في بيثون، فإنه من الصعب جدا في C.
وهذا من شأنه طباعة بالضبط ما كنت تتوقع أن.
نحن يمكن أيضا، كما رأينا من قبل، تكرار عبر العناصر في مجموعة
مباشرة، وبعد ذلك فقط الحديث عن لهم، بدلا من الاضطرار للمؤشر
مرة أخرى في مجموعة في كل مرة.
>> وهذا هو الشيء الذي يمكنك القيام به.
وذلك في C، إذا كنت تسأل عن شيء مثل هذا، الطباعة ويقول،
هذا هو مجموعة من أعداد صحيحة.
هذا هو بالتأكيد ليست سلسلة، وأنا لا يمكن طباعته.
الثعبان أكثر أو أقل لا يهتم.
انها مثل، هل هناك طريقة بأنني يمكن أن يتحول هذا إلى سلسلة؟
نعم، سأفعل ذلك.
ولذا فإنني سوف مجرد طباعة هذا الخروج.
هذا يعني أنك يمكن تفعل أشياء like-- هذه
أكثر من الأجزاء الصلبة اللعبة من خمسة عشر، وكتب
لفترة وجيزة جدا في بيثون.
>> سترى أن هناك قليلا of-- هنا
لقد يلقي عدد صحيح إلى سلسلة، ويجب أن تفعل ذلك يدويا.
وانا ذاهب لإضافة إلى سلسلة أخرى،
أو غير ذلك يحصل الخلط بيثون.
ولكن سواء عندما كنت إضافة سلسلة إلى عدد صحيح،
أنا أفترض للحصول على عدد صحيح الظهر أو سلسلة الظهر؟
ولكن مرة أخرى، إذا كنت للتو استدعاء شارع على شيء،
ويمكن في أي ممكن يتم تحويل العالم إلى سلسلة،
فإنه من المحتمل أن يكون تحويلها إلى سلسلة.
>> هنا، ونحن نرى استخدام قائمة متداخلة الفهم
على اليسار، وبعض الفهرسة، التي تماما كما كنت استخدامها لذلك،
وبعض طباعة من الأشياء.
بعض مرة أخرى، التي حددناها وظائف وسوف ندعو عليهم
في main عندما كنا في الواقع الحصول على الملف.
عودة تعمل تماما مثل كنت نتوقع من العمل مع C. البحث،
يمكننا اقامة أشياء مثل this-- هنا قائمة على الفهم
هناك واجب إلى متغير، ويمكننا أن نفعل فعلا أسهل.
نحن لسنا بحاجة لكتابة البحث، لأن مدمجة في اللغة
هو إذا كان هذا الشيء هو في هذه المجموعة.
العودة الحقيقية، وإلا عودة كاذبة.
لذلك هذا هو مجمل العثور عليها.
>> مجمل النوع ينطوي يدعو النوع،
التي is-- هناك تطبيقات هذا في صلب مكتبات معينة C.
إذا كنت تحب هذا نوع من الخلف، ل
يمكن تجاوز هذا اختياري الحجة في الاتجاه المعاكس مع صحيح.
وإذا كنت ترغب في فرز أكثر سلاسل، وهذا بنيت في كذلك.
>> ولذلك فإن هذا لا يعني أن هذه هي الأشياء التي عليك القيام به كل يوم،
ولكن الفكرة هي أن هذا هي فلسفة بيثون،
أن كل هذه الأشياء التي كنت نوع من تريد هي مدمجة في القيام به.
ومعظم الوظائف القياسية، ذلك النوع، طول، أيا كان،
دعم مدخلات الأكثر منطقية من الناحية المنطقية.
استدعاء ليون على مجموعة واحدة طريقة استدعاء ليون في سلسلة.
كنت multiply-- لك فرز السلاسل بنفس الطريقة التي فرز المصفوفات.
>> معظم الوظائف القياسية أن الناس بناء،
ومعظم طرف ثالث المكتبات أن الناس
بناء، لأنهم يقلدون تصميم المكتبة القياسية،
يمكن أن يسمى على كل ما كنت مثل، لماذا لم يؤد هذا العمل فقط،
في C. أكثر أو أقل، انها ستعمل في بيثون
لأن الناس يعملون وراء شخصية ما هو الشيء ثم تعمل
على نحو ملائم على ذلك.
ذلك مرة أخرى، خلفية تقنية، ولكن يجعل حياتنا أسهل كما المبرمجين.
>> حتى هنا ملف I / O. ملف I / O لديها الكثير من الأشياء الصغيرة التي تجعل الأمر معقدا،
وهكذا هناك موارد الانترنت، ولكن باختصار،
استدعاء مفتوحة على ملف الاسم مع نوع معين.
بحيث نقرأ والقراءة و الكتابة، والكتابة أو إلحاق.
تقرأ على عدد معين من شخصيات من ولك طباعة تلك،
ستحصل مرحبا!
أعني، مثل هذا الملف زيارتها مرحبا!
في ذلك، والدعوة إلى القراءة، وما سوف تحصل على العودة
هي سلسلة الذي لديه كل من بقية مجموعة،
أو كل ما تبقى من الملف.
إذا كنت استدعاء قراءة مرة أخرى، كنت في نهاية الملف،
وهكذا لم تحصل أي شيء وكل ذلك عليك إغلاقه.
مرة أخرى، وهذا هو .close بدلا من إغلاق الملف، لأنه سيكون في C.
هذا هو أكثر أو أقل لو هي شيء، وكنت تريد لو لإغلاق.
ولكن الملفات الأساسية I / O ليس معقدة بشكل خاص.
مرة أخرى، إذا كنت ترغب في فتح ملف، إذا كنت ترغب في قراءة خط معين،
يمكنك الخروج من خاصة line-- هناك بنيت الإضافية لذلك.
إذا كنت ترغب في إرسال بريد الشيء، يمكنك إرسال هذا.
إذا كنت ترغب في إرسال من فرد لدغ، يمكنك كتابة تلك.
وإذا كنت ترغب في تكرار على غرار ملف
بشكل فردي، كما فعلنا في قطعة من قبل بضعة أسابيع، يمكنك أن تفعل ذلك ل.
مرة أخرى، معظم الأشياء التي كنت ترغب في أن تكون قادرة على تكرار عبر
دعم بالتكرار عليها.
في الثعابين، ملف هو ربما الشيء الذي أود أن تكرار عبر سطرا سطرا.
إذا كان القاموس من الكلمات وكنت
في محاولة للحصول على تلك فرد كلمات بها، ثم، في هذه الحلقة،
خط انها ستكون كل كلمة في المقابل، وهذا
سوف يتم تنفيذه لكل خط في الملف حتى نهاية الملف.
ومرة أخرى، إذا كنت تطبع كل خط، خطوط تأتي مع خطوط جديدة،
لذلك أنا وضع نهاية العودة إلى شيء من هذا القبيل.
ثم كنت الحصول على محتويات الملف الخاص بي.
>> الشيء الثاني الذي يعمل في بعض الطرق مثل القوائم، وفي بعض الطرق
كشيء جوهري اقوى،
هي القواميس، التي هي في الحقيقة بارد لاستخدام ولكن يتم تجزئة الأساس
الجداول في تمويه.
يمكنك إنشاء واحد باستخدام بالضبط حرفين، الذي هو رائع
إذا حاولت تنفيذ جدول تجزئة لمجموعة مشكلتك،
أنت تعرف الكثير من الألم الذي يمكن أن يكون.
ولكن الناس قد فعلت ذلك، وفعلت ذلك بشكل جيد،
ان لم يكن لديك ل تقلق بشأن ذلك بعد الآن.
>> ثم يمكنك إدراج الأمور الفردية.
tables-- تجزئة أو القواميس لا سيما
يهمني ما كنت تخزين في نفوسهم.
حتى إذا كان بعض الإدخالات أرقام، وبعض الإدخالات القوائم،
إذا كان بعض الإدخالات القواميس الأخرى، وبعض الإدخالات الجمل،
الثعبان لا يهتم كثيرا.
>> مرة أخرى، وإذا ذهبت إلى أنها تتوقع سلسلة وما تحصل عليه مرة أخرى
عبارة عن صفيف، وهذا هو مشكلتك.
وربما يكون خطأ من اعتقد انه كان وضع الامور
في القاموس، وربما هذا كان لك.
إذا كان هذا شخص آخر، ونأمل كانوا
تصرفت بشكل جيد حول ما ذاهبا في القاموس
ولم يترك أي المزالق لك الوقوع.
>> إلا أن الوظائف القياسية تعطيك عودة الأمور حسن تصرف.
لذلك يقولون هذه العوائد تأييد قاموس الجمل،
ثم كل شيء وأنت تسير للخروج من غير سلسلة.
إذا كنت تفعل بعض من هذا والرحلات لكم، حسنا، هذا قد يكون عليك.
الثعبان يعطي بالتأكيد لك ما يكفي حبل لشنق نفسك، إذا كنت ترغب.
الآن يمكننا طباعة فرد عناصر من هذا وهذا يعود
بالضبط ما كنت تتوقع.
بالضبط ما كنت تتوقع، أعتقد، هي العبارة التي أنا باستخدام الكثير،
ولكن هذا أكثر أو أقل كيف يعمل بيثون.
إذا كنت تسأل عن شيء وهي ليست ذلك، سوف بيثون طرد خطأ
وسوف ترك لكم من أيا كان البرنامج الذي كانت فيه.
انها سوف طباعة فعلا مزيد من المعلومات من ذلك،
انها سوف نشير you-- انها سوف إضافة سطر، وهكذا.
>> ومرة أخرى، ربما نريد تكرار أكثر من القواميس
وتجد كل شيء في ذلك.
نحن هنا بالتكرار عبر شيئين في نفس الوقت.
ولذا فإننا سوف نفعل ذلك مع مفتاح، القيمة، ولكن بعد ذلك بطباعة كل هذه.
>> وإذا أردنا أن cast-- إذا هربنا هذا الواقع،
سيكون لدينا بعض المتاعب ل on-- عندما ذهبنا مع ديفيد،
فإنه لا يمكن أن add-- إذا لم نكن يطرح للسلسلة الأولى،
نحن لا يمكن أن أضيف أن مجموعة سلاسل على سلسلة.
ولكن إذا كنا ألقها إلى سلسلة، وحصلنا على شيء
مثل هذا، وهو ربما ما نود أن يقرأ.
>> وهذا هو مدقق الإملاء.
نقرأ فقط في الأشياء.
حتى نتمكن من قراءة في كلمات فردية كخطوط.
نحن بقطع الأخير الشيء، لذلك القولون ناقص 1
chomps قبالة الشيء الأخير الذي we-- الحرف الأخير من السلسلة.
سوف نقول.
OK، كل واحد من هؤلاء يحصل إدراجها في هذا القاموس،
التعيين إلى قيمة 1.
نحن لا سيما يهمني ذلك واحدة،
لكنه هناك فقط أن أقول، يا جيدا، هذا الشيء سوف أضع في القاموس.
لأن في وقت لاحق ما نحن عليه تنوي القيام به هو نحن
أريد أن أقول، حسنا، إذا كان في القاموس على الإطلاق.
>> مرة أخرى، هذا الاختيار ل عضوية تصل التشغيل
باستخدام مختلف تماما الخوارزمية من أنها سوف في القائمة،
لكننا نسميها بنفس الطريقة التي بعض تلك طلاء بيثون السكر
الأشياء بحيث انهم أسهل للاستخدام.
ومرة أخرى، رأيناه أشياء مثل هذا من قبل.
هذا هو العثور في الأساس، أو انها بالضبط نفس بناء الجملة
كما تجد، ولكن تعمل على بنية مختلفة تماما.
ونحن لا نهتم بشكل خاص.
حتى تلك هي الأشياء التي كنت طلب منهم تنفيذ لمدقق الإملاء.
وعلى هذا المعدل، ونحن في طريقنا للحصول على أكثر أو أقل كل من psets القيام به.
>> الحضور: ول في الأساس مجرد يعود
كما وردت بشكل غير صحيح إذا لم يحدث ذلك تطابق شيء في القاموس؟
ROSS RHEINGANS-يو: نعم، نعم.
وهكذا، وهذا هو تكييف مشكلة تعيين
الذي يطلب منك أن تفعل ذلك بالضبط.
>> الحضور: لماذا هو خط ناقص 1 هناك؟
ROSS RHEINGANS-يو: ذلك عندما كنت بالتكرار
أكثر من ملف يسأل عن خطوط، خطوط
تأتي مع حرف سطر جديد في نهاية it-- ناقص 1
هو فقط للتسوق تلك قبالة.
وهذا هو مرن بشكل خاص طريقة فهرسة إلى الأشياء.
حتى إذا كان لديك سلسلة، وترغب، وأيضا أنا
سوف تبدأ في ثلاثة أحرف وانا ذاهب للذهاب حتى النهاية.
وسوف 3 القولون نفعل ذلك لك.
إذا كنت مثل، أريد أن أبدأ في تبدأ والذهاب إلى ناقص الماضي 1
حرف والقولون ناقص 1.
وإذا أردت أن تذهب من الثالث الى ناقص أولا،
ثم كنت أقول 3 ناقص 1.
>> بالإضافة إلى ذلك، إذا كنت ترغب في مؤشر إلى الأشياء عد من الخلف،
كنت مؤشر فقط في بأرقام ناقص.
ولأن، حيث C سوف تنفجر أو ربما
تغذية لك ذاكرة الأخرى التي لم يكن لديها الوصول إلى سماع يمكنك القول ناقص 1
يعني أخيرا و1 حرف في السلسلة.
>> الوحدات هي version-- هي النظير للمكتبات في C
وهي مفيدة لكثير من الأشياء.
وهناك الكثير من الأشياء التي تريد تريد أن تفعل في بيثون،
إلى جانب بسيطة التلاعب من المتغيرات،
كنت ترغب في ربط في المكتبات أكبر مع أكبر
واجهات وأكثر من ذلك قدرات للتفاعل
مع أجزاء أخرى من العالم.
تميز الكلية هي واحدة من تلك مع مجموعة من الأدوات
التي هي مفيدة للتفاعل مع النظام نفسه
وسوف استيراده مثل SYS الاستيراد.
>> هناك مزيد من الوثائق من هذا، والذي يمكن أن تذهب هنا،
أو يمكن أن تجد على جوجل بواسطة غوغلينغ SYS بيثون.
كنت اكتب في دخول.
الحلقة الأولى ستكون وثائق في بايثون 2،
الرابط الثاني هو الذهاب الى يكون بيثون الوثائق 3.
>> وإذا كتبنا من ملف، التي بدت مثل this-- إذا على وجه الخصوص، ونحن
أبحث في التشغيل على وسائط سطر الأوامر،
كما علمنا أن تفعل جدا في وقت مبكر من هذه الفئة.
هذه ليست صعبة. يمكنك الخروج ARGV،
التي تعد واحدة من تلك الأشياء الذي تنفذه تميز الكلية.
ليست بنيت في ذلك ل حزمة قاعدة، ولكن مرة أخرى،
يمكن تمديده عن طريق استيراد هذه الوظيفة من تميز الكلية.
عليك أن نسميها تميز الكلية.
ايا كان.
هنا هناك ARGV.
هناك في الواقع أي ARGC في تميز الكلية، لأنك
يمكن الحصول عليها بسهولة من خلال الدعوة ليون.
ثم أننا المطبوعة بها، ثم نحن ركض على موقعنا echo-args.py المحطة.
نعود صفيف، التي هي هذه الحجة الأولى.
مرة أخرى، وهذا هو ARGV 0، والذي هو اسم الشيء الذي حصلت يسمى.
إذا كان لنا أن يطلق عليه مع إضافي الحجج، كنا الحصول على تلك العودة.
هذه هي طريقة واحدة للحصول على وسائط سطر الأوامر.
إذا كنت تريد الأعلام حيث تقوم بدورها أشياء معينة أو التجاوز
افتراضي معين، هو argparse صديقك.
ومرة أخرى تجد أن الانترنت في بيثون argparse في جوجل.
>> وهناك زوجين من فائدة الوحدات التي تجد نفسك باستخدام
ومرة أخرى، إذا كنت تنفق أي وقت هذه اللغة المستوردة jsons
لقراءة ويخرجون من سلمان الملفات، وليس بهذا التعقيد.
يمكنك فتح ملف، قمت بالاتصال json.load على هذا الملف وعودتك شيء.
ما هو هذا الشيء؟
انها كائن سلمان.
حيث له أن سلمان مجموعة، بيثون ديه المصفوفات.
حيث أن سلمان له صفائف النقابي، في بيثون
القواميس، سلاسل، والأرقام، وهلم جرا.
تريد تفريغ أنه من أصل، كنت فتح ملف جديد، يمكنك استدعاء تفريغ،
والأحمال ومقالب ل الدخول والخروج من السلاسل.
>> وبالمثل، يحصل على استدعاء المخلل في الأساس نفس واجهة.
انها قليلا أكثر فائدة إذا كنت إلقاء الأجسام بيثون.
لذلك إذا كنت أريد من أي وقت مضى لإنقاذ نسخة من الوضع الحالي
متغير من أجل مستقبل تشغيل البرنامج الخاص بك،
المخلل هو في بيثون مكتبة للقيام بذلك.
>> إذا كان لديك أي نوع من المتغير الذي يمكن أن يكتب بها
في كلمات مثل والحروف و bytes-- مثل هذا القاموس،
يمكننا أن أكتب، ونحن يمكن أن تدونها كما
مثل كائن سلمان، الذي كان حرفيا هذه الأحرف.
ومن ثم سيكون من السهل جدا ل لإنسان لفتحه up-- فتح
وقراءتها.
إذا لم نكن على وجه الخصوص يهتمون البشر قراءته،
يمكننا أن حزمة أكثر كفاءة في النماذج التي يمكن لاحقا مفتوح
أو يمكن أن يكون مبالغا في وقت لاحق.
وهذا يوفر 80٪ من المساحة التي قد الأشياء الخاصة بك
إذا كنت تأخذ كتب بها الكتابة العاديه.
>> استدعاء المخلل كثيرا نفس way-- تفريغ، تحميل،
ثم تحصل على الأشياء الخاصة بك مرة أخرى.
لذلك إذا كنت تكتب جدا برامج بيثون قصيرة
ترغب في حفظ الدولة، ومن ثم قراءة اعادتهم في وقت لاحق، مثل هذه الامور
هم أصدقائك.
هل يمكن أن جدا بسهولة رميها كما سلمان.
معظم الكائنات بيثون يمكن تفريغ وسلمان
إذا كان هناك أي أمل في أن هيكليا أنها يمكن أن تكون ممثلة بهذه الطريقة.
>> هذه ليست سوى غيض من فيض على وحدات التي هي مفيدة.
هكذا نظام، نظام التشغيل، المعالجة المتعددة، هي نوع من حقوله المنتجة الأساسية للأشياء
نحن بحاجة إلى التفاعل مع نظام التشغيل ونظام الملفات،
مثل os.isfile، os.isdirectory، os.makefile، وهذه هي أصدقائك.
إذا كنت تريد أن تتفاعل مع نوع ملف معين،
سلمان، المخلل، CSV.
إذا كنت ترغب في التفاعل مع الويب صفحات، urllib للحصول على HTTP
الصفحات. bs4-- BeautifulSoup-- انها محلل رائع لHTML.
تشغيله على HTML ولك الحصول على هذا الكائن مجموعة متداخلة الآن،
والتي يمكنك اجتياز أكثر LOOKIN، مع مثل فقط تبحث عن
إذا، هو، في، وهي رائعة.
>> هناك حفنة من حزم لrunning--
لفعل أشياء لا سيما ماثي.
حتى إذا كنت تريد أن تتضاعف، عكس، وتحويل المصفوفات،
يستخدم numpy قبل الناس في جميع أنحاء العالم لذلك.
scipy هو أكثر فائدة الأدوات في هذا الاتجاه.
تعلم الآلة sklearn--، معالجة اللغة الطبيعية،
السوبر الاشياء المفيدة، يحصل تنفيذها في بيثون في كل وقت.
>> ومرة أخرى، ويأخذ قليلا أطول لwrite-- آسف،
يستغرق وقتا أطول قليلا لتشغيل، ولكن السبب أن المهندسين الحقيقي تميل
استخدام بايثون لأنك تميل إلى أن تكون سدت عليك كتابة رمز، بدلا
من جهاز الكمبيوتر الخاص بك تشغيل التعليمات البرمجية.
حتى إذا كنت تريد الذهاب لإرسال بريد البرنامج الذي الكثير من الناس الآخرين
تنوي استخدام إلى الأبد، مثل لينكس، ل
قد الكتابة في C. إذا كنتم أريد أن أكتب محرك حساب،
قد يكتب في بيثون إذا كنت في حاجة لتغييره كل بضعة أشهر.
وبعض الناس أنه يكتب في C لأنهم من هذا القبيل.
>> لذلك رأيناه SYS استيراد باعتبارها وسيلة للحصول على الأشياء
للحصول على وحدة في البرنامج.
يمكنك أيضا استيراد أنها كنية، إذا كنت ترغب.
مرة أخرى متعدد المعالجة هي الألم ل اكتب في كل مرة، حتى استيراد نائبا
وبعد ذلك في أي وقت كنت استخدامه في البرنامج،
كنت أقول mp.process، أو ما إلى ذلك.
إذا كنت ترغب في استيراد فقط شيء واحد،
حتى urllib لديه شيء يسمى طلب، لذلك يمكنك فقط استيراد ذلك.
في وقت لاحق، وسوف لا تحتج بأنها urllib.request، ولكن مثلما طلب
بنفسها.
>> ويمكنك استيراد كل شيء من وحدة نمطية إذا كنت ترغب.
هذا هو أحيانا ليس idea-- جيدة هذه عادة ليست فكرة جيدة، في الواقع.
لأنك very-- لأنه إذا كان أي شيء في هذه الوحدة لديه الاسم الذي
يريد استخدام في مكان آخر في البرنامج الخاص بك، فإنك لا تستطيع ذلك.
>> وأنها ليست دائما واضحة ان كان هذا هو الحال.
من أجل التأكد من أن ما كنت تقوم به كان آمنا،
تحتاج إلى فتح وحدة وترى كل
من الأسماء التي تنتهي في there-- جميع وظائف،
كافة المتغيرات التي تعيش في تلك الوحدة،
لأنك بذلك كل من لهم في مساحة الاسم المحلي.
>> من الناس القيام بذلك.
ويوصى عموما أنك لا تفعل هذا.
ولكن الناس كل هذا الوقت لأنهم
كسول ولا تريد أن اكتب من النائب.
أي شيء، من أي وقت مضى.
>> كل هذا الحديث عن وحدات أحضر لي في جميع أنحاء لحديث قصير
على الطريقة التي تصميم البرامج في بيثون.
الخطوة الأولى هي أن تحقق لمعرفة ما إذا كان أي شخص آخر قد فعلت الشيء،
أو الانتهاء من 90٪ من شيء.
وهناك احتمالات ربما لديهم، ولك يجب أن يذهب للحصول على شيء وتشغيل هذا.
أو إرسال بريد المجمع حوله لتكييفه مع الغرض الخاص.
انها فقط بعد أن لديها فشل أن كنت ثم
على المضي قدما وwrite-- البدء في التفكير كيف سيكون وضع هذا الشيء معا.
هناك الكثير من الاشياء هناك، وهذا هو
واحدة من أكثر فائدة أشياء عن بيثون.
مثل اللغة هي أنيقة، واللغة
هي سهلة الاستخدام، ولكن أيضا ل انها أنيقة جدا وسهلة الاستخدام،
كان الناس يستخدمونه ل وقت طويل وهناك الكثير من الاشياء
الى ان هناك ما يمكن تسخير للاستخدام الخاص بك.
>> حتى القاعدة الأخيرة من بيثون هو، شخص ما آخر ربما قد كتب بالفعل
وحدة نمطية لذلك، شخص آخر بالفعل
ربما كتب مكتبة لذلك.
قبل أن تحاول أن تفعل شيئا، والنظر لمعرفة ما إذا كان قد تم تنفيذه.
انها ليست بالأمر الصعب.
جميع الوحدات التي أضع من قبل، ربما مع استثناء واحد،
تأتي مثبتة مسبقا في كل تركيب بيثون القياسية.
وذلك مع دعوة استيراد أيا كان، كنت
يكون كل ذلك وظيفة في متناول يدك.
>> بداية لانهاء هذا الحديث، وهناك عدد قليل من الأشياء
التي اغادر مربعات سوداء ونوع من التغاضي عن،
وهناك عدد قليل من الأبيض يكمن أن لدي وقال انه من اجل الصدق،
وسوف أكون ما لا يقل عن النقطة هنا، حتى لو أنا لن
الذهاب فائقة في عمق كل منها والتفسيرات الفنية.
>> وهناك الكثير من الأشياء بعد أن قمت دعا السحر
ما أشخاص آخرين سيدعو البرمجة الشيئية.
لذلك هناك الكثير من things-- من المتغيرات هي في كثير من الأحيان لا
بايت بسيطة وكانوا جالسين في، الذاكرة، ولكن هي معقدة للغاية
الكائنات التي لديها الداخلية دولة حول المهام والكثير
متغيرات خفية، والكثير من وظائف الخفية، التي
يتيح لك تحويلها إلى سلاسل، الذي يتيح لك تكرار عليهم.
وإذا كنت writing-- والسبب أنهم
لديك كل هذه الوظائف الغنية لأن people--
مهندسي language-- قد ذهب
من خلال ولكل مستوى وجوه، وضعت في وظائف
أقول هذا هو كيف أن هذا هو كيف هذا هو الذهاب الى العمل
إذا كان هناك من يريد تكرار أكثر من ذلك.
>> لذلك كل شيء أن شخصا ما قد ربما ترغب في تكرار أكثر،
تمت كتابة المنطق في يدويا على الطريقة التي كنت
من المفترض أن تكرار عبر هذا الكائن.
كل ما قد ترغب ربما تصب سلسلة تمت كتابة المنطق.
هذه هي وظيفة أن استدعاء إذا تريد تفريغ هذا إلى سلسلة.
هذا هو السبب في أنك يمكن دعوة ليون على الأشياء، وهذا
هذا هو السبب الذي يمكن أن نطلق عليه في، وهذا هو ماذا يمكن أن نطلق على كل شيء إذا كان في
ان كنت تريد، ل تلك كلها حاملين معهم،
والدراية التقنية للقيام بذلك.
>> هذا هو الشيء الذي أنا سوبر لن يذهب إلى.
ولكن لشيء في القائمة هو بمهارة تختلف عن النمط C للحلقات،
ويمكنك أن تقرأ كل شيء عن ذلك على الإنترنت إذا كنت مهتما.
هناك جانب مظلم لجميع هذا، التي ذكرتها،
لذلك هناك شيئين.
الأول هو أن هذا الكائن المنحى برمجة يضيف الكثير من النفقات العامة
إلى الأمور عشوائية، حتى ينتهي بك حتى باستخدام الكثير من الذاكرة.
ينتهي بك الأمر باستخدام القليل أكثر الوقت من كنت على خلاف ذلك.
وother-- ولكن أكثر الجانب المظلم غدرا في هذا
هو، اذا كانت الامور تعمل فقط وكأنك تريد لهم
دون الحاجة إلى التفكير السوبر الثابت حول ما إذا كان هذا ينبغي أن يكون عدد صحيح
أو ما إذا كان ينبغي أن يكون هناك تعويم، قد يكون ذلك أكثر من هنا
كنت تنتج عدد صحيح ولكن هنا لك أعتقد ولكنها سوف always-- آسف،
قد يكون ذلك هنا أن تنتج وتعويم،
ولكن عندما تحصل على الجزء الثاني من البرنامج، كنت أفكر،
يا جيدا، ولكنها سوف دائما تمرير لي عدد صحيح.
وإذا لم يفعلوا ذلك، فمن الممكن ان كنت مثبتة في مكان ما،
إذا حاولت استخدام ذلك لمؤشر في صفيف، أو ما إلى ذلك.
>> حتى واحد من الحقيقي أشياء مفيدة حول C هو
فإنه يفرض عليك أن تفكر حقا من الصعب قبل إجراء any--
قبل أن يحقق أي متغير إلى حيز الوجود، مثل ما
هو نوع هذا المتغير.
وانها ستكون لدينا هذا النوع في جميع الأوقات.
>> هذا ليس صحيحا الثعبان، وفي الواقع، كنت
can-- إذا كنت فقط نوع من الذهاب عن طريق الأذن،
ويمكنك اتخاذ بعض القرارات طريقة واحدة في مكان واحد،
وبعض القرارات احدة الطريق في مكان آخر
دون أن يضع ما يكفي من الاشياء وراء مشاهد في مكان آخر
للقبض على الأشياء بشكل صحيح، يمكن الحصول على بعض الأخطاء غريبة جدا.
ويمكن للبرنامج الحفاظ على تشغيل لفترة طويلة جدا، لأنه
تفعل الكثير من العمل الذي يتعين القول، حسنا هذا الشيء يمكن أن تعمل بهذه الطريقة،
لذلك أنا ذاهب لتشغيل هذا الطريق.
>> في واقع الأمر، حقيقة أنه يدفع إلى الأمام من خلال الكثير من الأخطاء الصغيرة
يعني ذلك، في كثير من الأحيان عندما خطأ سيء فعلا
وكنت لا تريد فعلا لإصلاحه، ينتهي ميل away-- البرنامج
ينتهي وقف على بعد أميال من عندما كان لديك الخطأ.
وهكذا الشيء الوحيد الذي نود برامج القيام به، sometimes-- شيء واحد
التي نود برامج يجب القيام به عندما نقوم التصحيح
هو فشل بصوت عال وتفشل جدا بسرعة عندما يكون هناك شيء يذهب على نحو خاطئ.
>> الثعبان هو سيء للغاية في ذلك.
الثعبان هو جيد جدا لعدم فشل والمتداول إلى الأمام
من خلال أشياء غير متوقعة.
لذلك هذا هو مفيد لأنه عندما كنت أكتب البرامج الصغيرة.
عندما تحصل معقدة الخلل في بعض الأحيان
يستغرق وقتا طويلا لندف بها.
>> لذلك هناك الجانب المظلم للجميع هذا، مثل أنه يعمل فقط.
وهو يعمل تماما مثل كنت تتوقع أن.
إلا أنه عندما لم يحدث ذلك، ينتهي بك حتى في مكان مختلف تماما
ومحاولة معرفة من أين كان ذلك ذهبت خطأ.
>> جمع القمامة is-- ذلك الشيء الوحيد الذي ستلاحظ
غير أن أيا من هذه الأشياء التي لقد جلبت الى existence--
هذه المصفوفات، وهذه القواميس، هذه الأشياء، وهذه files-- لم تحصل على اطلاق سراحهم.
لم يكن هناك دعوة ل مجانا في أي من هذا الكلام.
وكان ذلك على الجانب C، ل نحن أبدا حصلت في تلك الأشياء.
>> ولكن في بيثون جنب، ليست هناك مجانا.
الامور تلقائيا تحرير عند بيثون
يعتقد أنك لا ينظر إليها.
انها جيدة حقا عدم الافراج الأشياء التي قد لا يزال من المحتمل أن تبحث في،
ولكن هذا يعني أنه إذا كنت الذهاب إلى تخصيص هذا شيء كبير،
وكنت مثل، يا انتهيت معها الآن،
من الصعب أن أقول بيثون ان كنت فعلت معها الآن.
>> يمكنك تعيين أحيانا هذا المتغير لتكون لا شيء،
ومن ثم نأمل أن في نهاية المطاف جامع القمامة
يأتي من خلال وينظف بها.
ولكن مرة أخرى، كنت لا السيطرة على ذلك.
وأحد الأسباب أن الناس يستخدمون C للحصول على أداء حقا الأشياء الهامة،
هو هذه القدرة على الحقيقة تعرف متى يتم تخصيص الذاكرة
وعندما يكون تحريرها، ويكون الكثير من السيطرة على قوله،
أنا باستخدام أي ذاكرة أكبر مما أحتاج.
وهو الأمر الذي الثعبان ليست كبيرة في.
الحضور: هل لي أن أسألك سؤالا؟
ماذا تقصد تفشل بصوت عال؟
>> ROSS RHEINGANS-يو: حتى إذا شيئا ما يحدث خطأ
وكنت في التصحيح الوضع، لو كنت في كثير من الأحيان
أريد برنامج لاقول لكم بالضبط أين ذهبت أنها خاطئة،
وليس مجرد وقف بهدوء التشغيل.
ولكن كنت فعلا لطباعة من جميع أنواع المعلومات عن
مثل، وكان هذا هنا.
حدث هذا الشيء إذا كنت تقوم بطباعة وwen-- إذا كنت تقوم بتشغيل server-- على شبكة الإنترنت
>> الحضور: (غير مسموع)
>> ROSS RHEINGANS-يو: نعم، إذا كنت تقوم بتشغيل خادم الويب،
انها سيئة في بعض الأحيان إذا كنت دائما تجاهل الأخطاء،
وتقوله، كذلك لم ينجح.
انا ذاهب الى التوقف.
أنا مجرد الذهاب إلى تجاهل انها والاستمرار على.
لأن ثم يمكنك الحصول على مئات من هذه الأخطاء ولا نراهم.
>> سيكون بالتأكيد مفيدا لأغراض التصحيح
اذا في كل مره جعلت خادم الويب الخاص بك ل الخطأ، كان لديك سجلات دائمة من ذلك.
ربما كنت تريد حتى البرنامج للتوقف، بحيث تلك السجلات
لا تحصل دفنوا تحت الأشياء.
ولكن مرة أخرى، وهذا في وضع التصحيح.
>> في كثير من الأحيان في وضع الإنتاج، و العالم يختلف قليلا.
وفي النصوص الصغيرة التي أنا على التوالي، حيث الشيء الذي قلت به
قد يكون فقط قليلا قبالة من ما أود القيام به،
ثم نوع من دفع من خلال أخطاء شيء قد ترغب.
وفي تلك الحالات، وبالتأكيد الثعبان يكسب حقا يبدأ به.
>> الشيء الأخير الذي لم أتحدث في this-- أنني لم أتحدث عن
ولكن يمكن أن يكون مما اثار غضب حقا أول الوقت لديك واحدة من هذه الأخطاء،
والثاني والثالث والرابع الوقت لديك واحد هذه الأخطاء.
بيثون، التي ذكرتها أنه يستخدم المساحة البيضاء
ان اقول لكم ما هو مستوى المسافة البادئة وما كتلة وظيفية كنت في،
فإنه يعامل علامات التبويب ومساحات مختلفة.
لذلك إذا كنت التبويب أكثر من أربع، ومن ثم السطر التالي له أربع مسافات،
حتى لو كانت تظهر مثل نفس المبلغ في المحرر الخاص بك،
الثعبان لا نعاملهم نفس الشيء.
>> في الواقع، بيثون يعامل علامات التبويب والأماكن مثل الزيت والماء.
فهي أشياء مختلفة تماما.
لا يوجد على وجه الخصوص طول أن علامة تبويب،
حتى انها ليست مثل علامة تبويب يساوي 8 مسافات، وذلك من شأنه أن تحصل من حوله
ذلك الطريق.
مثل، عندما يقول: ما مستوى المساحة البيضاء انا في،
انها في الواقع تبحث عن نمط من المسافات وعلامات التبويب.
وهكذا، فإن أفضل طريقة للتعامل مع هذا هو دائما استخدام المساحات في كل وقت.
>> في واقع الأمر، في Cloud9 IDE وIDE CS50،
إدراج تبويب مفتاحك أربع مسافات في بدلا من ذلك
من علامة تبويب، وهو أمر مفيد عظمى.
على الرغم من جديد، إذا كتب بيثون برنامج مع علامات التبويب التي سيكون على ما يرام،
انها مجرد إذا كان شخص ما دخلت وحاولت إضافة
سطر واحد إلى البرنامج الذي وكان أربعة فضاءات للكل التبويب،
أنه كسر.
وسيكون كسر في الطريق هذا هو حقا غير مرئية.
على الرغم من أن الخطأ الفعلي رسالة أنه يلقي
له علاقة جديدة البادئة ليس من المتوقع هنا،
or-- إذا كان يتحدث عن تزكي ويبدو أنه من الخطأ،
انها ربما لأن هناك مشكلة التبويب الفضاء.
انهم ما زالوا مما اثار غضب التصحيح.
أكبر كليا في هذا الكلام الذي لم أكن
وصول الى لأنها حقا لذلك، موضوع خفية معقدة،
وليس من الضروري أن تفعل أي من الأشياء التي قمنا به حتى الآن،
هي مفهوم يسمى الصفوف.
هم هناك الكثير من مثل المصفوفات التي لا يمكن تعديلها.
الحصول على استخدامها في كل مكان ل فهي مفيدة لكثير من الأشياء
أن المصفوفات ليست مفيدة ل.
>> ولكن إذا كنت ترغب في جعل مجموعة، و ثم وعد مترجم أنك
يتم أبدا تريد الذهاب الى تعديل ذلك thing-- في الواقع، إذا كنت تريد تعديلها،
عليك أن تجعل واحدة جديدة مع الجديد القيم في it-- تلك هي الصفوف.
بدلا من إنتاج لهم بين قوسين معقوفين،
ان تنتج لهم الأقواس مستديرة.
لماذا كنت تستخدم هذه الأشياء، هو قليلا من سؤال. .
الشيء الوحيد الذي سوف أكون يقول عن ذلك هو أنت
يمكن استخدام الصفوف كما مؤشرات القواميس.
لا يمكنك استخدام المصفوفات كما مؤشرات القواميس.
والسبب هو، مرة أخرى، والتقنية أنا لن تصل إلى ذلك.
>> وPSET بأنني لم تطرق على هذا الكلام في غير pset6.
حتى هنا كيف 'D تنفيذ a-- هنا ل
كيف سيكون تنفيذ pset6 في بيثون.
مع الأخذ في الاعتبار بيثون دورة تصميم، أول شيء
أن تفعل عندما كنت برامج الكتابة هي الاختيار
لمعرفة ما إذا كان شخص ما فعلت ذلك بالفعل.
>> في الواقع، إذا كنت تريد لserve-- اباتشي 50
هل هذا تقريبا، إلا أنه لا يأتي
تثبيت القياسية على الأجهزة لينكس.
الثعبان يفعل، والثعبان المتشعب الخادم البسيط لا أيضا.
إذا كنت من أي وقت مضى على جهاز لينكس، أو خارج Cloud9 IDE من CS50
والتي ترغب في خدمة هذا التيار الدليل إلى منفذ معين،
الثعبان م SimpleHTTPServer ميناء يخدم ذلك.
يمكنك أيضا استيراد خادم HTTP بسيط
وانها حصلت على الكثير من الوظائف إذا تريد تخصيصه، أو تغييره،
أو يتم تشغيل it-- تسخير ذلك ل تشغيل خدمات الملقم الخاص بك.
>> ولهذا بيثون باختصار.
وهذا كان CS50.
شكرا لك.