久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python基礎(chǔ)學(xué)習(xí)筆記(一)變量與數(shù)據(jù)類型

 山峰云繞 2021-02-01

https://m.toutiao.com/is/J3fN6eK/ 



Python是一門易學(xué)的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,,可以輕易地完成界面、文件,、封裝等高階需求,,可移植性好,,有非常多功能強(qiáng)大的庫(kù)與包,如Numpy(數(shù)值計(jì)算),、SciPy(數(shù)學(xué)、科學(xué)與工程計(jì)算),、Matplotlib(數(shù)據(jù)繪圖工具)等等,可以進(jìn)行應(yīng)用程序開發(fā),、數(shù)據(jù)可視化、網(wǎng)站后端,,近年來人工智能機(jī)器學(xué)習(xí)的火爆,,作為首選開發(fā)語(yǔ)言Python更是成為了編程語(yǔ)言中的香餑餑。它的代碼結(jié)構(gòu)清晰,、簡(jiǎn)單易學(xué),,我們有什么理由不好好學(xué)習(xí)一下Python呢~我們從今天開始,正式開始學(xué)習(xí)Python的基礎(chǔ)知識(shí):

本節(jié)知識(shí)框架:

本節(jié)知識(shí)框架

一,、程序的結(jié)構(gòu)

Python程序的結(jié)構(gòu)

1. 程序的入口main函數(shù)

定義了一個(gè)個(gè)函數(shù)后,,怎么調(diào)用這些函數(shù)呢?使用main函數(shù)調(diào)用它

1.# 程序的入口:main函數(shù)2.if __name__ == '__main__':3. function()# 要調(diào)用的函數(shù)

為了讓程序具有更強(qiáng)的可讀性,,需要為程序設(shè)置一個(gè)入口,,這個(gè)入口就是main函數(shù)。

2. 注釋

(1) Python里單引號(hào)與雙引號(hào)所具有的功能是一樣的,,多行注釋通常使用三對(duì)單引號(hào)或者三對(duì)雙引號(hào),;

(2)對(duì)于某一句代碼的注釋通常寫在代碼的上一行使用#進(jìn)行注釋;

(3)像下面這種注釋比較規(guī)范

1.# !/usr/share/pythonprj/2.# -*- coding:UTF-8 -*-3.4.'''5.模塊介紹:實(shí)現(xiàn)加減乘除運(yùn)算6.~~~~~~~~~~~~~~~~~~~~~7.兩數(shù)相加:add(num01,num02)8.兩束相減:sub(num01,num02)9.兩數(shù)相乘:mul(num01,num02)10.兩數(shù)相除:del(num01,num02)11.'''12.13.def add(num01,num02):14.    # 返回兩數(shù)之和15.    return num01 + num0216.17.def sub(num01,num02):18.    # 返回兩數(shù)之差19.    return num01-num0220.21.def mul(num01,num02):22.    # 返回兩數(shù)之乘23.    return  num01*num0224.25.def div(num01,num02):26.    # 返回兩數(shù)之商27.    return num01/num02

3. print打印

(1)print(“helloworld”)其實(shí)系統(tǒng)默認(rèn)隱藏了一個(gè)參數(shù)end,完整的print()語(yǔ)句是print('helloworld',end='\n'),,所以print語(yǔ)句打印會(huì)自動(dòng)換行,,如果想讓其不換行打印,我們把end參數(shù)的\n去掉即可,。

(2)print(a,b)實(shí)際含義是不換行分別打印print(a)print(b)

(3)一次性打印多個(gè)值

1.print('tom','jerry','alice','tom')

打印的結(jié)果是

1.tom jerry alice tom

打印的內(nèi)容直接默認(rèn)是用空格連接,,如果我們想打印的內(nèi)容之間使用其它連接符連接可以使用分割符sep參數(shù),如果使用==連接,,就可以這樣寫:

1.print('tom','jerry','alice','tom',sep='==')

這樣打印的結(jié)果就是

1.tom==jerry==alice==tom

這樣就可以在所有的元素之間加上你想要的分隔符

(4)把打印的內(nèi)容輸出到文件

1.str01 = '本次消費(fèi)的金額為100元'2.f = open('/Users/yushengtan/desktop/sales.txt','w')3.print(str01,file = f)

這樣就能把打印的內(nèi)容輸出到文件中,;

4. Input輸入

