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編碼變成**可變長(zhǎng)編碼——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)行簡(jiǎ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í)題:小明的成績(jī)從去年的72分提升到了今年的85分,請(qǐng)計(jì)算小明成績(jī)提升的百分點(diǎn),并用字符串格式化顯示出'xx.x%',只保留小數(shù)點(diǎn)后1位:
**代碼**
```rl = input('小明去年的成績(jī):')
rt = input('小明今年的成績(jī):')
r = ((int(rt) - int(rl))/int(rl))*100
print('小明今年成績(jī)提升百分比:%.1f %%' % r)```
**結(jié)果**
小明去年的成績(jī):72
小明今年的成績(jī):85
小明今年成績(jī)提升百分比:18.1 %
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。