首页 > 后端开发 > Python教程 > Python变量的定义和运算符如何使用

Python变量的定义和运算符如何使用

王林
发布: 2023-05-19 08:04:05
转载
1267 人浏览过
<ul class="first_class_ul list-paddingleft-2"><ul class="second_class_ul list-paddingleft-2"><ul class="third_class_ul list-paddingleft-2"></ul></ul></ul> <h3>常量和表达式</h3> <h4>1. 简单引入</h4> <p>我们可以先简单来看一下Python的加减乘除</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">print(1 + 2 + 5) print(1 + 2 * 5) print(1 + 2 - 5) print(1 + 2 / 5) # 运行结果 8 11 -2 1.4</pre><div class="contentsignin">登录后复制</div></div><p>我们发现加减乘和其它语言基本每区别,但是除法在其它语言比如 C/Java中整数除以整数结果还是整数,也就是小数部分会被截断,但是在Python中不会被截断,这样更符合人的日常计算的直觉</p><ul class=" list-paddingleft-2"><li><p>print 是一个 Python 内置的 函数</p></li><li><p>可以使用 + - * / ( ) 等运算符进行算术运算. 先算乘除, 后算加减</p></li><li><p>运算符和数字之间, 可以没有空格, 也可以有多个空格. 但是一般习惯上写一个空格(比较美观)</p></li></ul><h4>2. 变量的命名规则</h4><ul class=" list-paddingleft-2"><li><p>变量必须由数字、字母和下划线构成,不能包含其它特殊符号,<strong>且不能以数字开头</strong></p></li><li><p>变量名不能和关键字冲突</p></li><li><p>在Python中,变量名是区分大小写的</p></li><li><p>变量命名建议使用驼峰命名法(除第一个单词其它单词第一个字母用大写),或者是蛇形名命名法(用下划线分割多个单词)</p></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">userName = &#39;驼峰命名法&#39; user_name = "蛇形命名法" _test = 10</pre><div class="contentsignin">登录后复制</div></div><h4>3. 变量的类型</h4><p>Python和C/Java不同,在定义变量的时候不需要显示的指定变量的类型,在赋值的时候自动就会确定类型</p><h5>1)整数</h5><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">tmp = 10 print(type(tmp)) # 运行结果 <class &#39;int&#39;></pre><div class="contentsignin">登录后复制</div></div><p>type是Python内置的函数,可以使用type来查看一个变量的类型 注意:和C/Java等语言不同,Python的int类型变量,能表示的数据范围是没有上限的,只要内存足够,理论上可以表示无限大小的数</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">tmp = 1234567891011121314 print(tmp)</pre><div class="contentsignin">登录后复制</div></div><p>因为Python的int是可以根据要表示的数据大小自动扩容,所以Python就没有像long、byte/short这些类型了</p><h5>2)浮点数</h5><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">tmp = 3.14 print(type(tmp)) # 运行结果 <class &#39;float&#39;></pre><div class="contentsignin">登录后复制</div></div><p>注意:和C/Java语言不同,Python的小数只有float一种类型,没有double类型,但是实际上python就相当于C/Java的double,表示的是双精度浮点数(占8个字节)</p><h5>3)字符串</h5><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">str1 = &#39;hello&#39;str2 = "world"print(type(str1))print(str1)print(str2)# 运行结果<class &#39;str&#39;>helloworldastr1 = &#39;hello&#39; str2 = "world" print(type(str1)) print(str1) print(str2) # 运行结果 <class &#39;str&#39;> hello world</pre><div class="contentsignin">登录后复制</div></div><p>在python中,字符串用单引号或者双引号引起来,这两者是每有啥区别</p><p>但是出现了字符串中出现了单引号,就可以嵌套了</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">str3 = "hello:&#39;java&#39;" str4 = &#39;hello: "python"&#39; print(str3) print(str4) # 运行结果 hello:&#39;java&#39; hello: "python"</pre><div class="contentsignin">登录后复制</div></div><p>在Python中还有一个三引号,里面可以包含单引号和双引号</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">str3 = &#39;&#39;&#39; test "hello:&#39;java&#39;"&#39;&#39;&#39; str4 = """ test "hello:&#39;java&#39; """ print(str3) print(str4) # 运行结果 test "hello:&#39;java&#39;" test "hello:&#39;java&#39; str3 = "&#39;&#39;&#39;test &#39;&#39;&#39;" str4 = &#39;""" test """&#39; print(str3) print(str4) # 运行结果 &#39;&#39;&#39;test &#39;&#39;&#39; """ test """</pre><div class="contentsignin">登录后复制</div></div><p>求字符长度 在Python中通过内置函数len求字符串的长度</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">str1 = &#39;hello&#39; str2 = "world" print(len(str1)) print(len(str2)) str3 = "&#39;&#39;&#39;test &#39;&#39;&#39;" str4 = &#39;""" test """&#39; print(len(str3)) print(len(str4)) # 运行结果 5 5 11 12</pre><div class="contentsignin">登录后复制</div></div><p>字符串拼接 注意:在Python中只能字符串和字符进行拼接,拼接其它类型的变量会报错</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">str1 = &#39;hello&#39; str2 = "world" print(str1 + str2) print(str2 + str1) # 运行结果 helloworld worldhello</pre><div class="contentsignin">登录后复制</div></div><h5>4)布尔类型</h5><p>布尔类型是一个特殊的类型, 取值只有两种, True (真) 和 False (假)</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = True b = False print(type(a)) print(type(b)) # 运行结果 <class &#39;bool&#39;> <class &#39;bool&#39;></pre><div class="contentsignin">登录后复制</div></div><p><strong>注意事项</strong> 如果拿布尔类型和整数或者浮点数类型进行运算那么,True表示1,False表示0.</p><h4>4. 动态类型特性</h4><p>在 Python 中, 一个变量是什么类型, 是可以在 “程序运行” 过程中发生变化的. 这个特性称为 “动态类型”</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">tmp = 10 print(type(tmp)) tmp = &#39;test&#39; print(type(tmp)) tmp = False print(type(tmp)) # 运行结果 <class &#39;int&#39;> <class &#39;str&#39;> <class &#39;bool&#39;></pre><div class="contentsignin">登录后复制</div></div><h4>5. 显示指定类型</h4><p>虽然在Python不用手动指定类型,但也可以显示的指定类型</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a: int = 10 b: str = &#39;str&#39; c: float = 3.14</pre><div class="contentsignin">登录后复制</div></div><h3>注释</h3><h4>1. 行注释</h4><p>在Python中# 开头的行都是注释</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"># 这是第一行注释 # 这是第二行注释</pre><div class="contentsignin">登录后复制</div></div><h4>2. 文档字符串</h4><p>使用三引号引起来的称为 “文档字符串”, 也可以视为是一种注释.</p><ul class=" list-paddingleft-2"><li><p>可以包含多行内容,</p></li><li><p>一般放在 文件/函数/类 的开头</p></li><li><p>“”" 或者 ‘’’ 均可 (等价)</p></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">""" 这 是 多行注释 """ &#39;&#39;&#39; 这 也是多行注释 &#39;&#39;&#39;</pre><div class="contentsignin">登录后复制</div></div><h3>输入输出</h3><h4>1.通过控制台输出</h4><p>前面已经说了使用Python内置函数print进行把数据输出到控制台</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">number = 10 tmp = False print(number) print(tmp) # 输出 10 False</pre><div class="contentsignin">登录后复制</div></div><p>更多的时候, 我们希望能够输出的内容是混合了字符串和变量的</p><p>示例</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">name = &#39;张三&#39; age = 18 print(f"name = {name}" f&#39;age = {age}&#39;) # 运行结果 name = 张三age = 18</pre><div class="contentsignin">登录后复制</div></div><ul class=" list-paddingleft-2"><li><p>使用 f 作为前缀的字符串, 称为 f-string</p></li><li><p>里面可以使用 { } 来内嵌一个其他的变量/表达式</p></li></ul><h4>2. 通过控制台输入</h4><p>python 使用 input 函数, 从控制台读取用户的输入</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">tmp = input() print(tmp)</pre><div class="contentsignin">登录后复制</div></div><p>或者有提示的输入</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">name = input(&#39;请输入姓名:&#39;) age = input(&#39;请输入年龄:&#39;) print(f&#39;name = {name}&#39;) print(f&#39;age = {age}&#39;) # 运行结果 请输入姓名:张三 请输入年龄:18 name = 张三 age = 18</pre><div class="contentsignin">登录后复制</div></div><ul class=" list-paddingleft-2"><li><p>input 的参数相当于一个 “提示信息”, 也可以没有.</p></li><li><p>input 的返回值就是用户输入的内容. 是字符串类型</p></li></ul><p>因为输入数据,默认都是字符串类型的,如果需要就要进行强制类型zhuangh</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">num1 = int(input("请输入第一个数字:")) num2 = int(input("请输入第二个数字:")) print(f&#39;num1 + num2 = {num1 + num2}&#39;)</pre><div class="contentsignin">登录后复制</div></div><h3>运算符</h3><h4>1. 算数运算符</h4><p>在Python中有<code>+ - * / % ** //</code> 七种运算符</p><p><strong>注意事项1</strong>: 0是不能作为除数的,如果作为除数就会抛出异常</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">print(5/0)</pre><div class="contentsignin">登录后复制</div></div><p><strong>注意事项2:</strong> 在Python中整数除以整数得到的结果可能会会是小数,因为不会发生截断</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">print(9/4) # 执行结果 2.25</pre><div class="contentsignin">登录后复制</div></div><p><strong>注意事项3:</strong> 在Python中 <code>//</code> 这个符号,等同于C/Java中的除号,就是整数除以整数就会得到整数,会发生截断</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">print(9//4) 运行结果 2</pre><div class="contentsignin">登录后复制</div></div><p><strong>注意事项4:</strong> <code>**</code>是次方的意思,比如 3**4 就表示的是 34,它也可以表示小数次方,比如 9**0.5 就表示为对9开方</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">print(3**4) print(9**0.5) 运行结果 81 3.0</pre><div class="contentsignin">登录后复制</div></div><p><strong>注意事项5:</strong> 正对负数取余,结果会是正数</p><h4>2. 关系运算符</h4><p>关系运算符就是用来比较两个操作数的大小是否相等的,<code><</code> 、<code>></code>、<code><=</code>、<code>>=</code>、<code>==</code>、<code>!=</code></p><p>关系运算符返回的是布尔值,如果表达式为真就返回True如果表达式为假就返回False</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = 10 b = 15 print(a > b) print(a < b) print(a >= b) print(a <= b) 运行结果 False True False True</pre><div class="contentsignin">登录后复制</div></div><p>关系运算符不但可以针对数字进行比较,还能够比较字符串,可以比较字符相等</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = &#39;hello&#39; b = &#39;hello&#39; print(a == b) 运行结果 True</pre><div class="contentsignin">登录后复制</div></div><p>还可以比较字符串大小,比较字符串大小是通过字典序来比较的,首先看首字母在字母表上的顺序,谁小,谁就排在前面,如果首字母相同,就一次比较第二字母、第三个字母…</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = &#39;abcd&#39; b = &#39;abce&#39; print(a > b) print(a < b) # 运行结果 False True</pre><div class="contentsignin">登录后复制</div></div><p><strong>注意事项</strong> 对于浮点数来说,使用 <code>==</code>进行比较相等时存在一定的风险的,因为浮点数在内存中的存储和表示,是可能存在误差的,这样的误差在进行算数运算的时候就可能被放大,从而导致 <code>==</code>的判断出现误判</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = 0.1 + 0.2 b = 0.3 print(a == b) print(a) print(b) 运行结果 False 0.30000000000000004 0.3</pre><div class="contentsignin">登录后复制</div></div><p>对于浮点数正确的比较方式:就是不在严格比较相等,而是判定它的差值是否小于允许的误差范围以内</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = 0.1 + 0.2 b = 0.3 print(-0.000001 < a-b < 0.000001) 运行结果 True</pre><div class="contentsignin">登录后复制</div></div><h4>3. 逻辑运算符</h4><p>在Python中逻辑运算符为<code>and or not</code></p><ul class=" list-paddingleft-2"><li><p><strong>and</strong> 并且:两端为True则为True,一端为False则为False</p></li><li><p><strong>or</strong> 或者:两端都为False则为False,否则为True</p></li><li><p>not 逻辑取反:本身为True,取反为False,本身为False取反为True</p></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = 10 b = 20 c = 30 print(b > a and b > c) print(b > a or b > c) print(not a > b) 运行结果 False True True</pre><div class="contentsignin">登录后复制</div></div><p>Python一种特殊写法 <code>a < b and b < c</code> 这个等价于<code>a < b < c</code></p><p><strong>短路操作</strong> <code>or</code>和<code>and</code>都有短路</p><ul class=" list-paddingleft-2"><li><p><strong>and</strong>:如果前面为假后面的就不会再执行了</p></li><li><p><strong>or</strong>:如果前面为真后面就不会再执行了</p></li></ul><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = 10 b = 20 c = 30 print(b < a and 10/0) print(b > a or 10/0)</pre><div class="contentsignin">登录后复制</div></div><h4>4. 赋值运算符</h4><p><strong>链式赋值</strong></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = b = c = 10</pre><div class="contentsignin">登录后复制</div></div><p><strong>多元赋值</strong></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a, b, c = 10, 20, 30</pre><div class="contentsignin">登录后复制</div></div><p>示例:交换两个变量的值 传统写法</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = 10 b = 20 tmp = a a = b b = tmp</pre><div class="contentsignin">登录后复制</div></div><p>使用多远赋值</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:py;">a = 10 b = 20 a, b = b, a</pre><div class="contentsignin">登录后复制</div></div><p>注意:Python中不存在像 C/Java的++、–操作</p> <p>除了上述之外, Python 中还有一些运算符, 比如 身份运算符 (is, is not), 成员运算符 (in, not in), 位运算符 ( & | ~ ^ << >>) 等</p>

以上是Python变量的定义和运算符如何使用的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板