所有輸入的字符,都會(huì)被系統(tǒng)當(dāng)做字符串 題目:輸入兩個(gè)數(shù),,求兩個(gè)數(shù)之和:

1.# 方法一2.num01 = input('請(qǐng)輸入第一個(gè)數(shù):')3.num02 = input('請(qǐng)輸入第二個(gè)數(shù):')4.print('兩個(gè)數(shù)之和等于:{:d}'.format(int(num01)+int(num02)))5.# 方法二6.num01,num02 = eval(input('請(qǐng)輸入兩個(gè)數(shù),,以逗號(hào)分割:'))7.print('%d + %d = %d' % (num01,num02,num01+num02))

這里的eval函數(shù)的特點(diǎn):

a. 只能一次輸入多個(gè)整數(shù),不能是字符串

b. 輸入后自動(dòng)轉(zhuǎn)化為int類型

二,、變量

1. 什么是變量

變量是一個(gè)什么都能裝的容器,,只要是數(shù)據(jù)都能存; 不需要事先聲明變量類型

2. 使用變量

(1)變量名由字母,、數(shù)字,、下劃線、組成,不能以數(shù)字開頭

(2)區(qū)分大小寫

(3)變量名中不能包含空格

(4)不能使用Python中的關(guān)鍵字

(5)變量命名使用小寫字母,,見名知意,,多個(gè)單詞用下劃線連接;

(6)一次定義多個(gè)變量,可以寫成一行a=1;a=2;a=3或者a,b,c = 1,2,3

3. 變量如何存儲(chǔ)數(shù)據(jù)

變量是為了方便取出存儲(chǔ)在內(nèi)存中的數(shù)據(jù),,對(duì)于數(shù)值類型,,相同的值只存儲(chǔ)一份。

三,、 數(shù)據(jù)類型

1. 數(shù)據(jù)類型的種類

(1)Python3里整形只有int型,,無(wú)論多大的數(shù)值都可以存;

(2)浮點(diǎn)型float精度只有17位,,超過17位自動(dòng)轉(zhuǎn)化為科學(xué)計(jì)數(shù)法進(jìn)行表示

(3)布爾類型,,TrueFalse

(4)字符串型,可以直接通過取字符串中的數(shù)值,。

1.str01 = 'xiaoyu'2.print(str01[0]) #打印的結(jié)果就是`x`3.print(str01[1:3]) #打印的結(jié)果就是`ia`4.print(str01[-1]) #打印的結(jié)果就是`u`

2. 數(shù)據(jù)類型轉(zhuǎn)換

方法:要轉(zhuǎn)換的類型(數(shù)據(jù))

要把字符類型x轉(zhuǎn)換為整數(shù)類型 int(x)

把x轉(zhuǎn)化為字符串:str(x)

把整數(shù)x轉(zhuǎn)化為字符:chr(x)

把一個(gè)字符串轉(zhuǎn)化為它的整數(shù)值:ord(x)

將一個(gè)整數(shù)轉(zhuǎn)化為十六進(jìn)制字符串:hex(x)

將一個(gè)整數(shù)轉(zhuǎn)化為八進(jìn)制字符串:oct(x)

將一個(gè)整數(shù)轉(zhuǎn)化為二進(jìn)制字符串:bin(x)

3. 如何獲取變量的數(shù)據(jù)類型,?如何判斷變量是不是屬于一個(gè)數(shù)據(jù)類型?

可以通過type(變量名)就可以知道變量的數(shù)據(jù)類型,;

可以使用isinstance方法,,isinstance(變量名,(數(shù)據(jù)類型))

1.if isinstance(str01,(str)):2.    print('字符型')

4. 數(shù)值類型

(1)如何查看變量占用多少內(nèi)存空間? 要導(dǎo)入模塊sys,,調(diào)用方法sys.getsizeof(變量名)

1.num01 = 10002.print('num01占用的空間:',sys.getsizeof(num01))

(2)八進(jìn)制0o開頭,,十六進(jìn)制0x開頭

(3)整形數(shù)值常見方法:

  • abs() 絕對(duì)值
  • math.fabs() 絕對(duì)值
  • math.sqrt() 平方根
  • math.pow(a,b) a的b次方
  • max() 返回最大值
  • min() 返回最小值

(4)獲取整數(shù)位,保留指定位數(shù)有效數(shù)字 使用round方法:

1.print(round(12.3456))  #輸出結(jié)果只會(huì)打印122.print(round(12.3456,2))  #輸出結(jié)果為12.35

