<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 = '驼峰命名法'
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 'int'></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 'float'></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 = 'hello'str2 = "world"print(type(str1))print(str1)print(str2)# 运行结果<class 'str'>helloworldastr1 = 'hello'
str2 = "world"
print(type(str1))
print(str1)
print(str2)
# 运行结果
<class 'str'>
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:'java'"
str4 = 'hello: "python"'
print(str3)
print(str4)
# 运行结果
hello:'java'
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 = ''' test "hello:'java'"'''
str4 = """ test "hello:'java' """
print(str3)
print(str4)
# 运行结果
test "hello:'java'"
test "hello:'java'
str3 = "'''test '''"
str4 = '""" test """'
print(str3)
print(str4)
# 运行结果
'''test '''
""" 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 = 'hello'
str2 = "world"
print(len(str1))
print(len(str2))
str3 = "'''test '''"
str4 = '""" test """'
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 = 'hello'
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 'bool'>
<class 'bool'></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 = 'test'
print(type(tmp))
tmp = False
print(type(tmp))
# 运行结果
<class 'int'>
<class 'str'>
<class 'bool'></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 = 'str'
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">"""
这
是
多行注释
"""
'''
这
也是多行注释
'''</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 = '张三'
age = 18
print(f"name = {name}" f'age = {age}')
# 运行结果
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('请输入姓名:')
age = input('请输入年龄:')
print(f'name = {name}')
print(f'age = {age}')
# 运行结果
请输入姓名:张三
请输入年龄: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'num1 + num2 = {num1 + num2}')</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 = 'hello'
b = 'hello'
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 = 'abcd'
b = 'abce'
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中文網其他相關文章!