2020-07-06數(shù)據(jù)分析基礎(chǔ)班3

03 基本數(shù)據(jù)類型

1.幾個概念

1.1 表達式

定義:表達式膀钠,就是由數(shù)字杖刷、算符斤儿、數(shù)字分組符號(括號)剧包、自由變量和約束變量等恐锦,以能求得數(shù)值的有意義排列方法所得的組合。例如:1+12*4

表達式特點:

(1)表達式一般僅僅用于計算一些結(jié)果疆液,不會對程序產(chǎn)生實質(zhì)性的影響

(2)如果在交互模式中輸入一個表達式一铅,解釋器會自動將表達式的結(jié)果輸出


1.2 語句

定義:一個語法上自成體系的單位,它由一個詞或句法上有關(guān)連的一組詞構(gòu)成枚粘。在程序中馅闽,語句一般是要完成某些功能,如print();input();for XXX in yyy......

語句的執(zhí)行一般會對程序產(chǎn)生一定的影響,在交互模式中不一定會輸出語句的執(zhí)行結(jié)果馍迄。

代碼塊:Python程序是由代碼塊構(gòu)造的福也。塊是一個python程序的文本,是作為一個單元執(zhí)行的攀圈。一個模塊暴凑,一個函數(shù),一個類赘来,一個文件等都是一個代碼塊捞魁。

而作為交互方式輸入的每個命令都是一個代碼塊胧弛。例如:條件控制語句凹耙。

pass語句:python中的空語句填物,只是用來保證我們程序結(jié)構(gòu)的完整性(沒想好怎么寫的時候)


1.3程序

定義:程序就是由一條一條的語句和一條一條的表達式構(gòu)成的,表達式和語句是構(gòu)成程序的最小基本單位幌缝。


1.4函數(shù)

(1)定義:函數(shù)就是一種語句灸促,函數(shù)專門用來完成特定的功能。函數(shù)形如:xxx()? 涵卵, 比如:max() min() len() print() input()

(2)函數(shù)的分類:

內(nèi)置函數(shù) : 或者稱為內(nèi)建函數(shù)浴栽,就是由語法規(guī)定存在的函數(shù),這些函數(shù)轿偎,包含在編譯器的運行時庫中典鸡,程序員不比單獨書寫代碼實現(xiàn)它,只需要調(diào)用既可坏晦。(詳見官網(wǎng))

自定義函數(shù) ?:? ?由程序員自主的創(chuàng)建的函數(shù) ?當我們需要完成某個功能時萝玷,就可以去調(diào)用內(nèi)置函數(shù),或者自定義函數(shù)昆婿。

(3)函數(shù)的2個要素:

參數(shù):函數(shù)中括號的內(nèi)容间护,可以有一個,可以有多個挖诸,若有多個,用英文逗號,隔開法精。比如print(a,b)多律。也可以沒有內(nèi)容痴突。

返回值? ?:就是函數(shù)返回的結(jié)果。


2. 標識符

2.1 關(guān)鍵字

python語言的組成:

(1)關(guān)鍵字(2)標識符(3)注釋(4)變量和數(shù)值(5)運算符(6)語句(7)函數(shù)(8)序列

定義:所謂的關(guān)鍵字狼荞,就是python一些具有特殊功能的標識符辽装,是python已經(jīng)使用的了,所以不允許開發(fā)者自己定義和關(guān)鍵字相同的名字的標識符 相味。

python的關(guān)鍵字

2.2 標識符概念 

(1)定義:開發(fā)人員在程序中自定義的一些符號和名稱拾积。標識符是自己定義的,如變量名 、函數(shù)名丰涉、類名等拓巧。由26個英文字母大小寫,數(shù)字 0-9 符號 _$ 組成

(2)標識符的規(guī)則:

#標識符中可以包含字母一死、數(shù)字肛度、下劃線_,但是不能使用數(shù)字開頭投慈,例如:name1 name_1 _name1 1name(不行)

#Python中不能使用關(guān)鍵字和保留字來作為標識符

(3)命名方式:

#駝峰命名法

小駝峰式命名法: 第一個單詞以小寫字母開始承耿;第二個單詞的首字母大寫,例如:myName伪煤、aDog

大駝峰式命名法: 每一個單字的首字母都采用大寫字母加袋,例如:FirstName、LastName

#下劃線命名法

