4.20 python 學(xué)習(xí)
廖雪峰python教程
python數(shù)據(jù)類型
- 整數(shù) interger
- 浮點(diǎn)數(shù) float
- 字符串 string
' '和'' ''是一種表示方式犀农,不屬于字符串的一部分。字符串內(nèi)部既包含''又包含'
需要用轉(zhuǎn)義符——\ 進(jìn)行標(biāo)識(shí)
例如: print('I\'m, "\ok\"!')
\n表示換行
\t表示制表符
\表示\本身市怎,r' '表示引號(hào)內(nèi)部的內(nèi)容不轉(zhuǎn)義
例如:
\\\\n\\n\\```
```'''多行內(nèi)容'''```
* 布爾值
一個(gè)布爾值只有兩種值**Ture**,**False**,也就是1和0疏叨。
三種運(yùn)算:**and**,**or**,**not**
* 空值 none
* 變量
1. 變量名必須是大小寫字母是复,數(shù)字,'_'組成雹舀,且不能由數(shù)字開頭谢澈。
2. python是動(dòng)態(tài)語言煌贴。不像靜態(tài)語言,在定義變量時(shí)必須指定變量類型澳化。
* 常量
Python中崔步,通常用全部大寫的變量名表示常量。這僅是一個(gè)慣例缎谷。
三種除法:
* / 浮點(diǎn)除井濒,精確到小數(shù)點(diǎn)后面幾位。
* // 地板除列林,只保留整數(shù)部分瑞你,結(jié)果是整數(shù)。
* % 取余希痴,結(jié)果是整數(shù)者甲。
####字符串編碼
字符串也是可以一種**數(shù)據(jù)類型**,但因計(jì)算機(jī)**只能對(duì)數(shù)字進(jìn)行運(yùn)算**砌创,就需要將字符串轉(zhuǎn)換為計(jì)算機(jī)可以識(shí)別的數(shù)字虏缸。
為解決不同語言類型字符串不同的問題鲫懒,引入統(tǒng)一的字符串編碼:**Unicode**
**為了節(jié)約空間**把Unicode編碼變成**可變長編碼——UTF-8編碼**:把一個(gè)Unicode字符根據(jù)不同的數(shù)字大小編碼成1-6個(gè)字節(jié),常用的英文字母被編碼成1個(gè)字節(jié)刽辙,漢字通常是3個(gè)字節(jié)窥岩,只有很生僻的字符才會(huì)被編碼成4-6個(gè)字節(jié)。
ASCII編碼實(shí)際上可以被看成是UTF-8編碼的一部分宰缤。
ASCII編碼颂翼,Unicode編碼,UTF-8編碼三者在實(shí)際應(yīng)用中的關(guān)系:
**計(jì)算機(jī)內(nèi)存中**:統(tǒng)一使用Unicode編碼慨灭,當(dāng)需要保存到硬盤或者需要傳輸?shù)臅r(shí)候朦乏,就轉(zhuǎn)換為UTF-8編碼。
**記事本編輯的時(shí)**:從文件讀取的UTF-8字符被轉(zhuǎn)換為Unicode字符到內(nèi)存里氧骤,編輯完成后呻疹,保存的時(shí)候再把Unicode轉(zhuǎn)換為UTF-8保存到文件
**瀏覽網(wǎng)頁的時(shí)**:服務(wù)器會(huì)把動(dòng)態(tài)生成的Unicode內(nèi)容轉(zhuǎn)換為UTF-8再傳輸?shù)綖g覽器。(網(wǎng)頁的源碼上會(huì)有類似的信息语淘,表示該網(wǎng)頁正是用的UTF-8編碼)诲宇。
####字符串
```ord('A') #獲取字符的整數(shù)表示
65
chr('66')#把編碼轉(zhuǎn)換成對(duì)應(yīng)的字符
'B'```
網(wǎng)絡(luò)上傳輸际歼,或保存到磁盤惶翻,需要把str變?yōu)橐宰止?jié)為單位的bytes
Python對(duì)bytes類型的數(shù)據(jù)用帶b前綴的單引號(hào)或雙引號(hào)表示:x=b'ABC'
```'ABC'.encode('ascii') #將字符str編碼成指定的bytes
b'ABC'
b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'```
注意:純英文的str可以用ASCII編碼為bytes;含有中文的str可以用UTF-8編碼為bytes鹅心;含有中文的str無法用ASCII編碼吕粗,因?yàn)橹形木幋a的范圍超過了ASCII編碼的范圍。
**len()**:計(jì)算字符串中有多少個(gè)字符
1個(gè)中文字符經(jīng)過UTF-8編碼后通常會(huì)占用3個(gè)字節(jié)旭愧,而1個(gè)英文字符只占用1個(gè)字節(jié)颅筋;避免亂碼,應(yīng)始終堅(jiān)持用UTF-8編碼對(duì)str和bytes進(jìn)行轉(zhuǎn)換输枯。
保存源代碼時(shí)议泵,就需要?jiǎng)?wù)必指定保存為UTF-8編碼,并加上:
```#!/usr/bin/env python3
# -*- coding: utf-8 -*-```
確保按照UTF-8編碼進(jìn)行讀取源代碼
####格式化
```'%.2f' % 3.1415926
'3.14'```
**此格式化不是通常理解的格式化——?jiǎng)h除數(shù)據(jù)桃熄,而應(yīng)該理解為程式化先口,進(jìn)行簡便的程式化的輸出。**
%運(yùn)算符用來格式化字符串瞳收。%s表示用字符串替換碉京,%d表示用整數(shù)替換,有幾個(gè)%?占位符螟深,后面就跟幾個(gè)變量或者值谐宙,順序要對(duì)應(yīng)好。如果只有一個(gè)%?界弧,括號(hào)可以省略凡蜻。
常見的占位符:**%d 整數(shù)**搭综、**%f 浮點(diǎn)數(shù)**、**%s 字符串**划栓、**%x 十六進(jìn)制整數(shù)**
單獨(dú)表示%设凹,需要轉(zhuǎn)義,用兩個(gè)%%表示茅姜。
練習(xí)題:小明的成績從去年的72分提升到了今年的85分闪朱,請計(jì)算小明成績提升的百分點(diǎn),并用字符串格式化顯示出'xx.x%'钻洒,只保留小數(shù)點(diǎn)后1位:
**代碼**
```rl = input('小明去年的成績:')
rt = input('小明今年的成績:')
r = ((int(rt) - int(rl))/int(rl))*100
print('小明今年成績提升百分比:%.1f %%' % r)```
**結(jié)果**
小明去年的成績:72
小明今年的成績:85
小明今年成績提升百分比:18.1 %
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者