用戶交互就是人向機器發出指令,機器分析處理後,給人們返回操做結果(裝13的說法)。直白地講,就是人往計算機中輸入(input)數據,計算機輸出(output)結果。交互的本質就是輸入、輸出。 python
在python 3.* 的版本中,input() 接收到輸入的任何信息,都會以字符串的形式存儲編程
name = input("請輸入您的用戶名:") print(name) print(type(name)) age = input("請輸入您的年齡:") print(age) print(type(age))
在python 2.* 的版本中,input() 接收輸入的信息時,必須聲明數據類型,系統會以對應的數據類型存儲數據。若是沒有聲明數據類型,系統會出現異常學習
''' python 2.* 中,input()在輸入值時,須要聲明數據類型,不然就會異常 ''' name = input("請輸入您的用戶名:") print(name) print(type(name)) age = input("請輸入您的年齡:") print(age) print(type(age))
異常狀況:spa
正常狀況:3d
python 2.* 版本中的 raw_input() 的使用和功能與python 3.* 中的input() 同樣code
''' python 2.* 中,raw_input()輸入的值,無須聲明數據類型,能夠直接接收任何信息 ''' name = raw_input("請輸入您的用戶名:") print(name) print(type(name)) age = raw_input("請輸入您的年齡:") print(age) print(type(age))
將結果從控制檯中輸出,print()orm
print("hello world")
格式化輸出blog
%s :佔位符,可接收任意類型的變量索引
name = input("請輸入您的用戶名:") age = input("請輸入您的年齡:") print("my name is %s,my age is %s"%(name,age))
%d:數字佔位符,只能接收數字內存
name = input("請輸入您的用戶名:") age = input("請輸入您的年齡:") age = eval(age) print("my name is %s,my age is %d"%(name,age))
異常狀況:將str類型的變量也用%d接收,提示異常
正常狀況:
%f:數字佔位符,輸出浮點數,可用於設置顯示數字的精確位數
height = input("請輸入您的身高:") height = float(height) print("my height is %0.2f m"%(height))
format:
按順序傳值
name = input("請輸入您的用戶名:") age = input("請輸入您的年齡:") print("my name is {},my age is {}".format(name,age))
指定位置傳值
name = input("請輸入您的用戶名:") age = input("請輸入您的年齡:") print("my name is {name},my age is {age}".format(name=name,age=age))
f-string:指定位置傳值,該功能只用於python 3.6 以上的版本
name = input("請輸入您的用戶名:") age = input("請輸入您的年齡:") print(f"my name is {name},my age is {age}")
數字類型
整型-int:能夠處理任意大小的整數,在程序中的表示和數學的寫法同樣。可用於定義年齡、手機號碼等
浮點型-float:浮點數由整數部分和小數部分組成。浮點數運算可能會有四捨五入的偏差。可用於定義體重、身高、薪資等
複數-complex:複數由實數部分和虛數部分組成。能夠用 a + bj 或 complex(a,b) 表示。複數的實部a 和虛部b 都是浮點型
var = 1 - 2j var1 = complex(1,2) print(var1) print(var.real) # 複數的實部 print(type(var.real)) print(var.imag) # 複數的虛部 print(type(var.imag))

int() 只能轉換整數,例如 '1.0' 不能直接轉換成int類型的記錄,須要從str → float → int
字符串類型:用於存儲描述性的信息,好比說愛好,我的簡介
本質
在python 3.* 中,str(字符串)本質是擁有8個bit位的序列
在python 2.* 中,str(字符串)本質是unicode序列
單雙引號的使用沒有區別,但不能混用。字符串中存在引號,嵌套使用
var = "my name is 'xiao',my age is '18'" print(var)
字符串拼接原理:開闢新的空間,將拼接後的值放置進去
列表 List:用於存放一個或多個不一樣類型的值
在編程中,數值索引是從0開始
l1 = ['dawn',18,['read','study']] name = l1[0] age = l1[1] hobby = l1[2] print(name) print(age) print(hobby)
字典 dict
經過大括號{}存儲數據,以{key1:value1,key2:value2,…keyN:valueN}映射關係存儲,每一個鍵值對用逗號(,)進行分隔
d1 = {"name":"dawn","age":18,"hobby":['read','study']} name = d1["name"] age = d1["age"] hobby = d1["hobby"][1] print(name) print(age) print(hobby)
布爾類型 bool:用於判斷事物的對錯,通常不會單獨定義bool變量,大多狀況下,結合邏輯判斷使用
True / False
== 和 is 的區別
== 比較的是value(值),is 比較的是id(內存地址)
注意
value(值)相等的狀況下,id(內存地址)不必定相等;
id(內存地址)相等的狀況下,value(值)必定相等。
算術運算符
運算符 | 說明 | 示例 | 結果 |
---|---|---|---|
+ | 加 | a = 11.35,b = 10,a + b | 21.35 |
- | 減 | a = 4.56,b = 2.33,a - b | 2.23 |
* | 乘 | a = 0.25,b = 4,a * b | 1.0 |
/ | 除 | a = 9,b = 2,a / b | 4.5 |
// | 整除,返回商的整數部分 | a = 9,b = 2,a // b | 4 |
% | 取餘,返回除法的餘數 | a = 9,b = 2,a % b | 1 |
** | 冪,x**y,即返回x的y次冪 | a = 9,b = 2,a ** b | 81 |
比較運算符
運算符 | 描述 |
---|---|
== | 判斷兩個操做數的值是否相等 |
!= | 判斷兩個操做數的值是否不相等 |
> | 判斷左操做數的值是否大於右操做數 |
>= | 判斷左操做數的值是否大於或等於右操做數 |
< | 判斷左操做數的值是否小於右操做數 |
<= | 判斷左操做數的值是否小於等於右操做數 |
賦值運算符
增量賦值
運算符 | 描述 | 示例 |
---|---|---|
= | 將右邊的結果賦值給左邊的變量 | a = 1 |
+= | 加法賦值運算 | a += 1 # 等同於 a = a + 1 |
-= | 減法賦值運算 | a -= 1 # 等同於 a = a - 1 |
*=,/=,//=,%=,**= | 跟加法/減法賦值運算相似 |
鏈式賦值:將同一個值賦值給多個變量。
''' x = 1 y = 1 z = 1 python 用一行代碼搞定 ''' x = y = z = 1
交叉賦值:定義變量a 和變量b, 將變量a 的值跟變量b 的值交換(任何類型均可以交換)
''' a = 'str' b = 1.023 c = '' c = a a = b b = c ''' a = 'str' b = 1.023 a,b = b,a
解壓賦值:將列表中的多個值依次賦值給多個變量
''' l1 = ['str',2,['dawn'],{age:18}] a = l1[0] b = l1[1] c = l1[2] ''' a,b,c,*_ = l1
邏輯運算符
運算符 | 描述 |
---|---|
and | 邏輯與,用於鏈接兩個條件表達式,若是有一個表達式不符合條件,整個表達式返回False |
or | 邏輯或,用於鏈接兩個條件表達式,若是有一個表達式符合條件,整個表達式返回True |
not | 取反 |
多個and一塊兒使用時,遇到False 返回 False,不然返回最後一個True
多個or一塊兒使用時,遇到True返回True,返回第一個True
and和or混合使用時,在沒有括號的狀況下,優先判斷and
全部非零的天然數,返回值都爲True,0的返回值爲False