數字類型:
整型? 浮點型? ? 復數類型? ? ? 布爾
int? ? ? ? ? ?float? ? complex? ? ? boot
python day 2:
is / is not 運算符:
關鍵字:
is
not
is 的作用:判斷兩個變量名是否綁定在同一個對象上,當是同一個對象返回True,否則返回False
is not 的作用:與 is作用相反
語法:
x is y
x is not y
注意:? 對于cpython 整數-5至256 永遠保存在內存中不會釋放,并可重復使用 ,
也就是說 a = 1 , b = 1 ,結果是true
其他的變量綁定同一個對象,如果不關聯就是False
比如a = 1000 , b = 1000 a is b , 結果是False
因為a , b 兩個關聯的1000 是兩個1000 ,
一定記住不同的變量綁定不同的對象,如果不關聯,則是兩個變量,他們不會相等
del? 語句:
作用:用于刪除變量,同時接觸與對象的關聯,如果可能則,釋放對象
語法:
del 變量名
在交互模式下,查看當前作用域的所有變量方法:
>>> help("__main__")雙下劃線
復合賦值運算符:
+=? x +=? y等同于 x = x + y
-+? x -=? y等同于 x = x - y
*=? x *=? y等同于 x = x * y
/=? x /=? y等同于 x = x / y
//=? x //= y等同于 x = x // y
%=? x %=? y等同于 x = x % y
**=? x **= y等同于 x = x ** y
比較運算符:
<? 小于
<= 小于等于
>? 大于
>= 大于等于
== 等于? ? ? 雙等于號為比較上的判斷等于
!= 不等于(<>僅在python2 中存在)
語法:
x > y? 變量x大于變量y
說明:
比較返回布爾類型的值
數值對象的構造函數
float(abj)? ? ? ? ? ? ? ? 用一個字符串對象或數字轉換為浮點數,如果不給出參數,則返回0.0
int(x ,base = 10)? ? ? ? ? 用數字或字符串轉換為整數,如果不給出參數,則返回0
complex(r = 0.0,i = 0.0)? 用數字生成一個復數(實部為r,虛部為i)
bool(x)? ? ? ? ? ? ? ? ? ? 用x生成一個布爾值對象(True/False)
int()? 輸出0? ? 通常
int(x ,base = 10)? ? ? 默認是10進制,后寫多少就用多少進制規則轉換整數
函數調用:
函數名(傳參列表)
說明:
函數調用是表達式,通常用于返回一個對象
bool(x)? 返回假值的情況
none
False
0
0.0
(0+0j)
------------? 以下內容后邊會講? --------------
''? ? 空字符串
()? ? 空元組
{}? ? 空字典
[]? ? 空列表
set()? 空集合
--------------------------------------------
練習:
將數字3.14用變量pi綁定
將pi變量轉為整數 存于變量i中
將pi變量與變量i相減,結果存于f變量中
判斷f是否等于0.14
刪除所有變量
用交互模式來做
預值的數值型函數:
abs(x)? 取x的絕對值
round(number[,ndigits])? 對數值進行四舍五入,ndigits是小數向右取整的位數,負數表示向右取整
pow(x,y,z=None)? 相當于x ** y或x ** y % z
利用幫助函數 help()
在交互模式下:
>>>help(函數名)? 查看幫助
例: help(abs)
round(12.5)? >>>? 12
round(12.50) >>>? 12
round(12.50001)? >>>? 13
規則大于5? 并不等于
round(n,3)? >>>四舍五入到小數點后第三位
pow(2,3)? >>>2 ** 3
pow(2,3,None)? >>>2 ** 3
pow(2,3,4)? ? 2 ** 3 % 4
語句:
語句由一些表達式組成,通常一條語句可以獨立執行來完成一個事情并形成結果
多條語句寫在一行時需要用分號(;)分隔開
一行語句不能超過80字節
顯示換行
折行符? \? (反斜線)
折行符必須放在一行的末尾,示意解釋執行器,下一行也是本行的語句
隱式換行
所有括號內的內容換行,稱為隱式換行
基本輸入輸出
輸入函數:
input('提示語言')
作用:從標準輸出設備上讀取一個字符串
(末尾的換行符會被刪除)
輸出函數:
作用:將一系列的值以字符串的形式輸出到標準輸出設備上
格式:? print(值1,值2,值3,...,sep=' ',end='\n',file=sys.srdout,flush=False)
選項的關鍵參數為:
sep:? ? 兩個值之間的分隔符,默認為一個空格
end:? ? 輸出完畢后在末尾自動追加的一個字符串,默認為換行
file:? 輸出文件流對象,默認為sys.srdout
flush:? 是否立即輸出
輸入兩個整數分別用變量x, y來綁定
計算這兩個數的和并打印
計算兩個數的積并打印
計算x的y次方并打印
條件語句:
if 語句
作用:讓程序根據條件選擇性的執行某條語句或者某些語句
關鍵字: if else elif
語法:
if 真值表達式1:
語句1
elif真值表達式2:
語句2
...
elif 真值表達式3:
語句3
...(可以有多個elif...)
else
語句4
...
注意,縮進為四個空格
語法說明:
elif 子句可以有一個,多個,也可以沒有
else 子句最多只能有一個,也可以沒有
else 子句只能放在最后
如果一個條件成立,則執行內部的語句
如果所有條件都為False,則執行else部分語句
示例:
輸入一個數,來判斷這個數是正數,負數,還是零
x = int(input('請輸入一個數:'))? ? #input在括號里邊,所以優先執行input
# y = input('請輸入一個數:')
# x = int(y)
# 下面兩行等于上邊一行
if x > 0:
print('正數')
elif x < 0:
print('負數')
elif x == 0:
print('零')
print('程序結束')
練習:
輸入一個季度1-4? 輸出這個季度有哪幾個月,如果輸入不是1-4之間的數,提示用戶您輸錯了
if 語句嵌套:
if? 語句本身是由多條子句組成的一條語句
示例:
# 判斷一個學生的成績是否為合法。如果合法則判斷:
及格? (60-79)
良好? (80-89)
優秀? (90-100)
不及格(0-59)
條件表達式
語法:
表達式1 if 真值表達式 else 表達式2
作用:
如果真值表達式的布爾環境值為True時,表達式執行并返回對象的引用,否則執行表達式2并返回對象的引用
示例:
x = 100
x = x + 2 * x + 3
2 * x ,x + 2 * x? ,2 * x + 3? 這些都是表達式,可以單獨來執行
print('')input('')這些都是表達式
x = 100
x = x + 2 * x + 3
這些是賦值語句
score = int(input('請輸入成績:'))
r = '及格' if score >= 60 else '不及格'
if 100:
print('真值')
等同于:
if bool(100):
print('真值')
pass 語句:
作用:
通常用來填充語法空白,又名空語句
語法:
pass
語法是規則,不能空著
示例:
score = int(input('請輸入學生成績:'))
if 0 <= score <= 100:
pass
else:
print('成績不合法')
練習:
1.寫一個程序,輸入一個數,用if語句計算這個數的絕對值并打印出來
2.寫一個程序,輸入一個數,用條件表達式計算這個數的絕對值并打印出來(要求不允許用abs函數)
3.輸入一個月份,輸出這個月在哪個季度
4.北京出租車計價器:
收費標準:3公里內收費13元
基本單價:2.3元/公里(超出3公里外的)
空駛費:超過15公里,每公里加收單價的50%空駛費
要求:輸入公里數,打印出費用金額(元四舍五入)
5.輸入一個學生的三科成績:
打印出最高分是多少?
打印出最低分是多少?
打印出平均分是多少?
6.輸入一個年份,判斷是否為閏年
每四年一閏,每百年不閏,四百年又閏
2012是閏年
2100年非閏年
2400年是閏年