B1 · 第6集 · 4:59

Python变量与赋值

讲解Python中变量的定义、赋值原理及常见运算符缩写形式,如+=、-=等。

来源:jmbarbier / peertube.solidev.net · 许可:CC BY-SA 4.0

字幕

  1. C'est deux manières de faire en fait absolument la même chose.

    这是两种做法,实际上完全一样。

  2. Là ici, en fait, quand je fais print a plus b, qu'est- ce qu'il va faire?

    那么这里,当我写‘print a plus b’时,它会做什么呢?

  3. Il va prendre, regarder la valeur qui est dans a,

    它会先读取变量 a 中的值,

  4. donc il va remplacer le a par sa valeur,

    也就是把 a 替换成它的值,

  5. il va remplacer le b par sa valeur et il va faire l'addition pour afficher le

    再把 b 替换成它的值,然后做加法,

  6. résultat. Pareil d'ailleurs, au lieu de faire print a plus b,

    最后输出结果。同样地,我也可以不写‘print a plus b’,

  7. j'aurais pu faire ici.

    而在这里这样写。

  8. Résultat, je n'ai pas mis d'accent, est égal à a plus b.

    结果(我没加重音符号)等于 a 加 b。

  9. et afficher le résultat.

    再输出这个结果。

  10. C'était aussi la même chose.

    这也是一样的效果。

  11. D'accord, donc voilà, donc on peut utiliser par exemple pour faire des calculs

    好的,所以你看,我们可以用它来做中间计算,

  12. intermédiaires, pour enregistrer un résultat,

    比如保存某个结果,

  13. pour l'utiliser après dans une autre formule, etc.

    之后在其他公式中再次使用,等等。

  14. On va pouvoir stocker des valeurs à l'intérieur.

    我们能把数值存进一个‘容器’里。

  15. d'une boîte. Alors, quelque chose qu'on va faire souvent,

    接下来我们要常做的一件事是——

  16. imaginez qu'on veut faire un compteur.

    假设我们要做一个计数器。

  17. On veut additionner plus un, puis plus un, puis plus un.

    我们要反复加 1:加 1,再加 1,再加 1……

  18. Donc très souvent en fait, on va vouloir prendre une valeur.

    因此,我们常常需要先取出一个值,

  19. lui ajouter un et réenregistrer cette valeur là pour quelque chose,

    给它加 1,再把这个新值重新存回去,

  20. un compteur par exemple.

    比如存为一个计数器。

  21. Et je veux dire, bah voilà, je prends la valeur qu'il avait avant

    我的意思是:我先取出它之前存的值,

  22. et je lui rajoute plus 1.

    然后给它再加上 1。

  23. Si j'écris comme ça, compteur.

    如果我直接写‘compteur’,

  24. Plus 1, ça va faire quoi?

    再加 1,会发生什么?

  25. Ça va prendre la droite d'abord.

    它会先计算右边的表达式。

  26. On prend d'abord la droite.

    我们先取右边。

  27. J'ai dit que l'égalité, ça se lisait de la droite vers la gauche.

    我之前说过,等号是从右往左读的。

  28. Donc on prend d'abord.

    所以,我们先处理右边。

  29. La droite, valeur de compteur

    右边是计数器的值,

  30. plus un. Donc si mon compteur il valait zéro au départ,

    再加一。因此,如果我的计数器初始值为零,

  31. Je prends la valeur de compteur, quand je suis ici c'est zéro,

    我取此处的计数器值——也就是零,

  32. et je vais lui additionner un, donc maintenant elle vaut un.

    然后给它加一,现在它的值就变成一了。

  33. Et ensuite seulement, on

    之后,才

  34. va prendre ce résultat

    取这个结果,

  35. et on le met dans la variable, on le remet dans la variable compteur,

    把它赋给变量,也就是重新写入计数器变量中,

  36. on écrase la valeur précédente.

    覆盖之前的值。

  37. Ensuite seulement.

    只有到这时,

  38. On met le résultat dans la variable.

    才把结果存入变量。

  39. D'accord, donc c'est finalement je fais la droite.

    明白了吗?总之,我是先算右边。

  40. Je prends le résultat et je le mets à gauche.

    再把结果赋给左边。

  41. Il ne faut pas se tromper, d'accord?

    千万别搞错了,明白吗?

  42. Ici, ce n'est pas une égalité au sens x= x+ 1 et

    这里不是数学意义上的等式,比如 x = x + 1,

  43. je simplifie par compteur.

    然后两边同时消去‘计数器’。

  44. Ce n'est pas une égalité mathématique.

    这不是一个数学等式。

  45. Une égalité mathématique, c'est un assignement.

    而是一种赋值操作。

  46. On fait la droite pour le mettre dans la gauche.

    我们先计算右边,再把结果存入左边。

  47. Et alors petite parenthèse, comme c'est quelque chose qu'on fait très souvent,

    顺便提一下,由于这种操作非常常见,

  48. en fait, on a des raccourcis.

    实际上,我们有简写形式。

  49. Le fait de prendre la valeur, de la modifier et de la réécrire dans la variable de

    即取出变量的值、修改它,再写回原变量,

  50. départ, d'accord, on peut très bien.

    明白吗?完全可以做到。

  51. Avoir en Python une manière plus rapide de le dire.

    在 Python 中,有一种更简洁的表达方式。

  52. Donc c'est une opération.

    因此,这是一种运算。

  53. Alors le raccourci, c'est en fait au lieu d'y dire,

    这个快捷写法其实是:不用再写,

  54. si j'ai a qui vaut 5.

    比如我定义变量 a 等于 5,

  55. Je vais dire a plus égale trois.

    而是直接写 'a += 3'。

  56. C'est pareil que a est égal à a plus 3.

    这等价于 'a = a + 3'。

  57. Et ça marche pour toutes les opérations.

    这种写法适用于所有运算符。

  58. A moins égal 3.

    比如 'a -= 3',

  59. C'est pareil que a est égal

    就等同于

  60. à moins trois.

    'a = a - 3'。

  61. Et toutes les opérations qu'on a vues fonctionnent.

    之前讲过的所有运算符都支持这种写法。

  62. Donc la multiplication, a fois égal.

    乘法是 'a *= 3',

  63. 3, c'est pareil que a est égal à a fois 3, on va tous les faire.

    等价于 'a = a * 3'——我们来一一演示。

  64. A divisé égal 3, c'est pareil.

    除法是 'a /= 3',

  65. que a est égal à a divisé par trois,

    等价于

  66. j'ai même la division entière, a divisé divisé égal et trois,

    'a = a / 3';

  67. c'est pareil que.

    还有整除,写成 'a //= 3',

  68. a est égal à a division entière trois, a modulo égal trois.

    等价于 'a = a // 3';取模是 'a %= 3',

  69. C'est pareil. que a est égal à a modulo 3.

    等价于 'a = a % 3'。

  70. Et le dernier pour la puissance, si on a A

    最后是幂运算:如果写成

  71. étoile étoile 3 égale 3.

    'a **= 3',

  72. c'est pareil que a est égal à a étoile étoile trois a puissance trois

    就等同于 'a = a ** 3',也就是 'a 的三次方'。

  73. voilà donc c'est juste un petit raccourci il faut s'en rappeler c'est pratique parce

    总之,这只是个小技巧,需要记住,

  74. que c'est quelque chose qu'on utilise vraiment souvent

    因为它非常实用,使用频率很高。

  75. Donc voilà. Autre chose, en Python, on peut,

    另外,在 Python 中,我们还可以……

  76. donc on a dit que le égal simple, c'était une assignation, d'accord,

    之前说过,单个等号 '=' 表示赋值,对吧?

  77. et on regardait, on mettait la droite

    赋值时,我们把右边的值

  78. dans la gauche.

    赋给左边的变量。

  79. Donc on peut faire en Python ce qu'on appelle des assignations multiples.

    因此,在Python中,我们可以进行所谓的多重赋值。

  80. Si je fais a égale b égale.

    如果我写 a 等于 b 等于

  81. c égale d égale 3, ça se lit de la droite vers la gauche.

    c 等于 d 等于 3,这个表达式从右向左读取。

  82. Je mets 3 dans d.

    我把 3 赋值给 d。