使用math.ceil()方法,,返回?cái)?shù)字的上入,;

使用math.floor()方法,返回?cái)?shù)字的下舍,;

使用modf()方法,,返回兩個(gè)數(shù)值,前一個(gè)數(shù)是小數(shù)部分,、后一個(gè)個(gè)數(shù)是整數(shù)部分,;

1.print(math.modf(12.22)) #返回(0.22,12.0

5.字符串類型

(1)表示方法

字符串?dāng)?shù)據(jù)類型使用單引號(hào)雙引號(hào)都可以,;

1.str01 = 'xiaoyu'2.str02 = 'hello'

(2)長(zhǎng)字符串的表示方法

  • 使用續(xù)航符\
1.str03 = 'hello nice to meet you'\2.'my name is xiaoyu'
  • 使用三個(gè)雙引號(hào)或者三個(gè)單引號(hào)
1.str04 = ''' hello nice to meet you2.my name is xiaoyu3.'''

使用三個(gè)單引號(hào)或者雙引號(hào)可以保留原長(zhǎng)字符串的長(zhǎng)文本排版格式

(3)轉(zhuǎn)義字符和取消轉(zhuǎn)義

打印字符串的時(shí)候使用斜杠加字母表示一個(gè)特殊的功能

\t 表示橫向制表符

\n 表示回車換行

\'表示打印雙引號(hào)'

\\表示打印反斜杠\

對(duì)于某些特殊的符號(hào),,使用取消專業(yè)字符來表示特符號(hào)本身,將其打印出來,,在要打印的字符串引號(hào)前加一個(gè)字符r表示要打印的字符串不具備轉(zhuǎn)義的功能

1.print('\\') # 打印出來的結(jié)果只有一個(gè) \2.print(r'\\') #這樣就可以原封不動(dòng)打印出來 \\

(4)字符串運(yùn)算符+

符號(hào)+能讓兩個(gè)字符串連在一起,;

1.print('my name is '+'xiaoyu')

符號(hào)*能讓字符串按照指定次數(shù)打印;

1.print('hello '*10) # 這樣就可以打印十個(gè)hello

(5)索引的方式

1.str01 = 'abcdefghijklmnopq'2.print(str01[0])  #打印第一個(gè)字符3.print(str01[-1])  #打印最后一個(gè)字符4.print(str01[5])  #打印第四個(gè)字符5.print(str01[-5])  #打印倒數(shù)第五個(gè)字符6.print(str01[3:10])  #打印第四到第十個(gè)字符

求字符串的長(zhǎng)度可以用len()

(6)是否包含

1.str01 = 'abc'2.str02 = 'abcdefg'3.print('是否包含:',str01 in str02)4.print('是否不包含:',str01 not in str02)

(7)判斷是否相等

1.print(str01 == str02)  #判斷字符串是否相等2.print(str01 is str02)  #判斷字符串是否是同一個(gè)對(duì)象

四、 格式化輸入輸出

1. 百分號(hào)形式格式化輸出

(1)整數(shù)格式化輸出占位符

  • %d 十進(jìn)制輸出
  • %o 八進(jìn)制輸出
  • %x 十六進(jìn)制輸出

注意:數(shù)值源與輸出內(nèi)容之間沒有逗號(hào)分隔,,這里容易與C語(yǔ)言或者Java混淆 讓十進(jìn)制數(shù)100,,以八進(jìn)制輸出:

1.num01 = 1002.print('十進(jìn)制100的八進(jìn)制數(shù)值為%o'%num01)

如果一次輸出多個(gè)進(jìn)制轉(zhuǎn)化:

1.num01,num02 = 100,2002.print('八進(jìn)制輸出為:0o%o,0o%o'%(num01,num02))3.print('十六進(jìn)制輸出為:0x%x,0x%x'%(num01,num02))

如果讓一個(gè)數(shù)二進(jìn)制形式輸出,,可以直接使用bin()方法;

(2)浮點(diǎn)數(shù)格式化輸出

  • 保留小數(shù)點(diǎn)后面六位有效數(shù)字%f
  • 保留小數(shù)點(diǎn)后面2位有效數(shù)字%.2f
  • 小數(shù)點(diǎn)后保留6位有效數(shù)字的科學(xué)計(jì)數(shù)法計(jì)數(shù)%e
  • 小數(shù)點(diǎn)后保留2位有效數(shù)字的科學(xué)計(jì)數(shù)法計(jì)數(shù)%.2e
  • 6位數(shù)能表示就用6位數(shù),,6位數(shù)表示不了就用科學(xué)計(jì)數(shù)法%g
  • 保留2位有效數(shù)字,,2位有效數(shù)字表示不了就用科學(xué)計(jì)數(shù)法%.2g

