python全棧闖關 6 小知識點總結

2022-07-25 10:51:21 字數 3363 閱讀 8221

# python2

print 'abc'

# 返回乙個列表

range()

# 返回乙個生成器值,不是list。每次只生成乙個值,避免暫用很大的記憶體

xrange() # 生成器

# 輸入

raw_input(...)

# python3

print('abc')

# 返回乙個迭代值,需要生成列表就需要使用list(range(...))

range()

input(...)

>>> li1 = [1,2,3]

>>> li2 =li1

>>>pring(id(li1),id(li2))

>>> print

(id(li1),id(li2))

2472533256584 2472533256584

#數字和字串存在小數池,小數池範圍內,使用的是同乙個記憶體位址

#數字 -5~256

>>> i1 = 6

>>> i2 = 6

>>> print

(id(i1),id(i2))

140717920019440 140717920019440

>>> i1 = 300

>>> i2 = 300

>>> print

(id(i1),id(i2))

2472536947344 2472536947248

>>> i1 = 256

>>> i2 = 256

>>> print

(id(i1),id(i2))

140717920027440 140717920027440

>>> i2 = 257

>>> i1 = 257

>>> print

(id(i1),id(i2))

2472536947344 2472536947248

>>> i1 = -5

>>> i2 = -5

>>> print

(id(i1),id(i2))

140717920019088 140717920019088

>>> i2 = -6

>>> i1 = -6

>>> print

(id(i1),id(i2))

2472536947344 2472536947248

#

字串: 1、不能有特殊字元

#2、s*20 還是同乙個位址,s*21以後都是兩個位址(有待考證,試驗時,* 1以上,都變化了。估計是版本不同導致)

>>> s1 = '

121212asdasdasdadasdasdasdadadqrjladksfjaiodfu

'>>> s2 = '

121212asdasdasdadasdasdasdadadqrjladksfjaiodfu

'>>> print

(id(s1),id(s2))

2472537146064 2472537146064

>>> s1 = '

121212asdasdasdadasdasdasdadadqrjladksfjaiodfu@

'>>> s2 = '

121212asdasdasdadasdasdasdadadqrjladksfjaiodfu@

'>>> print

(id(s1),id(s2))

2472537146160 2472537146064

#list、dict、tuple、set

#list

>>> l1 = [1,]

>>> l2 = [1,]

>>> print(l1 is

l2)false

>>>

>>> l2 =l1

>>> print(l1 is

l2)true

ascii

a : 00000010 8位 乙個位元組

unicode a : 00000000 00000001 00000010 00000100 32位 四個位元組

中:00000000 00000001 00000010 00000110 32位 四個位元組

utf-8 a : 00100000 8位 乙個位元組

中 : 00000001 00000010 00000110 24位 三個位元組

gbk a : 00000110 8位 乙個位元組

中 : 00000010 00000110 16位 兩個位元組

1,各個編碼之間的二進位制,是不能互相識別的,會產生亂碼。

2,檔案的儲存,傳輸,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,asciid等)

py3:

str 在記憶體中是用unicode編碼。

bytes型別

對於英文:

str :表現形式:s = 'beer'

編碼方式: unicode

bytes :表現形式:s = b'beer'

編碼方式: utf-8 gbk。。。。

對於中文:

str :表現形式:s = '熊大'

編碼方式: unicode

bytes :表現形式:s = b'\xe9\x9b\x84\xe5\xa4\xa7'

編碼方式: utf-8 gbk。。。。

>>> s = '

beer

'>>> s1 = b'

beer

'>>> print

(s,type(s))

beer

'str

'>

>>> print

(s1,type(s1))b'

beer

''bytes

'>

>>>

>>>

>>> s = '雄大'

>>> print

(s,type(s)

)雄大 'str

'>

>>> s1 = b'雄大'

syntaxerror: bytes can only contain ascii literal characters.

>>>

>>>

>>> s1 = s.encode('

utf-8')

>>> print

(s1)b'

\xe9\x9b\x84\xe5\xa4\xa7

'>>> s1 = s.encode('

gbk'

)>>> print

(s1)b'

\xd0\xdb\xb4\xf3

'

sqli labs master 闖關前知識點學習

1 前期準備 知識點 開始之前,為了方便檢視sql注入語句,我在sqli labs master網頁原始碼php部分加了兩行 第一行意思是輸出資料庫語句,第二行是換行符 一 mysql 登入 1 明文密碼 在bin目錄下 輸入 mysql u 賬戶 p 密碼 2 密碼 在bin目錄下 輸入 mysq...

Python小知識點

1.時間戳 從1970年到現在的秒數 time2 time.time print time2 date9 datetime.datetime.now print date9.timestamp 上面是兩種用到時間戳的 stamp 郵戳。timestamp 時間戳,時間線。2.執行緒休眠 爬蟲 獲取對...

Python小知識點

1.預設引數 必須放在引數列表的隊尾 普通形參必須放在預設引數的前面 def test a,b 3 passtest test 2.函式引數可以為任意型別 testb testa 3.args返回的是乙個元組 4.map函式裡面需要兩個值 值1 必須是函式 值2 序列 容器 作用 將序列裡面的每個元...