So, I will return back to my code. And here, I will attempt to make
an instance of class Movie, in much the same way we did for class Turtle. I
will start by creating a new Python file. I will then Save this file, in the
same folder as my previous Python file. And
I will call this new file entertainment_center.py. So,
here are my two Python files that I have created
thus far. Here's the first one, where I began to
define the class Movie. It was called media.py. And here
is is the new file called entertainment_center.py. Now, here in
this new file, I will say, import media. Now notice
that this is my media file, which is where I
was beginning to define my Movie class and therefore, with
this line of code, I am telling my program, hey here,
I want to use the contents of my previous Python file. Then I will go on to
say toy_story is equal to media.Movie. So, you may
notice here that media is name of my previous
Python file and Movie is the name of
the class that's defined inside that file. One quick
side note here is that I did not have to create a new file. In fact, I could
have written this entire piece of code right here
in my previous file. But it is good practice to
keep the class definition in one file and to call
your class, or to use your class from another file.
Okay, let's continue. So, there is one thing I
want to highlight here. Which is that this line of
code is pretty similar to how we created the turtle
brad. In both cases, I am saying, some module or
file name dot a class name. Now, the next
thing we have to do is figure out exactly what
happens when we run this line of code. One way
to do that is to remember what happened behind the
scenes. When we created the turtle brad. So, let's
investigate that together. Do you remember what happens when we
run the following line of code? Here are some answer
choices. A function named init is called; it initializes or
creates space in memory for the new instance brad. Or, a
function named D-E-L, or del it's called, it deletes the instance brad.
A function named cmp, or compare is called. It compares the instance
brad to angie, or, I don't know. Tell us what you think.
حسنًا، لنرجع إلى التعليمة البرمجية. سنحاول إنشاء
مثيل من الفئة Movie، بنفس الطريقة التي قمنا بها مع الفئة Turtle. سنبدأ
بإنشاء ملف Python جديد. بعدها نقوم بحفظ هذا الملف
في نفس المجلد الموجود فيه ملف Python السابق. و
،نسمي هذا الملف الجديد باسم entertainment_center.py. إذًا
لدينا ملفين Python تم إنشاؤهما
حتى الآن. ها هو الملف الأول الذي نقوم فيه
بتعريف الفئة Movie. وكان اسمه media.py. وها
هو الملف الجديد الذي اسمه entertainment_center.py. الآن في
هذا الملف الجديد، نوفر أمر باستيراد الوسائط. يجب ملاحظة أن
هذا هو ملف الوسائط الخاص بي وفيه
،أبدأ بتعريف الفئة Movie ومن ثم
من خلال هذا السطر للتعليمة البرمجية، أخبر البرنامج
بأني أريد استخدام محتويات ملف Python السابق. ثم أتابع الكتابة وأبين أن
toy_story تساوي media.Movie. إذًا تلاحظون أن
media هو اسم ملف
Python السابق وأن Movie هو اسم الفئة
المعرفة داخل ذلك الملف. ثمة ملاحظة
جانبية سريعة ألا وهي أنني كنت غير مضطر إلى إنشاء ملف جديد. كان يمكن في الواقع
كتابة هذا الجزء بالكامل من التعليمة البرمجية هنا
في الملف السابق. ولكن من الممارسات الجيدة
الاحتفاظ بتعريف الفئة في ملف واحد
.واستدعاء الفئة أو استخدام الفئة من ملف آخر
حسنًا، فلنواصل. ثمة شيء
أود أن ألقي الضوء عليه. ألا وهو أن هذا السطر من التعليمة البرمجية
مماثل للغاية للطريقة التي قمنا بها لإنشاء turtle
brad. ففي كلتا الحالتين، نكتب اسم الوحدة أو
اسم الملف ثم نقطة ثم اسم الفئة. الأمر التالي
الذي يلزم فعله هو اكتشاف ما
يحدث خلف الكواليس عند تشغيل هذا السطر من التعليمة البرمجية. ثمة طريقة
لفعل هذا وهي تذكر ماذا حدث خلف
الكواليس. عندما قمنا بإنشاء turtle brad. فلنفحص
هذا معًا. هل تتذكرون ماذا يحدث عند
تشغيل السطر التالي من التعليمة البرمجية؟ فيما يلي بعض الاختيارات للإجابة
على السؤال. يتم استدعاء دالة اسمها init وهي تقوم بتهيئة أو
إنشاء مساحة في الذاكرة للمثيل الجديد brad. أم
.يتم استدعاء دالة باسم D-E-L أو del وتقوم بحذف المثيل brad
يتم استدعاء دالة باسم cmp أو compare. وهي تقوم بمقارنة المثيل
.brad بـ angie، أو لا أدري. أخبرنا ما هو رأيك
Bien, volveré a mi código. Y aquí, voy a tratar de hacer
una instancia de la clase Movie, casi de la misma manera como lo hicimos para la clase Turtle. Voy
a empezar creando un nuevo archivo Python. Después guardaré este archivo en la
misma carpeta que mi archivo Python anterior. Y
llamaré a este nuevo archivo entertainment_center.py. Bien,
aquí están mis dos archivos Python que he creado
hasta ahora. Aquí está el primero, donde comencé a
definir la clase Movie. Se llamaba media.py. Y aquí
está el nuevo archivo llamado entertainment_center.py. Bien, aquí en
este nuevo archivo, diré: import media Ahora observen
que este es mi archivo de medios, que es donde
estaba empezando a definir mi clase Movie y, por lo tanto, con
esta línea de código, estoy diciéndole a mi programa, hey, aquí
quiero usar el contenido de mi archivo Python anterior. Entonces voy a
decir toy_story es igual a media.Movie. Entonces, aquí pueden
darse cuenta que media es el nombre de mi archivo
Python anterior y Movie es el nombre de
la clase que se define dentro de ese archivo. Una nota
al margen rápida aquí es que no tenía que crear un nuevo archivo. De hecho, podría
haber escrito toda esta porción de código aquí mismo
en mi archivo anterior. Pero es una buena práctica
mantener la definición de clase en un archivo y llamar a
su clase o usar su clase de otro archivo.
De acuerdo, vamos a continuar. Por lo tanto, hay algo que
quiero resaltar aquí. Lo cual es que esta línea de
código es bastante similar a cómo creamos turtle
brad. En ambos casos, estoy diciendo que algún módulo o
nombre del archivo punto un nombre de clase. Ahora, la siguiente
cosa que tenemos que hacer es averiguar exactamente lo
que sucede cuando ejecutamos esta línea de código. Una forma
de hacerlo es recordar lo que pasó tras
bastidores cuando creamos turtle brad. Bien, vamos a
investigar eso juntos. ¿Recuerdan lo que sucede cuando
ejecutamos la siguiente línea de código? Estas son algunas de las
opciones de respuesta. Se llama una función nombrada init, que inicia o
crea espacio en la memoria para un nuevo objeto brad. O bien, una
función nombrada d-e-l o del se llama, que borra el objeto brad.
Se llama una función nombrada cmp, o compare, compara la instancia
brad con angie. O no sé. Díganos que piensan.
コードに戻って
Movieクラスのインスタンスを作りましょう
Turtleクラスでやったのと同じように作ります
まず新しいPythonファイルを作って保存します
以前Pythonファイルを保存したのと同じフォルダです
新しいファイルの名前は
entertainment_center.pyです
今までに作成したPythonファイルは2つです
これはMovieクラスを定義した最初のファイルで
ファイル名はmedia.pyです
こちらはentertainment_center.pyという
新しいファイルです
このファイルにimport mediaと書きます
mediaファイルはこちらです
最初にMovieクラスを定義したファイルです
このPythonファイルの内容を使用したいと
このコードでプログラムに伝えているのです
次はtoy_story=media.Movie()です
お気づきのとおり
mediaは前のPythonファイルの名前で
Movieはファイルの中で定義したクラスの名前です
コードはすべてmediaファイルに書いてありますので
新しいファイルを作成する必要はありません
しかし今回は1つのファイルに
クラス定義を書く練習をしましょう
クラスを呼び出し別のファイルからクラスを使用します
では続けましょう
注目してほしい重要な点が1つあります
このコード行はTurtle bradとよく似ています
両方ともモジュールまたはファイル名、ドット、
クラス名という並びの構成になっています
次にコード行を実行した時に
何が起きるか考えなくてはいけません
1つの方法は裏で何が起きているか覚えておくことです
Turtle bradを作成した時のことを調べてみましょう
下のコード行を実行した時に
何が起きるか次の中から選んでください
__init__関数が新しいインスタンスbradのために
メモリを初期化したりスペースを作ったりする
あるいは__del__関数が
インスタンスbradを削除する
__cmp__関数が
インスタンスbradとangieを比較する
もしくは分からない
どう思いますか?
Voltarei ao código. Vou tentar criar
uma instância da classe Movie da mesma forma que fizemos com a classe Turtle. Começarei
criando um novo arquivo Python. Vou salvar esse arquivo na
mesma pasta do arquivo Python anterior. E vou
nomear esse arquivo como entertainment_center.py. Aqui
estão os dois arquivos Python criados
até o momento. Este é o primeiro, no qual começo a
definir a classe Movie. Ele foi chamado de media.py. Este
é o novo arquivo, chamado entertainment_center.py. No
novo arquivo, escreverei import media. Observe
que esse é o meu arquivo de mídia, onde
comecei a definir a classe Movie. Portanto,
com essa linha de código, estou dizendo ao programa que
quero usar os conteúdos do arquivo Python anterior. Vou prosseguir e
informar que toy_story é igual a media.Movie. Você poderá
observar que media é o nome do
arquivo Python anterior, e Movie é o nome da
classe definida dentro desse arquivo. Uma rápida
observação é que não foi necessário criar um novo arquivo. Na verdade, seria
possível escrever todo esse código diretamente
no arquivo anterior. Mas é prática recomendada
manter a definição de classe em um arquivo e chamar
a classe ou usá-la em outro arquivo.
Ok, vamos continuar. Quero destacar
um ponto aqui. Essa linha de
código é muito similar a forma como criamos a instância
brad de Turtle. Nos dois casos, estou informando o nome de um arquivo ou módulo
ponto nome de classe. O próximo
passo é descobrir exatamente o que
acontece quando executamos essa linha de código. Uma maneira
de fazer isso é lembrar o que aconteceu nos
bastidores quando criamos a instância brad de Turtle. Vamos
investigar isso juntos. Você se lembra do que acontece quando
executamos a seguinte linha de código? Veja algumas opções
de resposta. Uma função init é chamada e inicializa ou
cria espaços na memória para a nova instância brad. Ou uma
função D-E-L ou del é chamada e exclui a instância brad.
Uma função cmp ou comparar é chamada e compara a instância
brad com angie. Ou Não sei. Diga-nos o que acha.
所以 我要返回我的代码 在这里 我要尝试创建
类 Movie 的一个实例 就像类 Turtle 中那样 我
将先创建了一个新的 Python 文件 然后将它与之前的 Python 文件
保存在同一个文件夹中 然后
我要称这个新文件为 entertainment_center.py 那么
这是我目前为止创建的两个
Python 文件 这是第一个 我在这里开始
定义了类 Movie 它的名称为 media.py 然后这里
是新文件 名为 entertainment_center.py 这个
新文件在这里 我将说 import media 请注意
这是我的媒体文件 我是在这里
开始定义类 Movie 的 因此 我通过
这行代码告诉我的程序 我想使用
位于这里的之前 Python 文件中的内容 然后我将继续说
toy_story = media.Movie 你会注意到
media 是我之前的
Python 文件的名称 而 Movie 是该文件中
定义的类的名称 我在此快速
提醒一下 我本不必创建新文件的 事实上 我可以
就在这里在我之前的文件中
编写整条代码 但是更好的做法是
将类定义保存在一个文件中 然后
从另一个文件中调用或使用你的类
好的 我们继续 这里我有一点
要强调一下 那就是这行代码
和我们之前创建 turtle
brad 的方式非常相似 在两种情形中 我都用了“模块
或文件.类名”的格式 接下来我们
要做的是看看运行这行代码时
到底会发生什么 一个办法
是回忆一下当我们创建 turtle brad 时
后台发生的事情 现在
我们一起探究一下 你们还记得我们运行下面这行代码时
发生了什么吗?这里提供了一些答案
选项 一个名为 init 的函数被调用了;它为新实例 brad 在
内存中初始化或创建了空间 或
一个名为 D-E-L(或 del)的函数删除了实例 brad
一个名为 cmp(或 compare)的函数被调用 它将实例
brad 比作 angie;我不知道哪个是正确答案 告诉我们你的想法
所以, 我要回到我的程式碼,在這裡, 我要嘗試建立
Movie類別的一個實例,就像Turtle 類別中那樣,
我將先建立一個新的Python文件,然後將它與之前的 Python 文件
儲存在同一個資料夾中,然後
我要稱這個新文件為 entertainment_center.py,
那麼這是我目前為止建立的兩個Python 文件,
這是第一個 ,我在這裡開始
定義了Movie類別, 它的名稱為 media.py,另外這個新文件,
名為 entertainment_center.py。
在這個新文件裡, 我將寫上 import media。 請注意
這是我的media文件,在這裡我要開始
定義Movie類別。因此,
我透過這行程式碼告訴我的程式,我想使用
在這之前的Python 文件中的內容,然後我將繼續寫上
toy_story = media.Movie ,你會注意到
media 是我先前的Python文件的名稱
,而 Movie 是該文件中
定義的類別名稱,我在此快速提醒一下,
我本來不必建立新的文件,事實上, 我可以
就在這裡,在我先前的文件中
撰寫這整條程式碼,但是更好的做法是
將類別定義,儲存在一個文件中,然後
從另一個文件中,呼叫或使用你的類別
好的, 我們繼續 。這裡我有一點要強調一下,
那就是這行程式碼
和我們之前建立turtle brad
的方式非常相似,在兩種情形中,我都用了模組
或 文件名稱 . 類別名稱 的格式,接下來我們
要做的是,看看執行這行程式碼時
到底會發生什麼。有一個辦法
請回憶一下當我們建立turtle brad 時
後端程式所發生的事情,現在
我們一起探討一下, 你們還記得我們執行下面這行程式碼時
發生了什麼嗎?這裡提供了一些答案選項,
一個名為 init 的函數被呼叫了;它為新實例 brad
在記憶體中初始化或建立了空間或
一個名為 D-E-L(或 del)的函數刪除了實例 brad
一個名為 cmp(或 compare)的函數被呼叫, 它將實例
brad 和angie做了比較。或是 我不知道哪個是正確答案。 告訴我們你的想法