python筆記-2
變量
1,Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。
在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內(nèi)存中對象的類型。
等號(=)用來給變量賦值。,左邊是名字,右邊是值
2,變量名可以包括字母,數(shù)字,下劃線,但變量名不能以數(shù)字開頭
3,字母可以是大寫或小寫,但大小寫是不同的。
4,字符串中有單引號或雙引號怎么辦?
使用轉(zhuǎn)義字符 \ ,eg:"let's go!"? ?print("let\'s go!")
5,Python允許你同時為多個變量賦值。
a = b = c = 1
a, b, c = 1, 2, "runoob"
a=“學(xué)習(xí)”
#print(a)
#-- 輸出? 學(xué)習(xí)
a=“吃飯”
print(a)
--?輸出? 吃飯

a=3
b=4
c=a+b
print(c)
--?輸出? 7

a=“我愛好”
b=“吃”
c=a+b? ?#字符串拼接
print(c)
--?輸出? 我愛好吃
a=“3”
b=“4”
c=a+b? ?#字符串拼接
print(c)
--?輸出? 34

python數(shù)據(jù)類型
Python3 中常見的數(shù)據(jù)類型有:
Number(數(shù)字)
String(字符串)
bool(布爾類型)
List(列表)
Tuple(元組)
Set(集合)
Dictionary(字典)
Python3 的六個標(biāo)準(zhǔn)數(shù)據(jù)類型中:
不可變數(shù)據(jù)(3 個):Number(數(shù)字)、String(字符串)、Tuple(元組);
可變數(shù)據(jù)(3 個):List(列表)、Dictionary(字典)、Set(集合)。
此外還有一些高級的數(shù)據(jù)類型,如: 字節(jié)數(shù)組類型(bytes)。
Number(數(shù)字)
Python3 支持?int、float、bool、complex(復(fù)數(shù))
注意:Python3 中,bool 是 int 的子類,True 和 False 可以和數(shù)字相加,?True==1、False==0?會返回?True,但可以通過?is?來判斷類型。
類型轉(zhuǎn)換
Python 數(shù)據(jù)類型轉(zhuǎn)換可以分為兩種:
隱式類型轉(zhuǎn)換 - 自動完成
顯式類型轉(zhuǎn)換 - 需要使用類型函數(shù)來轉(zhuǎn)換
隱式類型轉(zhuǎn)換
在隱式類型轉(zhuǎn)換中,Python 會自動將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,不需要我們?nèi)ジ深A(yù)。
以下實例中,我們對兩種不同類型的數(shù)據(jù)進(jìn)行運(yùn)算,較低數(shù)據(jù)類型(整數(shù))就會轉(zhuǎn)換為較高數(shù)據(jù)類型(浮點數(shù))以避免數(shù)據(jù)丟失。
num_int?=?123
num_flo?=?1.23
num_new?=?num_int + num_flo
print("num_new:?值為:",num_new)
print("num_new?數(shù)據(jù)類型為:",type(num_new))
輸出:
num_new: 值為: 124.23
num_new 數(shù)據(jù)類型為: <class 'float'>
顯式類型轉(zhuǎn)換
在顯式類型轉(zhuǎn)換中,用戶將對象的數(shù)據(jù)類型轉(zhuǎn)換為所需的數(shù)據(jù)類型。 我們使用 int()、float()、str() 等預(yù)定義函數(shù)來執(zhí)行顯式類型轉(zhuǎn)換。
int(x)? ?#??base -- 進(jìn)制數(shù),默認(rèn)十進(jìn)制。
將x轉(zhuǎn)換為一個整數(shù)
float(x)
將x轉(zhuǎn)換到一個浮點數(shù)
complex(real [,imag])
創(chuàng)建一個復(fù)數(shù)
complex(1, 2)(1 + 2j)?
>>> complex(1) ? ?# 數(shù)字(1 + 0j)?
str(x)
將對象 x 轉(zhuǎn)換為字符串
repr(x)
將對象 x 轉(zhuǎn)換為表達(dá)式字符串
eval(str)
用來計算在字符串中的有效Python表達(dá)式,并返回一個對象
tuple(s)
將序列 s 轉(zhuǎn)換為一個元組
list(s)
將序列 s 轉(zhuǎn)換為一個列表
set(s)
轉(zhuǎn)換為可變集合
dict(d)
創(chuàng)建一個字典。d 必須是一個 (key, value)元組序列。
frozenset(s)
轉(zhuǎn)換為不可變集合
chr(x)
將一個整數(shù)轉(zhuǎn)換為一個字符
ord(x)
將一個字符轉(zhuǎn)換為它的整數(shù)值
hex(x)
將一個整數(shù)轉(zhuǎn)換為一個十六進(jìn)制字符串
oct(x)
將一個整數(shù)轉(zhuǎn)換為一個八進(jìn)制字符串
變量類型判斷
type()函數(shù)
print(type(a))
isinstance()函數(shù)?
來判斷一個對象是否是一個已知的類型,類似 type()
?isinstance(10, int)? ?輸出 true
算數(shù)操作符
a=5
a=a+3? 輸出 a=8
a+=3? ?相當(dāng)于a=a+3? 輸出 a=11
b=3
b-=1? 輸出b=2
b*=10 輸出b=20
c/=4 輸出c=5
10//8=1
5%2=1
冪運(yùn)算:3**2=9? ?
python比較操作符
大于 >
大于等于>=
小于<
小于等于<=
不等于!=
等于==
eg: 直接輸入 1>3? 輸出 False
邏輯運(yùn)算符
and?(與): 全真為真,一假則假
eg:?直接輸入 1>3?and 4<7?輸出?False
or(或):一真為真,全假則假
not(非):
python的條件分支語法
一,
if 條件:
? ? 條件判斷為True時執(zhí)行的操作
else:
? ? 條件判斷為False時執(zhí)行的操作
二,
while 條件:
? ? ?條件判斷為True時執(zhí)行的操作
三,
for循環(huán)遍歷列表和元組
for 目標(biāo) in 表達(dá)式:
? ? ? 循環(huán)體
eg:
favourite=“FishC”
for i in favourite:
? ? ?print(i,end=“? ”)
輸出:F i s h C
member=【“小布丁”,“雜志”,“筆記本電腦”】
for each in member:
? ? print(each,len(member))
輸出:
小布丁 3
雜志 2
筆記本電腦 5
range()
range(start, stop[, step])
參數(shù)說明:
start: 計數(shù)從 start 開始。默認(rèn)是從 0 開始。例如range(5)等價于range(0, 5);
stop: 計數(shù)到 stop 結(jié)束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
step:步長,默認(rèn)為1。例如:range(0, 5) 等價于 range(0, 5, 1)
>>> range(0, 10, 3) ?# 步長為 3[0, 3, 6, 9]
>>> range(0, -10, -1) # 負(fù)數(shù)[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)? ?[]
>>> range(1, 0)?[]
>>>x = 'runoob'
>>> for i in range(len(x)) :
? ? ? ?? ? ?print(x[i])
輸出?r?u?n?o?o?b
條件表達(dá)式(三元操作符)
x,y=4,5
if x<y:
? ? small=x
else:
? ? small=y
可改進(jìn)為:
small= x if x<y else y
斷言assert
用于判斷一個表達(dá)式,在表達(dá)式條件為 false 的時候觸發(fā)異常。不必執(zhí)行接下來的代碼。
import 與 from...import
在 python 用?import?或者?from...import?來導(dǎo)入相應(yīng)的模塊。
將整個模塊(somemodule)導(dǎo)入,格式為:?import somemodule
從某個模塊中導(dǎo)入某個函數(shù),格式為:?from somemodule import somefunction
從某個模塊中導(dǎo)入多個函數(shù),格式為:?from somemodule import firstfunc, secondfunc, thirdfunc
將某個模塊中的全部函數(shù)導(dǎo)入,格式為:?from somemodule import *
小練習(xí)改進(jìn)
import random #導(dǎo)入隨機(jī)數(shù)模塊,randint()函數(shù)會返回一個隨機(jī)的整數(shù)
secret= random.randint(1,10)
print(“-----------------------來玩?zhèn)€小游戲吧-------------------------”)
temp= input("不妨猜一下我心中想的是哪個數(shù)字:”)
guess= int(temp)
while guess!=secret:
? ? ?temp= input("錯了哦,重新輸入個數(shù)字吧:”)
? ? ?guess= int(temp)
? ? ?if guess==secret:
? ? ? ? ?print("你是我肚里的蛔蟲嗎?”)
? ? ? ? ?print("哼,猜中了也沒有獎勵!”)
? ? ?else:
? ? ? ??if guess>secret:
? ? ? ??? ?print("大了”)
? ? ? ? else:
? ? ? ? ? ?print("小了!”)
print("游戲結(jié)束!”)?