(3)字符串的格式化輸出

  • 標(biāo)準(zhǔn)輸出%s 右對(duì)齊
  • 占位符10位%10s
  • 左對(duì)齊占位符10位%-10s
  • 截取3位字符串右對(duì)齊%.3s
  • 10位占位符截取兩位字符串%10.2s

2. format形式格式化輸出

(1) 相對(duì)于基本格式化輸出采用的%的方法,format()功能更加強(qiáng)大,,該函數(shù)模塊把字符串當(dāng)成一個(gè)模板,,通過傳入?yún)?shù)進(jìn)行格式化,并且使用大括號(hào){}作為特殊字符代替%

1.name = 'Ailice'2.gender = '男“3.age = 234.print('姓名:%s 性別:%s 年齡:%d'%(name,gender,age))5.print('姓名:{} 性別:{} 年齡:{}'.format(name,gender,age))

(2)還可以在括號(hào)里加標(biāo)識(shí)符,,后面要用的時(shí)候,就不需要在format函數(shù)里添加參數(shù)了,,可以直接用

1.print('姓名:{0} 性別:{1} 年齡:{2} 學(xué)生姓名{0}'.format(name,gender,age))

(3) 標(biāo)識(shí)符除了可以使用數(shù)字也可以直接用關(guān)鍵字

1.print('姓名:{name} 性別:{gender} 姓名:{name}'.format(name = name,gender = gender))

(4)Format的進(jìn)階用法

forma占位符{}里面使用:對(duì)齊方向 占位長(zhǎng)度

<默認(rèn)左對(duì)齊

>右對(duì)齊

^中間對(duì)齊,,

1.print('姓名:{:<10}'.format(name))2.print('姓名:{:>10}'.format(name))3.print('姓名:{:^10}'.format(name))

除了對(duì)齊之外還可以使用取位數(shù):{:4s}{:.2f}

1.print('{:10.2f}'.format(3.14159)) #十位占位長(zhǎng)度,,小數(shù)點(diǎn)后保留兩位有效數(shù)字2.print('{:>10.2f}'.format(3.14159)) #十位占位長(zhǎng)度,,小數(shù)點(diǎn)后保留兩位有效數(shù)字,右對(duì)齊

(5)Format對(duì)數(shù)值的操作

  • 二進(jìn)制輸出b
1.print('二進(jìn)制打印{0:b} {1:b}'.format(num01,num02))  #0、1是編號(hào)
  • 整數(shù)轉(zhuǎn)Unicode字符串輸出c
1.print('把整數(shù)轉(zhuǎn)化成ASCII碼: {0:c} {1:c}'.format(65,66))

輸出結(jié)果:

1.把整數(shù)轉(zhuǎn)化成ASCII碼: A B
  • 十進(jìn)制輸出d
  • 八進(jìn)制輸出o
  • 十六進(jìn)制輸出x
  • 科學(xué)計(jì)數(shù)法輸出e,,默認(rèn)保留小數(shù)點(diǎn)后六位
1.print('科學(xué)計(jì)數(shù)法輸出:{:.2e}'.format(123.345))

輸出結(jié)果:

1.科學(xué)計(jì)數(shù)法輸出:1.23e+02
  • 一般格式輸出g,,六位可以表示就用六位表示,六位表示不了就用科學(xué)計(jì)數(shù)法,;
  • 數(shù)字輸出n,,當(dāng)值為整數(shù)的時(shí)候,和d相同,,當(dāng)值為浮點(diǎn)數(shù)是和g相同,;
  • 百分號(hào)輸出%,把數(shù)值轉(zhuǎn)化為百分?jǐn)?shù),,小數(shù)點(diǎn)后默認(rèn)保留六位,;
1.print('百分號(hào)表示:{:.2%}'.format(2))

輸出結(jié)果:

1.百分號(hào)表示:200.00%
  • ,千位分隔符,自動(dòng)把數(shù)值轉(zhuǎn)化為貨幣千位分割的形式
1.print('千位分隔符:{:,}'.format(102334489))

輸出結(jié)果:

1.千位分隔符:102,334,489

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多