Thank you for sharing your answer. Now that
we've used classes for the very first time,
I want to highlight something that took me
a really long time to understand when I
was in college. When we wanted to use
functions previously, we wrote code like webbrowser.open. But
when we wanted to create instances of this
class, class turtle, we wrote code that said,
turtle.Turtle. Now, look at both of these
statements. They look rather similar. It seems
like we're calling a function in both of these cases. But something different is
happening behind the scene. When we call
webbrowser.open, all we are doing is calling
a function. No big deal. But when
we call turtle.Turtle, the init function defined
inside class Turtle, that's the function that gets
called. And it creates or initializes space inside
memory for a new instance which we called
brad. Even though it seems like we called
functions in both cases, we called open in
the first case and the function init, in
the second case. Not all functions are created
equal. When we called webbrowser.open, all we did was
call a function, but when we called turtle.Turtle, it in turned
called the init function which created or initialized space in memory
that did not exist before. So, that concludes our first example
of how to use classes. Let's look at a few more examples.
نشكرك على مشاركتنا إجابتك. نظرًا لأننا
،استخدمنا الفئات للمرة الأولى
أريد أن أوضح لك شيئًا استغرقت وقتًا طويلاً
لأفهمه عندما كنت
،في الكلية. عندما أردنا استخدام الدوال في السابق
كتبنا تعليمات برمجية مثل webbrowser.open. ولكن
عندما أردنا إنشاء مثيلات لهذه
:الفئة، وأقصد الفئة turtle، كتبنا التعليمة البرمجية
turtle.Turtle. والآن، انظر إلى هاتين
العبارتين. إنهما متشابهتان إلى حدٍ كبير. يبدو
أننا سنستدعي دالة في كلتي الحالتين. ولكن هناك شيء مختلف
يحدث خلف الكواليس. فعند استدعاء
webbrowser.open، فإن كل ما نفعله هو أننا نستدعي
دالة. وهذا ليس بالأمر الجلل. ولكن عند
استدعاء turtle.Turtle، يتم استدعاء دالة init المعرّفة
داخل الفئة
Turtle. وبعد ذلك، تقوم الدالة بإنشاء أو تهيئة مساحة داخل
الذاكرة لمثيلٍ جديد أطلقنا عليه اسم
brad. وعلى الرغم من أنه يبدو أننا استدعينا
دالتين في كلتي الحالتين، حيث إننا استدعينا open في
الحالة الأولى، والدالة init في
الحالة الثانية، إلا أنه لا يتم إنشاء جميع الدوال
بطريقةٍ واحدة. فعندما استدعينا webbrowser.open، كل ما فعلناه هو
أننا استدعينا دالة، ولكن عند استدعاء turtle.Turtle، استدعت بدورها
الدالة init التي قامت بإنشاء أو تهيئة مساحة في الذاكرة
لم تكن موجودة من قبل. حسنًا، وبذلك نكون قد انتهينا من شرح المثال الأول
.على كيفية استخدام الفئات. دعنا نلقي نظرة على المزيد من الأمثلة
Gracias por compartir sus respuestas. Ahora que
hemos utilizado las clases por primera vez,
quiero enfatizar algo que me tomó
mucho tiempo entender cuando estuve
en la universidad. Antes, cuando queríamos usar
las funciones, escribíamos un código como webbrowser.open. Pero
cuando queríamos crear instancias de esta
clase, la clase Turtle, escribíamos un código que decía
turtle.Turtle. Ahora, miren estas dos
instrucciones. Se ven muy parecidas. Parece que
estamos llamando una función en ambos casos. Pero algo diferente
pasa detrás de escena. Cuando llamamos
webbrowser.open, todo lo que estamos haciendo es llamar
una función. No es gran cosa. Pero cuando
escribimos turtle.Turtle, la función init definida
dentro de la clase Turtle es la función que
es llamada. Y ésta crea o inicializa espacio dentro
de la memoria para una nueva instancia que hemos llamado
brad. A pesar de que parece que llamamos
funciones en ambos casos, llamamos open en
el primer caso, y la función init en
el segundo caso, no todas las funciones se crean
igual. Cuando llamamos webbrowser.open, todo lo que hicimos fue
llamar una función, pero cuando llamamos turtle.Turtle, esta a su vez
llamó la función init que creó o inicializó espacio en la memoria
que no existía antes. Así que con esto concluye nuestro primer ejemplo
de cómo utilizar las clases. Veamos algunos ejemplos más.
質問への回答ありがとうございます
初めてクラスを活用できましたね
私は大学生の時理解するのに長い時間がかかりました
関数を使いたい時は
webbrowser.openのようなコードを書きました
Turtleクラスのインスタンスを作りたい時は
turtle.Turtleというコードを書きました
この2つの構文は同じように見えます
確かによく似ています
2つの構文はどちらも関数と呼ばれますが
裏でまったく違う動きをしています
webbrowser.openを呼び出した場合は
単に関数が呼び出されるだけです
しかしturtle.Turtleを呼び出すと
呼び出されるのは
Turtleクラス内で定義された__init__関数です
そして__init__関数がメモリ内に
新しいインスタンスのために
スペースを作って初期化します
この2つはどちらも関数を呼び出しますが
1つ目はopenを呼び出し
2つ目は__init__関数を呼び出します
関数はすべて同じようには作られていません
webbrowser.openは関数を呼び出すだけです
一方turtle.Turtleは
メモリ内になかったスペースを作って初期化する
__init__関数を呼び出します
クラスの例を1つ説明しましたが他にも見てみましょう
Agradecemos por compartilhar sua resposta. Agora que
usamos as classes pela primeira vez,
quero destacar algo que levei
muito tempo para compreender quando
estava na faculdade. Quando usamos
as funções anteriormente, escrevemos códigos como webbrowser.open. Mas,
quando criamos instâncias da
classe turtle, escrevemos um código que dizia
turtle.Turtle. Observe essas duas
instruções. Elas parecem similares. Parece
que estamos chamando uma função nos dois casos. Mas algo diferente
acontece nos bastidores. Quando chamamos
webbrowser.open, tudo o que estamos fazendo é chamar
uma função. Nada de mais. Mas, quando
chamamos turtle.Turtle, a função init definida
na classe Turtle é
chamada. Ela cria ou inicializa espaço na
memória para uma nova instância, que chamamos de
brad. Mesmo que aparentemente tenhamos chamado
funções nos dois casos, chamamos open no
primeiro caso e a função init no
segundo caso. Nem todas as funções são criadas
iguais. Quando chamamos webbrowser.open, tudo o que fizemos foi
chamar uma função, mas quando chamamos turtle.Turtle, essa função chamou, por sua vez,
a função init, que criou ou inicializou um espaço na memória
que não existia antes. Isso conclui o primeiro exemplo
de como usar as classes. Vejamos mais alguns exemplos!
感谢你能分享你的答案 既然
我们已经第一次用了类
我想要着重讲一下
我在大学时期花了我很长时间
才理解的东西 当我们之前想用
函数时 我们写了如 webbrowser.open 的代码 但是
当我们想创建这个类的实例时
turtle 类 我们写了代码
turtle.Turtle 现在 看一下这两个语句
他们十分相似 好像
我们调用了一个两个例子中都有的函数 但是在背后发生
不同的事情 当我们调用
webbrowser.open 我们所做的是调用
一个函数 没什么 但是当
我们调用 turtle.Turtle init 函数在 Turtle 类内定义
其为被调用的函数
接着它创建或者初始化一个
新实例所需的内存 其实例我们称为
brad 尽管它好像是我们在两个例子内
调用了函数 我们在第一个例子
调用了 open 在第二个例子
调用了 init 不是所有函数都是一样的
当我们调用 webbrowser.open 我们所做的只是
调用一个函数 但是当我们调用 turtle.Turtle 时 它接着
调用了 init 函数 它创建或者初始化了之前不存在的
内存空间 所以 这就是我们如何使用类的
第一个例子 让我们看一下更多的例子