Names.html 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. ---
  2. redirect_from:
  3. - "/chapters/03/2/names"
  4. interact_link: content/chapters/03/2/Names.ipynb
  5. kernel_name: python3
  6. has_widgets: false
  7. title: |-
  8. Names
  9. prev_page:
  10. url: /chapters/03/1/Expressions.html
  11. title: |-
  12. Expressions
  13. next_page:
  14. url: /chapters/03/2/1/Growth.html
  15. title: |-
  16. Example: Growth Rates
  17. comment: "***PROGRAMMATICALLY GENERATED, DO NOT EDIT. SEE ORIGINAL FILES IN /content***"
  18. ---
  19. <div class="jb_cell">
  20. <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
  21. <div class="text_cell_render border-box-sizing rendered_html">
  22. <h1 id="Names">Names<a class="anchor-link" href="#Names"> </a></h1><p>Names are given to values in Python using an <em>assignment</em> statement. In an assignment, a name is followed by <code>=</code>, which is followed by any expression. The value of the expression to the right of <code>=</code> is <em>assigned</em> to the name. Once a name has a value assigned to it, the value will be substituted for that name in future expressions.</p>
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. <div class="jb_cell">
  28. <div class="cell border-box-sizing code_cell rendered">
  29. <div class="input">
  30. <div class="inner_cell">
  31. <div class="input_area">
  32. <div class=" highlight hl-ipython3"><pre><span></span><span class="n">a</span> <span class="o">=</span> <span class="mi">10</span>
  33. <span class="n">b</span> <span class="o">=</span> <span class="mi">20</span>
  34. <span class="n">a</span> <span class="o">+</span> <span class="n">b</span>
  35. </pre></div>
  36. </div>
  37. </div>
  38. </div>
  39. <div class="output_wrapper">
  40. <div class="output">
  41. <div class="jb_output_wrapper }}">
  42. <div class="output_area">
  43. <div class="output_text output_subarea output_execute_result">
  44. <pre>30</pre>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <div class="jb_cell">
  53. <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
  54. <div class="text_cell_render border-box-sizing rendered_html">
  55. <p>A previously assigned name can be used in the expression to the right of <code>=</code>.</p>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="jb_cell">
  61. <div class="cell border-box-sizing code_cell rendered">
  62. <div class="input">
  63. <div class="inner_cell">
  64. <div class="input_area">
  65. <div class=" highlight hl-ipython3"><pre><span></span><span class="n">quarter</span> <span class="o">=</span> <span class="mi">1</span><span class="o">/</span><span class="mi">4</span>
  66. <span class="n">half</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">quarter</span>
  67. <span class="n">half</span>
  68. </pre></div>
  69. </div>
  70. </div>
  71. </div>
  72. <div class="output_wrapper">
  73. <div class="output">
  74. <div class="jb_output_wrapper }}">
  75. <div class="output_area">
  76. <div class="output_text output_subarea output_execute_result">
  77. <pre>0.5</pre>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="jb_cell">
  86. <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
  87. <div class="text_cell_render border-box-sizing rendered_html">
  88. <p>However, only the current value of an expression is assigned to a name. If that value changes later, names that were defined in terms of that value will not change automatically.</p>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="jb_cell">
  94. <div class="cell border-box-sizing code_cell rendered">
  95. <div class="input">
  96. <div class="inner_cell">
  97. <div class="input_area">
  98. <div class=" highlight hl-ipython3"><pre><span></span><span class="n">quarter</span> <span class="o">=</span> <span class="mi">4</span>
  99. <span class="n">half</span>
  100. </pre></div>
  101. </div>
  102. </div>
  103. </div>
  104. <div class="output_wrapper">
  105. <div class="output">
  106. <div class="jb_output_wrapper }}">
  107. <div class="output_area">
  108. <div class="output_text output_subarea output_execute_result">
  109. <pre>0.5</pre>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="jb_cell">
  118. <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
  119. <div class="text_cell_render border-box-sizing rendered_html">
  120. <p>Names must start with a letter, but can contain both letters and numbers. A name cannot contain a space; instead, it is common to use an underscore character <code>_</code> to replace each space. Names are only as useful as you make them; it's up to the programmer to choose names that are easy to interpret. Typically, more meaningful names can be invented than <code>a</code> and <code>b</code>. For example, to describe the sales tax on a $5 purchase in Berkeley, CA, the following names clarify the meaning of the various quantities involved.</p>
  121. </div>
  122. </div>
  123. </div>
  124. </div>
  125. <div class="jb_cell">
  126. <div class="cell border-box-sizing code_cell rendered">
  127. <div class="input">
  128. <div class="inner_cell">
  129. <div class="input_area">
  130. <div class=" highlight hl-ipython3"><pre><span></span><span class="n">purchase_price</span> <span class="o">=</span> <span class="mi">5</span>
  131. <span class="n">state_tax_rate</span> <span class="o">=</span> <span class="mf">0.075</span>
  132. <span class="n">county_tax_rate</span> <span class="o">=</span> <span class="mf">0.02</span>
  133. <span class="n">city_tax_rate</span> <span class="o">=</span> <span class="mi">0</span>
  134. <span class="n">sales_tax_rate</span> <span class="o">=</span> <span class="n">state_tax_rate</span> <span class="o">+</span> <span class="n">county_tax_rate</span> <span class="o">+</span> <span class="n">city_tax_rate</span>
  135. <span class="n">sales_tax</span> <span class="o">=</span> <span class="n">purchase_price</span> <span class="o">*</span> <span class="n">sales_tax_rate</span>
  136. <span class="n">sales_tax</span>
  137. </pre></div>
  138. </div>
  139. </div>
  140. </div>
  141. <div class="output_wrapper">
  142. <div class="output">
  143. <div class="jb_output_wrapper }}">
  144. <div class="output_area">
  145. <div class="output_text output_subarea output_execute_result">
  146. <pre>0.475</pre>
  147. </div>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. </div>
  153. </div>