不過在程序員中還有一種命名法比較流行抱既,就是用下劃線“_”來連接所有的單詞职烧,比如 get_url ?buffer_size


3. 基本數(shù)據(jù)類型

定義:數(shù)據(jù)類型,指的就是變量的值的類型蝙砌。


3.1 整數(shù)和小數(shù)

整數(shù) : 所有整數(shù)? ? 例如 : a = 1 b = 100 c =999? 都是int類型阳堕。如果數(shù)值太大,可以隔三位用下劃線_分開

小數(shù)常量 : 所有小數(shù)? ? ?例如 a = 1.2 b=6.66? 用float類型表示择克。

浮點型運算恬总,特點是會保留近似值,是因為二進制轉(zhuǎn)換成十進制的原因肚邢,比如0.3=0.30000000000000004


3.2 布爾值和空值

(1)布爾值:?只有2個值一個是真值True 一個是假值False壹堰,布爾常量是做邏輯判斷的。

#########? 它們也屬于特殊的整型骡湖,True相當于1贱纠,F(xiàn)alse相當于0

(2)None常量:只有一個數(shù)值就是None 也就是空值


4 變量

4.1 變量的概念

(1)定義:變量是計算機內(nèi)存中的一塊區(qū)域,存儲規(guī)定范圍內(nèi)的值响蕴,值可以改變谆焊,通俗的說變量就是給數(shù)據(jù)起個名字。

(2)變量命名規(guī)則:

變量名由字母浦夷、數(shù)字辖试、下劃線組成要符合標識符的命名規(guī)范:數(shù)字不能開頭辜王,不能使用關(guān)鍵字。

#注意 : 兩個對象相等罐孝,和兩個對象是同一個對象呐馆,是兩個概念,即:兩個對象的值相等莲兢,不代表他們是同一個對象汹来,例如:

d1 = {'Jerry':'Python'}? ? ? ?#字典

import copy

d2 = copy.deepcopy(d1)? ? # 把d1的值copy給d2

print(d2)? ? ? ? ? ? # 結(jié)果是:{'Jerry': 'Python'}

print(id(d1),id(d2))? ? #返回的結(jié)果是兩個不同的對象id:2159738099816 2159738100616,說明是不一樣的對象

print(d1==d2)? ? #返回的結(jié)果:True改艇,說明兩個對象的值是相等的


4.2變量的運算

加法
乘法

變量的運算就是正常的四則運算 ,需要注意的是:在運算過程中含有浮點數(shù)收班,那么它返回的結(jié)果就是一個浮點數(shù)類型。


5 字符串

5.1 什么是字符串

(1)定義:字符串是由數(shù)字遣耍、字母闺阱、下劃線組成的一串字符

(2)注意:

#單引號和雙引號不能混合使用

#Python中用一對單引號,或者一對雙引號包裹的內(nèi)容就是字符串

#嵌套:"Let's play!"


5.2 轉(zhuǎn)義字符

(1)定義:轉(zhuǎn)義字符是一種特殊的字符常量舵变,告訴解釋器它不是用于包裹字符串的酣溃。轉(zhuǎn)義字符以反斜線"\"開頭,后跟一個或幾個字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符

(2)總結(jié):

\t 表示制表符纪隙,跳到下一個Tab的位置

\n 表示換行符赊豌,寫在新一行開頭

\\ 表示反斜杠

\' ?表示 '? ??

\ '' 表示 ''

......

5.3 長字符串

(1)定義:長字符串,又叫做文檔字符串绵咱,我們使用三重引號來表示一個長字符串''' '''

(2)注意:三重引號可以換行碘饼,并且會保留字符串中的格式,

例如:

love='''我愛你悲伶,

趙云'''

print(love)

結(jié)果:

我愛你艾恼,

趙云


5.4 格式化字符串

第一種格式化字符串 拼串

用加號+拼接字符串(其他類型【如整數(shù)】和字符串不能拼接),用于如:拼接url? ? ?url = 'https:' + /xxx/xxxx.img

舉例1:

>>>'6'+'6'

'66'

舉例2:

s = 'hello'

print('s = '+ s)? ? ?

s = hello


第二種格式化字符串 參數(shù)傳遞

print函數(shù)里面可以有多個參數(shù)麸锉,參數(shù)之間就是用逗號,連接

舉例1:

print('abc','nba')? ?

