03 基本數(shù)據(jù)類型
快捷鍵
- Ctrl + / 多行注釋
- Tab 縮進(jìn)
- Tab + Shift 反縮進(jìn)
- Shift + 回車 切換到下一行
- Alt + Enter 識別一些簡單的錯誤
查閱官網(wǎng) Documentation
- Library Reference-->Built-in Fuctions 函數(shù)
- Language Refenrence-->other tokens 關(guān)鍵字
1. ?個概念
- 代碼塊
就是代碼的一種分組機(jī)制,同一個代碼塊中要么都執(zhí)行要么都不執(zhí)行
代碼塊以縮進(jìn)開始
if False:
print('haha')
print(666)
- pass語句
代表的是空語句
作用:主要就是保持程序結(jié)構(gòu)的完整性,一般做占位語句
a=0
if a > 5:
...pass
- 函數(shù)
函數(shù) xxx()
方法 yyy.xxx() 特殊的函數(shù),yyy就是代表對象,xxx()代表的是yyy這個對象中方法
import requests
requests.get()
def fn():
......print('heiheihei')
r = fn()
print(r)
1.1表達(dá)式
- 表達(dá)式
是由數(shù)字、算符、數(shù)字分組符號(括號)、?由變量和約束變量等 以能求得數(shù)值的有意義排列?法所得的組合 - 表達(dá)式特點(diǎn)
表達(dá)式?般僅僅?于計算?些結(jié)果,不會對程序產(chǎn)?實(shí)質(zhì)性的影響
如果在交互模式中輸??個表達(dá)式,解釋器會?動將表達(dá)式的結(jié)果輸出
1.2語句
- ?個語法上?成體系的單位,它由?個詞或句法上有關(guān)連的?組詞構(gòu)成
- 語句的執(zhí)??般會對程序產(chǎn)??定的影響,在交互模式中不?定會輸出語句的執(zhí)?結(jié)果
1.3程序(program)
- 程序就是由?條?條的語句和?條?條的表達(dá)式構(gòu)成的。
1.4函數(shù)(function)
- 函數(shù)就是?種語句,函數(shù)專??來完成特定的功能
- 函數(shù)?的形如:xxx()
- 函數(shù)的分類:
內(nèi)置函數(shù) : 或者內(nèi)建函數(shù),就是由語法規(guī)定存在的函數(shù),這些函數(shù),包含在編譯器的運(yùn)?時庫中,程序員不?單獨(dú)書寫代碼實(shí)現(xiàn)它,只需要調(diào)?既可。
?定義函數(shù) : 由程序員?主的創(chuàng)建的函數(shù) 當(dāng)我們需要完成某個功能時,就可以去調(diào)?內(nèi)置函數(shù),或者?定義函數(shù) - 函數(shù)的2個要素
參數(shù): ()中的內(nèi)容我們稱之為參數(shù),可以有參數(shù)也可以沒有參數(shù),如果有多個參數(shù)要用英文逗號隔開
返回值:函數(shù)返回的結(jié)果,有的函數(shù)有返回值,有的函數(shù)沒有返回值
2.標(biāo)識符
- Python語言的組成:1.關(guān)鍵字、2.標(biāo)識符、3.注釋、4.變量和數(shù)值、5.運(yùn)算符、6.語句、7.函數(shù)、8.序列
2.1關(guān)鍵字
-
python?些具有特殊功能的標(biāo)識符,這就是所謂的關(guān)鍵字關(guān)鍵字,是python 已經(jīng)使?的了,所以不允許開發(fā)者??定義和關(guān)鍵字相同的名字的標(biāo)識符
2.2標(biāo)識符概念
- 開發(fā)?員在程序中?定義的?些符號和名稱。標(biāo)識符是??定義的,如變量名 、函數(shù)名等
- 組成:由26個英?字???寫,數(shù)字 0-9 符號 _$
- 標(biāo)識符的規(guī)則:
1.標(biāo)識符中可以包含字?、數(shù)字、_,但是不能使?數(shù)字開頭
例如: name1 name_1 _name1 1name(不?)
2.Python中不能使?關(guān)鍵字和保留字來作為標(biāo)識符 - 命名?式
1.駝峰命名法
?駝峰式命名法: 第?個單詞以?寫字?開始;第?個單詞的?字??寫,例如:myName、aDog
?駝峰式命名法: 每?個單字的?字?都采??寫字?,例如: FirstName、LastName
2.下劃線命名法
不過在程序員中還有?種命名法?較流?,就是?下劃線“_”來連接所有 的單詞,?如 get_url buffer_size
3.基本數(shù)據(jù)類型
- 數(shù)據(jù)類型指的就是變量的值的類型,也就是可以為變量賦哪些值
3.1整數(shù)和?數(shù)
- 整數(shù) : 所有整數(shù) 例如 : a = 1 b = 100 c =999 都是int類型
c = 123_465_798
print(c)
結(jié)果:123465798
- ?數(shù)常量 : 所有?數(shù) 例如 a = 1.2 b=6.66 ?float類型表示
3.2布爾值和空值
- 布爾: 只有2個值?個是True ?個是False (布爾值也屬于特殊的整型:True相當(dāng)于1,F(xiàn)alse相當(dāng)于0)
print(1+True) #True代表的是1
print(2-False) #False代表的是0
while True:
print(1)
<---->等價于
while 1:
print(1)
- 常量:只有?個數(shù)值就是None 也就是空值
4.變量
4.1變量的概念
- 變量是計算機(jī)內(nèi)存中的?塊區(qū)域,存儲規(guī)定范圍內(nèi)的值,值可以改變,通俗的說變量就是給數(shù)據(jù)起個名字。
- 變量命名規(guī)則
變量名由字?、數(shù)字、下劃線組成要符合標(biāo)識符的命名規(guī)范
數(shù)字不能開頭
不能使?關(guān)鍵字 - 注意 : 是兩個對象相等和兩個對象是同?個對象是兩個概念
s1 = {'Jerry':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry': 'Python'}
print(id(s1),id(s2))
print(s1==s2) #True
4.2變量的運(yùn)算

- 變量的運(yùn)算就是正常的四則運(yùn)算 ,需要注意的是在運(yùn)算過程中含有浮點(diǎn)數(shù),那么它返回的就是?個浮點(diǎn)數(shù)類型
5.字符串
5.1什么是字符串
- 字符串是由數(shù)字、字?、下劃線組成的?串字符
- 注意
單引號和雙引號不能混合使?
Python中??對雙引號或者?對單引號包裹的內(nèi)容就是字符串
5.2轉(zhuǎn)義字符
- 轉(zhuǎn)義字符是?種特殊的字符常量。轉(zhuǎn)義字符以反斜線""開頭,后跟?個或?個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符
- 總結(jié)
- \t 表示制表符
- \n 表示換?符
- \ \ 表示反斜杠
- \ ' 表示 '
- \ '' 表示 ''
s1 = '窈窕淑女\t君子好逑'
s2 = '窈窕淑女\n君子好逑'
print(s1,s2)
結(jié)果:
1:窈窕淑女 君子好逑
2:窈窕淑女
.....君子好逑
5.3?字符串
- ?字符串 ?叫做?檔字符串 ?三重引號來表示?個?字符串''' '''
- 三重引號可以換?,并且會保留字符串中的格式
s = '關(guān)關(guān)雎鳩,在河之洲,窈窕淑女,君子好逑'
s = '關(guān)關(guān)雎鳩,\n在河之洲,\n窈窕淑女,\n君子好逑'
s = '''關(guān)關(guān)雎鳩,
在河之洲,
窈窕淑女,
君子好逑
'''
5.4格式化字符串
- 第?種格式化字符串 拼串
s = 'hello'
print('s = '+ s)
結(jié)果:s = hello
- 第?種格式化字符串 參數(shù)傳遞
s = 'hello'
print('abc','bcd')
print('s =',s)
結(jié)果:
abc bcd
s = hello
- 第三種格式化字符串 占位符
在創(chuàng)建字符串的時候可以在字符串中指定占位符
%s 字符串占位
%f 浮點(diǎn)數(shù)占位
%d 整數(shù)占位
s1 = 's = %s'%'hello'
s2 = 's = %s,s2 = %s'%('hello','world') # 有幾個占位就得有幾個對應(yīng)的值
print(s1)
print(s2)
結(jié)果:
s = hello
s = hello,s2 = world
s = '張三 %d歲。%s歲數(shù)更大!'%(22,'李四')
print(s)
結(jié)果:張三 22歲。李四歲數(shù)更大!
- 第四種格式化字符串 f'{變量}'/ str.format()
二者區(qū)別:前提有變量的時候,用f'{變量}';沒有變量的時候,用str.format,花括號里面為空或者從0、1開始
注:r' ' 意思是r后面當(dāng)成普通字符串處理即可,例:r'G:/news'(其中/n不是換行符,就是普通字符串)
f'{ }' 里面是個占位符,有個變量,沒有f的時候打印的是這個變量字符串,有f之后打印的是變量代表的值
s1 = '鋼鐵俠'
s2 = '葫蘆娃'
s = f'hello {s1},{s2}'
print(s)
結(jié)果:hello 鋼鐵俠,葫蘆娃
age = 22
name = '李四'
s = f'張三 {age}歲。{name}歲數(shù)更大!'
print(s)
結(jié)果:張三 22歲。李四歲數(shù)更大!
s = 'i like {0}' #大括號里的索引從0開始
b = s.format('python')
print(b)
結(jié)果:i like python
s = 'i like {1},{0}' #0、1次序沒有要求
s1 = s.format('美女','美食')
print(s1)
結(jié)果:i like 美食,美女
s = '張三 {}歲。{}歲數(shù)更大!'
s1 = s.format(22,'李四')
print(s1)
結(jié)果:張三 22歲。李四歲數(shù)更大!
練習(xí):打印 521 女神 嫁給我好嗎?
1、print("521 "+"女神 "+"嫁給我好嗎?")
2、print("521","女神","嫁給我好嗎?")
3、s="%s,%s,%s"%("521","女神","嫁給我好嗎?")
.....print(s)
4、s1="521"
......s2="女神"
......s3="嫁給我好嗎?"
......s=f'{s1},{s2},{s3}'
......print(s)
5、s='{},{},{}'
.....s1=s.format("521","女神","嫁給我好嗎?")
.....print(s1)
結(jié)果:
521 女神 嫁給我好嗎?
521 女神 嫁給我好嗎?
521,女神,嫁給我好嗎?
521,女神,嫁給我好嗎?
521,女神,嫁給我好嗎?
5.5字符串的其他操作
- len() 字符串的?度
print(len('iloveyou12'))
結(jié)果:10
- max() 最?值 #比較的是字符所對應(yīng)的ascii值
- min() 最?值
c = '1234567'
print(max(c))
print(min(c))
結(jié)果:7 1
a = 'Jerry Python'
print(max(a))
print(min(a)) #最小值是空格
結(jié)果:y ' '
- split()分割字符串
s = 'i love china'
b = s.split(' ')
print(b)
結(jié)果:['i', 'love', 'china']
- join()拼接字符串
str.join() : str 你要分割的方式
b = 'abc' # 以 -的方式來分割字符
result = '-'.join(b)
print(result)
結(jié)果:a-b-c
- 去空格
s.strip() 左右兩邊去空格
s.lstrip() 去左邊空格
s.rstrip() 去右邊空格
e = ' Python '
print(e.strip())
print(e.rstrip())
結(jié)果:Python
.............Python
- 字符串??寫
s.upper() 全部?寫
s.lower() 全部?寫
s.isupper() 判斷是不是?寫
s.islower() 判斷是不是?寫
a = 'python'
print(a.islower())
結(jié)果:True