abc nba

舉例2:

s ='hello'

print('s = ',s)

s = hello


第三種格式化字符串 占位符

%s 字符串占位

%f 浮點數(shù)占位

%d 整數(shù)占位

舉例1:

>>>'I love %s'%'study'

'I love study'

舉例2:

>>>a='I love %s'

>>>a % 'python'

'I love python'

舉例3:

print('s = %s' % 'hello')

s = hello

舉例4:

s ='s = %s, s2 = %s'?%?('hello','python')? ? #若%后只有一個字符串钠绍,或者有兩個但是沒有放在元組()里,就會報錯TypeError: not enough arguments for format string

print(s)

s = hello, s2 = python

舉例5:

a='云今天跑了 %d 公里花沉,%s竟然比他跑得更多柳爽。'%(4,'信''和''守約')

print(a)

云今天跑了 4 公里,信和守約竟然比他跑得更多碱屁。

舉例6:

a='云今天跑了 %d 公里磷脯,比他跑得更多的竟然是%s'%(4,'信''和''守約''。')

print(a)

云今天跑了 4 公里娩脾,比他跑得更多的竟然是信和守約赵誓。


第四種格式化字符串? ? f+str &?r+str? & str.format

(1) f+str? ? (即f'{變量1}{變量2}......')

舉例1:

baby1='趙云'

baby2='百里守約'

x=f'王者榮耀里,我愛{baby1},也愛{baby2}俩功。'

print(x)

#王者榮耀里隘冲,我愛趙云,也愛百里守約绑雄。

舉例2:

babe='趙云'

h=f'i love {babe}'

print(h)

i love趙云


(2)r+str (正則表達式*除外)

舉例1:

x=r'python'? ?

print(x)

python

舉例2:

x=r'python','suck'

print(x)

('python', 'suck')


(3) str.format

錯誤例子:

s = 'i like {a}'

a = s.format('python')

print(a)

不行,沒找到a奥邮,KeyError: 'a'

正確例子:

s = 'i like {}'

a = s.format('python')

print(a)

i like python

或者花括號里多加一個0 也可以(加一個1就不行万牺,會報錯IndexError: tuple index out of range,越界了洽腺,所以啥也不寫最好)

s ='i like {0}'

a = s.format('python')

print(a)

i like python

有兩個的話同理脚粟,花括號里可以啥也不寫,也可以填入0和1 (?寫1和2就不行蘸朋,又出現(xiàn)IndexError: tuple index out of range)

s = 'i like {0},{1}'? ? ?

a = s.format('python','java')

print(a)

i like python,java

舉例1:

a='我最喜歡趙云的英雄皮膚是{},{}'

b=a.format('龍膽','白執(zhí)事')

print(b)

我最喜歡趙云的英雄皮膚是龍膽,白執(zhí)事

舉例2:

a='我最喜歡的女英雄是{}'

b=a.format('花木蘭')

print(b)

我最喜歡的女英雄是花木蘭


練習

(1)占位符方法

d = '張三 %d 歲. %s歲數(shù)更大'%(22,'李四')? ? ? ? ? ?#括號是元組

print(d)

張三22 歲. 李四歲數(shù)更大


(2)str.format 方法

d = '張三 {0} 歲. {1}歲數(shù)更大'

r = d.format(22,'李四')

print(r)

張三22 歲. 李四歲數(shù)更大


(3)f+str 的方法

age =22

name ='李四'

w =f'張三{age} 歲,{name}歲數(shù)更大'

print(w)

張三22歲,李四歲數(shù)更大


5.5 字符串的其他操作

(1)len()? 用于字符串的長度(有多少個字核无,包括空格)

舉例1:

print(len('i love zhaoyun'))

14

舉例2:

print(len('iloveyou'))

8


(2)max() 最大值? ? ?-----比較的是ascii碼的值?

舉例1:

x='abc'

print(max(x))

c

舉例2:

a=10

b=33

c=21

x=a,b,c

print(max(x))


(3)min() 最小值

x='abc'

print(min(x))

a


綜合舉例:

a ='Jerry Python'

print(max(a),min(a))

y? ? ? ?#最大值是y,最小值是空格


ord()函數(shù)可以去查找字符所對應ascii值

print(ord('y'),ord(' '))

121 32

特殊:一個反斜杠有轉(zhuǎn)義的作用藕坯,所以測不出來团南,兩個才代表一個反斜杠

print(ord('\\'))

92


拓展:

判斷一個字符串是否在這個字符串當中,用in炼彪,如果在返回True 如果不在返回Fasle

舉例:

c='abc'

print('a' in c)

True

否則:

print('j' in c)

False


(4)split()?分割字符串吐根,分割之后會把結(jié)果返回到一個列表里面

應用舉例:分割網(wǎng)址,要選擇最好的分割方式辐马,如/ . =

http://www.reibang.com/writer#/notebooks/12284287/notes/73041915

舉例1:

s ='I love china'

r=s.split(' ')? ? ----單引號間為分割方式拷橘,此處是空格

print(r)

['I', 'love', 'china']? ?----列表

舉例2:

s1 ='www.baidu.com'

r = s1.split('.')? ? ?-----單引號間是.?

print(r)

['www', 'baidu', 'com']


(5)join() 拼接字符串,語法:str.join(seq)? ? ? str是拼接的方式喜爷,seq是序列的內(nèi)容

a ='abc' #以 - 拼接冗疮,效果是a-b-c

r ='-'.join(a)

print(r)

a-b-c


去空格

(1)s.strip() 左右兩邊去空格

s.strip()左右兩邊去空格

s =' Python '? ? ?----左右兩邊有空格

r = s.strip()

print(s)

?Python? ? ----直接打印s的話,左右兩邊有空格

print(r)

Python? ? ?----用了s.strip()的r檩帐,打印出來就去掉了兩邊的空格


(2)s.lstrip() 去左邊空格

s =' Python '

print(s.lstrip())

Python? ? ? ----右邊仍有空格


(3)s.rstrip() 去右邊空格

s =' Python '

print(s.rstrip())

?Python? ? ----左邊仍有空格


字符串大小寫

(1)s.upper() 全部大寫

a ='I Love China'

print(a.upper())

I LOVE CHINA


(2)s.lower() 全部小寫

a ='I Love China'

print(a.lower())

i love china


(3)s.isupper() 判斷是不是大寫术幔,如果是就返回True,如果不是則返回False

b ='HELLO'

print(b.isupper())

True


(4)s.islower() 判斷是不是小寫,如果是就返回True,如果不是則返回False

b ='HELLO'

print(b.islower())

False


###今日作業(yè)

1. 練習課堂中老師敲的代碼

2.現(xiàn)在 a,b = 6, 8 轿塔,如果想讓a=8 b=6特愿,該怎么辦?用2種方式實現(xiàn)勾缭。

兩種交換變量的方式

參考文章:https://www.cnblogs.com/oldfish123/p/11780271.html


3.print()語句練習揍障,用兩種方式打印 “hello,python”。

有4種方法
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俩由,一起剝皮案震驚了整個濱河市毒嫡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖兜畸,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件努释,死亡現(xiàn)場離奇詭異,居然都是意外死亡咬摇,警方通過查閱死者的電腦和手機伐蒂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肛鹏,“玉大人逸邦,你說我怎么就攤上這事≡谌牛” “怎么了缕减?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芒珠。 經(jīng)常有香客問我桥狡,道長,這世上最難降的妖魔是什么皱卓? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任裹芝,我火速辦了婚禮,結(jié)果婚禮上好爬,老公的妹妹穿的比我還像新娘局雄。我一直安慰自己,他們只是感情好存炮,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布炬搭。 她就那樣靜靜地躺著,像睡著了一般穆桂。 火紅的嫁衣襯著肌膚如雪宫盔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天享完,我揣著相機與錄音灼芭,去河邊找鬼。 笑死般又,一個胖子當著我的面吹牛彼绷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播茴迁,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼寄悯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了堕义?” 一聲冷哼從身側(cè)響起猜旬,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后洒擦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椿争,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年熟嫩,在試婚紗的時候發(fā)現(xiàn)自己被綠了秦踪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡掸茅,死狀恐怖洋侨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情倦蚪,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布边苹,位于F島的核電站陵且,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏个束。R本人自食惡果不足惜慕购,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望茬底。 院中可真熱鬧沪悲,春花似錦、人聲如沸阱表。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽最爬。三九已至涉馁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間爱致,已是汗流浹背烤送。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留糠悯,地道東北人帮坚。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像互艾,于是被迫代替她去往敵國和親试和。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361