日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

467python教程_Magnus Lie Hetland的《Python基础教程(第3版)》自学笔记(持续更新中)...

發布時間:2024/7/23 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 467python教程_Magnus Lie Hetland的《Python基础教程(第3版)》自学笔记(持续更新中)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載請注明原創出處,謝謝!

如果讀完覺得有收獲的話,歡迎點贊加關注。

Python基礎教程.jpg

快速上手:基礎知識

交互式解釋器

在Python交互式解釋器的提示符>>>后面輸入help()可以獲取指南,在IDLE中,還可以用F1來獲取幫助信息。

help()

Welcome to Python 3.7's help utility!

If this is your first time using Python, you should definitely check out

the tutorial on the Internet at https://docs.python.org/3.7/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing

Python programs and using Python modules. To quit this help utility and

return to the interpreter, just type "quit".

To get a list of available modules, keywords, symbols, or topics, type

"modules", "keywords", "symbols", or "topics". Each module also comes

with a one-line summary of what it does; to list the modules whose name

or summary contain a given string such as "spam", type "modules spam".

算法是什么

算法是由對象和語句所組成。對象是數、表達式、變量

數和表達式

十六進制、八進制和二進制表示法都是以0打頭的

0xAF

175

0o10

8

0b1011010010

722

變量

賦值-assignment,變量是表示(或指向)特定值的名稱。

語句

語句相當于菜譜中的操作說明,表達式是一些東西,而語句做一些東西。所有語句的一個根本特征:執行修改操作。

賦值語句是最重要的語句,變量就像是臨時“存儲區”,其真正的威力在于無需知道它們存儲的值就能操作它們。

獲取用戶輸入

函數

模塊

回到未來

import __future__

保存并執行程序

從命令提示符運行Python腳本

c:\python hello.py

File "", line 1

c:\python hello.py

^

SyntaxError: unexpected character after line continuation character

讓腳本像普通程序一樣

在有些情況下,你希望能夠像執行其他程序(如web瀏覽器或文本編輯器)一樣執行Python腳本,而無需顯式地使用Python解釋器。

UNIX提供了這種目標的標準方式:讓腳本的第一行以字符序列#!(稱為pound bang或shebang)開始,并在它后面指定用于對腳本進行解釋的程序(這里是Python)的絕對路徑。

例如:#!/usr/bin/evn python

要想普通程序一樣運行腳本,還必須將Python的腳本文件必成可執行的。

如:$ chmod a+x hello.py

然后運行: $ hello.py

如果愿意,可對文件進行重命名并刪除擴展名.py,使其看起來更像普通程序。

注釋

在代碼中,#號后面到行尾的所有內容都將被忽略。

字符串

單引號字符串以及對引號轉義

反斜杠 \

拼接字符串

"Let's say " '"Hello, world"'

'Let\'s say "Hello, world"'

"Hello " + "world!"

'Hello world!'

x = "Hello, "

y = "world!"

x + y

'Hello, world!'

字符串表示str和repr

"Hello World!"

'Hello World!'

print("Hello World!")

Hello World!

"Hello, \nworld!"

'Hello, \nworld!'

print("Hello, \nworld!")

Hello,

world!

print(repr("Hello, \nworld!"))

'Hello, \nworld!'

print(str("Hello, \nworld!"))

Hello,

world!

長字符串、原始字符串和字節

print('''This is a very long string. It continues here.

And it's not over yet. "Hello, world!"

Still here.''')

This is a very long string. It continues here.

And it's not over yet. "Hello, world!"

Still here.

長字符串

print("Hello, \

world!")

Hello, world!

1 + 2 + \

4 + 5

12

print \

("Hello, world!")

Hello, world!

原始字符串

path = "C:\nowhere"

path

'C:\nowhere'

print(path)

C:

owhere

print("C:\\nowhere")

C:\nowhere

print(r"C:\nowhere")

C:\nowhere

print(rpath)

---------------------------------------------------------------------------

NameError Traceback (most recent call last)

in

----> 1 print(rpath)

NameError: name 'rpath' is not defined

print(r(path))

---------------------------------------------------------------------------

NameError Traceback (most recent call last)

in

----> 1 print(r(path))

NameError: name 'r' is not defined

print(r"C:\Program Files\fnord\foo\bar\baz\frozz\bozz")

C:\Program Files\fnord\foo\bar\baz\frozz\bozz

print(r'Let\'s go!')

Let\'s go!

原始字符串的最后一個字符不能是反斜杠“\”

print(r'This is illegal\')

File "", line 1

print(r'This is illegal\')

^

SyntaxError: EOL while scanning string literal

顯示以反斜杠\結尾的原始字符的方法之一:

print(r'C:\Program Files\foo\bar' '\\')

C:\Program Files\foo\bar\

print('a' 'b')

ab

Unicode, bytes和bytearray

"\u00C6"

'?'

"\U0001F60A"

'😊'

"This is a cat: \N{Cat}"

'This is a cat: 🐈'

"This is a cat: \N{Dog}"

'This is a cat: 🐕'

"This is a cat: \N{Fish}"

'This is a cat: 🐟'

列表和元組

數據結構是以某種方式(如通過編號)組合起來的數據元素(如數、字符乃至其他數據結構)集合。

序列概述

edward = ['Edward Gumby', 42]

john = ['John Smith', 50]

database = [edward, john]

database

[['Edward Gumby', 42], ['John Smith', 50]]

通用的序列操作

有幾種操作適用于所有序列,包括索引、切片、相加、相乘和成員資格檢查。

索引

greeting = "Hello"

greeting[0]

'H'

greeting = "Hello"

greeting[-1]

'o'

'Hello'[-1]

'o'

fourth = input('Year: ')[3]

Year: 2019

fourth

'9'

切片

tag = 'Python web site'

tag[9:30]

'http://www.python.org'

tag[32:-4]

'Python web site'

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

numbers[3:6]

[4, 5, 6]

numbers[0:1]

[1]

絕妙的簡寫

numbers[7:10]

[8, 9, 10]

numbers[-3:-1]

[8, 9]

numbers[-3:0]

[]

numbers[-3:]

[8, 9, 10]

numbers[:3]

[1, 2, 3]

numbers[:]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

更大的步長

numbers[0:10:1]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

numbers[0:10:2]

[1, 3, 5, 7, 9]

numbers[3:6:3]

[4]

numbers[::4]

[1, 5, 9]

numbers[8:3:-1]

[9, 8, 7, 6, 5]

numbers[10:0:-2]

[10, 8, 6, 4, 2]

numbers[0:10:-2]

[]

numbers[::-2]

[10, 8, 6, 4, 2]

numbers[5::-2]

[6, 4, 2]

numbers[:5:-2]

[10, 8]

序列相加

[1, 2, 3] + [4, 5, 6]

[1, 2, 3, 4, 5, 6]

'Hello, ' + 'world!'

'Hello, world!'

[1, 2, 3] + 'world!'

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in

----> 1 [1, 2, 3] + 'world!'

TypeError: can only concatenate list (not "str") to list

乘法

'python' * 5

'pythonpythonpythonpythonpython'

[42] * 10

[42, 42, 42, 42, 42, 42, 42, 42, 42, 42]

None、空列表和初始化(如將列表的長度初始化為10)

sequence = [None] * 10

sequence

[None, None, None, None, None, None, None, None, None, None]

代碼清單2-3

sentence = input("Sentence: ")

screen_width = 80

text_width = len(sentence)

box_width = text_width + 6

left_margin = (screen_width - box_width) // 2

print()

print(' ' * left_margin + '+' + '-' * (box_width - 2) + '+')

print(' ' * left_margin + '| ' + ' ' * text_width + ' |')

print(' ' * left_margin + '| ' + sentence + ' |')

print(' ' * left_margin + '| ' + ' ' * text_width + ' |')

print(' ' * left_margin + '+' + '-' * (box_width - 2) + '+')

print()

Sentence: He's a very naughty boy!

+----------------------------+

| |

| He's a very naughty boy! |

| |

+----------------------------+

成員資格

permissions = 'rw'

'w' in permissions

True

'x' in permissions

False

users = ['mlh', 'foo', 'bar']

input('Enter your user name') in users

Enter your user namevictor

False

subject = '$$$ Get rich now!!! $$$'

'$$$' in subject

True

'P' in "Python"

True

代碼清單2-4 序列成員資格示例

# 檢查用戶名和PIN碼

database = [

['albert', '1234'],

['dilber', '4242'],

['smith', '7524'],

['jones', '9843']

]

username = input('User name: ')

pin = input('PIN code: ')

if [username, pin] in database:

print('Access granted.')

else:

print('Not Authorized!')

User name: smith

PIN code: 7524

Access granted.

長度、最小值和最大值

len,min和max是內置函數

numbers = [100, 34, 678]

len(numbers)

3

max(numbers)

678

min(numbers)

34

max(2, 3)

3

min(9, 3, 2, 5)

2

列表:Python的主力

函數list

list('Hello')

['H', 'e', 'l', 'l', 'o']

mylist = list('Hello')

print(mylist)

''.join(mylist)

['H', 'e', 'l', 'l', 'o']

'Hello'

''.join(['a', 'b', 'c', 'd'])

'abcd'

基本的列表操作

修改列表:給元素賦值

x = [1, 1, 1]

x[1] = 2

x

[1, 2, 1]

mylist = [None] * 5

mylist[4] = '初始化賦值'

mylist

[None, None, None, None, '初始化賦值']

刪除元素

name = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl']

name

del name[2]

name

['Alice', 'Beth', 'Dee-Dee', 'Earl']

給切片賦值

name = list('Perl')

name

['P', 'e', 'r', 'l']

name[2:] = list('ar')

name

['P', 'e', 'a', 'r']

name = list('Perl')

name[1:] = list("ython")

name

['P', 'y', 't', 'h', 'o', 'n']

numbers = [1, 5]

numbers[1:1] = [2, 3, 4]

numbers

[1, 2, 3, 4, 5]

numbers = [1, 5]

numbers[1:1] = list("python")

numbers

[1, 'p', 'y', 't', 'h', 'o', 'n', 5]

numbers = [1, 5]

numbers[0:0] = list("python")

numbers

['p', 'y', 't', 'h', 'o', 'n', 1, 5]

上面是替換了一個空切片[1:1]

numbers = [1, 5]

numbers[0:1] = list("python")

numbers

['p', 'y', 't', 'h', 'o', 'n', 5]

用一個空切片替換某些元素,達到刪除元素的目的

numbers = [1, 2, 3, 4, 5]

numbers[1:4] = []

numbers

[1, 5]

numbers = [1, 2, 3, 4, 5]

del numbers[1:4]

numbers

[1, 5]

給使用步長的切片賦值

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

numbers[1:10:2] = list("pytho")

numbers

[1, 'p', 3, 'y', 5, 't', 7, 'h', 9, 'o']

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

numbers[10:0:-2]

[10, 8, 6, 4, 2]

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

numbers[10:0:-2] = list('vwang')

numbers

[1, 'g', 3, 'n', 5, 'a', 7, 'w', 9, 'v']

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

numbers[10:0:-2] = [31, 32, 33, 34, 35]

numbers

[1, 35, 3, 34, 5, 33, 7, 32, 9, 31]

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

numbers[0:0] = [31, 32, 33, 34, 35]

numbers

[31, 32, 33, 34, 35, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

列表方法

方法是與對象(列表、數、字符串等)聯系緊密的函數。通常的調用方法是:object.method(arguments

方法調用與函數調用很像,只是在方法名前加上了對象和句點。

append

lst = [1, 2, 3]

lst.append(4)

lst

[1, 2, 3, 4]

lst.append(list('Python'))

lst

[1, 2, 3, 4, ['P', 'y', 't', 'h', 'o', 'n']]

lst = [1, 2, 3, 4]

words = "Python"

for i in list(words):

print(i, end="")

lst.append(i)

lst

Python

[1, 2, 3, 4, 'P', 'y', 't', 'h', 'o', 'n']

clear

方法clear表示就地清空列表的內容

lst = [1, 2, 3]

lst.clear()

lst

[]

copy

方法copy復制列表,而常規復制(即不是用方法copy進行的復制,用=號進行的復制)只是將另一個名稱關聯到源列表,就像別名。

常規復制(即不是用方法copy進行的復制,用=號進行的復制):

a = [1, 2, 3]

b = a

b[1] = 4

a

[1, 4, 3]

要讓a和b指向不同的列表,就必須將b關聯的a的副本上

a= [1, 2, 3]

b = a.copy()

b[1] = 4

print(a, b)

[1, 2, 3] [1, 4, 3]

count

方法count計算指定的元素在列表中出現的次數,而不是表示列表中所有元素的個數。

["to", "be", "or", "not", 'to', 'be'].count('to')

2

x = [[1, 2], 1, 1, [2, 1, [1, 2]]]

x.count(1)

2

x.count([1, 2])

1

extend

方法Extend讓你能夠同時將多個值附加到列表末尾。

a = [1, 2, 3]

b = [4, 5, 6]

a.extend(b)

a

[1, 2, 3, 4, 5, 6]

a = [1, 2, 3]

b = [4, 5, 6]

a + b

[1, 2, 3, 4, 5, 6]

a

[1, 2, 3]

a = [1, 2, 3]

b = [4, 5, 6]

a = a + b

a

[1, 2, 3, 4, 5, 6]

a = [1, 2, 3]

b = [4, 5, 6]

a[len(a):] = b

a

[1, 2, 3, 4, 5, 6]

index

方法index在列表中查找指定值第一次出現的索引

knights = ["We", "are", "the", "knights", "who", "say", "ni"]

knights.index("who")

4

knights.index("herring")

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

in

----> 1 knights.index("herring")

ValueError: 'herring' is not in list

knights[4]

'who'

insert

方法insert用于將一個對象插入列表

numbers = [1, 2, 3, 5, 6, 7]

numbers.insert(3, 'four')

numbers

[1, 2, 3, 'four', 5, 6, 7]

numbers = [1, 2, 3, 5, 6, 7]

numbers[3:3] = ['four']

numbers

[1, 2, 3, 'four', 5, 6, 7]

pop

方法pop從列表中刪除一個元素(默認為最后一個元素),并返回這一元素。方法pop是唯一的一種列表的方法,既修改列表又返回一個非None值

x = [1, 2, 3]

x.pop()

3

x

[1, 2]

x.pop(0)

1

x

[2]

x.pop()

2

x

[]

x.pop()

---------------------------------------------------------------------------

IndexError Traceback (most recent call last)

in

----> 1 x.pop()

IndexError: pop from empty list

使用pop可實現一種常見的數據結構-棧(stack)。棧就像一疊盤子,你可以在上面添加盤子,還可以從上面取走盤子。最后加入的盤子最先取走,這被稱為后進先出(LIFO)。

push和pop是普遍接受的兩種棧的操作(加入和取走)的名稱。Python沒有提供push,但可以用append來代替。方法pop和方法append的效果相反,因此將剛取走的值再加入(或稱附加)后,得到的棧與原來的棧相同。

x = [1, 2, 3]

x.append(x.pop())

x

[1, 2, 3]

remove

方法remove用于刪除第一個指定值的元素

x = ["to", "be", "or", "not", "to", "be"]

x.remove("be")

x

['to', 'or', 'not', 'to', 'be']

x.remove("bee")

---------------------------------------------------------------------------

ValueError Traceback (most recent call last)

in

----> 1 x.remove("bee")

ValueError: list.remove(x): x not in list

reverse

方法reverse按相反的順序排列列表中的元素。

x = [1, 2, 3]

x.reverse()

x

[3, 2, 1]

如果要按相反的順序迭代序列,可使用函數reversed。這個函數不返回列表,而是返回一個迭代器。可以使用list將返回的對象轉換成列表。

x = [1, 2, 3]

list(reversed(x))

[3, 2, 1]

sort

方法sort用于對列表就地排序。就地排序意味著對原來的列表進行修改,是其元素按順序排列,而不是返回排序后的列表的副本。

x = [4, 6, 2, 1, 7, 9]

x.sort()

x

[1, 2, 4, 6, 7, 9]

x = [4, 6, 2, 1, 7, 9]

y = x.sort() # Don't do this!

print(y)

None

x = [4, 6, 2, 1, 7, 9]

y = x.copy()

y.sort()

x

[4, 6, 2, 1, 7, 9]

y

[1, 2, 4, 6, 7, 9]

x = [4, 6, 2, 1, 7, 9]

y = sorted(x)

x

[4, 6, 2, 1, 7, 9]

y

[1, 2, 4, 6, 7, 9]

sorted("Python")

['P', 'h', 'n', 'o', 't', 'y']

高級排序

方法sort接受兩個參數:key和reverse。這兩個參數通常是按名稱指定的,稱為關鍵字參數。

參數key類似于參數cmp:將其設置為一個用于排序的函數。然而,不會直接使用這個函數來判斷以惡元素是否幣另一個元素小,而是用它來為每個元素創建一個鍵,再根據這些鍵對元素進行排列。

x = ["aardvark", "abalone", "acme", "add", "aerate"]

x.sort(key=len)

x

['add', 'acme', 'aerate', 'abalone', 'aardvark']

參數reverse, 只需將其指定為一個真值(True或False)以指出是否要按相反的順序對列表進行排序。

x = [4, 6, 2, 1, 7, 9]

x.sort(reverse=True)

x

[9, 7, 6, 4, 2, 1]

函數sorted也接受參數key和reverse,在很多情況下,將參數key設置為一個自定義的函數很有用。

元組:不可修改的序列

1, 2, 3

(1, 2, 3)

"p", "y"

('p', 'y')

(1, 2, 3)

(1, 2, 3)

()

()

42

42

42,

(42,)

(42,)

(42,)

3 * (42 + 2)

132

3 * (42 + 2,)

(44, 44, 44)

tuple([1, 2, 3])

(1, 2, 3)

list("python")

['p', 'y', 't', 'h', 'o', 'n']

list(892)

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in

----> 1 list(892)

TypeError: 'int' object is not iterable

x = 1, 2, 3

x

x[1]

2

x[2]

3

x[0:2]

(1, 2)

使用字符串

字符串基本操作

所有標準序列操作(索引、切片、乘法、成員資格檢查、長度、最小值和最大值)都是適用于字符串,但字符串是不可變的,所有的元素賦值或切片賦值都是非法的。

website = "http://www.python.org"

website{-3:} = "com"

File "", line 3

website{-3:} = "com"

^

SyntaxError: invalid syntax

max(website)

'y'

min(website)

'.'

len(website)

21

"py" in website

True

設置字符串的格式:精簡版

字符串格式:%s

format = "Hello, %s. %s enough for ya?"

values = ("world", "Hot")

format % values

'Hello, world. Hot enough for ya?'

"Hello, %s." % "world"

'Hello, world.'

"Hello, the %srd world!" % 3

'Hello, the 3rd world!'

浮點數格式:如%.3f

"Hello, the %.3f world!" % 3

'Hello, the 3.000 world!'

字符串模板,但是要導入string模塊

from string import Template

tmp1 = Template("Hello, $who! $what enough for ya?")

tmp1.substitute(who="Mars", what="Dusty")

'Hello, Mars! Dusty enough for ya?'

字符串方法.format()

最簡單的情況,被替換字段沒有名稱或使用.format()括號中參數值的索引(順序)做名稱

"{}, {} and {}".format("first", "second", "third")

'first, second and third'

"{0}, {1} and {2}".format(100, 200, "AAA")

'100, 200 and AAA'

如果被替換字段使用函數.format()括號中參數值的索引(順序)的方式,.format()點號左邊的被替換字段不需要按參數值的索引順序排列,同時可以重復

"{3} {0} {2} {1} {3} {0}".format("be", "not", "or", "to")

'to be or not to be'

給字段命名,.format()點號左邊的被替換字段也不需要按參數值的索引順序排列,同時也可以重復

from math import pi

"{name} is approximately {value:.2f} and {value:.10f} and {value}.".format(value=pi, name="π")

'π is approximately 3.14 and 3.1415926536 and 3.141592653589793.'

如果函數.format()參數的變量名與被替換字段變量名同名,還可以使用一種簡寫,可以使用f"字符串"的形式-在字符串前面加上f

from math import e

f"Euler's constant is roughly {e}."

"Euler's constant is roughly 2.718281828459045."

test = "test123"

f"This is just a {test}"

'This is just a test123'

from math import e

"Euler's constant is roughly {e}".format(e=e)

"Euler's constant is roughly 2.718281828459045"

from math import e

"Euler's constant is roughly {value}".format(value=e)

"Euler's constant is roughly 2.718281828459045"

設置字符串的格式:完整版

字符串包含了有關如何設置格式的信息,而這些信息是使用一種微型格式指定語言(mini-language)指定的。每個值都被插入字符串中,以替換用大括號括起來的被替換字段。要在最終結果中包含大括號,可以在格式字符串中使用兩個大括號(即{{與}}),且函數.format()參數為空來指定

"{{ceci n'est pas une replacement field}}".format()

"{ceci n'est pas une replacement field}"

被替換字段名

"{foo} {} {bar} {}".format(1, 2, bar=4, foo=3)

'3 1 4 2'

如果函數.format()混合使用位置參數和關鍵字參數,那么位置參數(被替換字段的大括號內的內容為空)必須在關鍵字參數的前面

"{foo} {} {bar} {}".format(bar=4, foo=3, 1, 2)

File "", line 1

"{foo} {} {bar} {}".format(bar=4, foo=3, 1, 2)

^

SyntaxError: positional argument follows keyword argument

"{foo} {} {bar} {}".format(1, bar=4, 2, foo=3)

File "", line 1

"{foo} {} {bar} {}".format(1, bar=4, 2, foo=3)

^

SyntaxError: positional argument follows keyword argument

fullname = ["Alfred", "Smoketoomuch"]

"Mr {name[1]}".format(name=fullname)

'Mr Smoketoomuch'

import math

tmpl = "The {mod.__name__} module defines the value {mod.pi} for π"

tmpl.format(mod=math)

'The math module defines the value 3.141592653589793 for π'

基本轉換

添加設置其格式的指令,轉換標志,!f, !r, !a,分別表示str、repr和ascii轉換

print("{pi!s} {pi!r} {pi!a}".format(pi="π"))

π 'π' '\u03c0'

定點數

"The number is {num}".format(num=42)

'The number is 42'

"The number is {num:f}".format(num=42)

'The number is 42.000000'

"The number is {num:b}".format(num=42)

'The number is 101010'

寬度、精度和千位分隔符

寬度是使用整數指定的

"{num:10}".format(num=3)

' 3'

"{name:10}".format(name="Bob")

'Bob '

精度也是用整數指定的,但需要在它前面加上一個表示小數點的句點

from math import pi

"Pi day is {pi:.2f}".format(pi=pi)

'Pi day is 3.14'

同時指定寬度和精度

"{pi:10.2f}".format(pi=pi)

' 3.14'

"{:.5}".format("Guido van Rossum")

'Guido'

"One googol is {:,}".format(10**100)

'One googol is 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000'

符號、對齊和用0填充

在同一欄中包含自串和數字時,想要修改默認對齊方式,那么在指定寬度和精度的數的前面,可以添加一個標志,這個標志可以時零、加號、減號或空格。

零表示使用零來填充數字。

from math import pi

"{:10.2f}".format(pi)

' 3.14'

"{:010.2f}".format(pi)

'0000003.14'

要指定左對齊、右對齊和居中,可分別使用和^。

print("{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}".format(pi))

3.14

3.14

3.14

可以使用填充字符來擴充對齊說明符,這樣將使用自定的字符而不是默認的空格來填充

"{:$^15}".format(" WIN BIG ")

'$$$ WIN BIG $$$'

"{:#^15}".format(" WIN BIG ")

'### WIN BIG ###'

"{:a^15}".format(" WIN BIG ")

'aaa WIN BIG aaa'

說明指示符=,它指定將填充字符放在符號和數字之間

print("{0:10.2f}\n{1:10.2f}".format(pi, -pi))

3.14

-3.14

print("{0:10.2f}\n{1:=10.2f}".format(pi,-pi))

3.14

- 3.14

如果要給正數加上符號,可以使用說明符+(將其放在對齊說明符后面,而不是默認的-,如果將符號說明符指定為空格,會在正數前面加上空格而不是+。

print("{0:-.2}\n{1:-.2}".format(pi, -pi))

3.1

-3.1

print("{0:+.2}\n{1:+.10}".format(pi, -pi))

+3.1

-3.141592654

print("{0: .2}\n{1: .2}".format(pi, -pi))

3.1

-3.1

最后一個要素是#號選項,可以將其放在符號說明符和寬度說明符之間(如果指定了這兩種設置)。這個選項將觸發另一種轉換方式、轉換細節隨類型而異。例如對于二進制,八進制和十六進制轉換。

二進制

"{:b}".format(42)

'101010'

八進制

"{:#b}".format(42)

'0b101010'

十六進制

"{:#x}".format(42)

'0x2a'

對于各個十進制數,它要求必須包含小數點(對于類型g,它保留小數點后面的零)。

"{:g}".format(42)

'42'

"{:#g}".format(42)

'42.0000'

代碼清單3-1 字符串格式設置示例

# 代碼清單3-1 字符串格式設置示例

# 根據指定的寬度打印格式良好的價格列表

width = int(input("Please enter width: "))

price_width = 10

item_width = width - price_width

header_fmt = "{{:{}}}{{:>{}}}".format(item_width, price_width)

# print(header_with)

fmt ="{{:{}}}{{:>{}.2f}}".format(item_width, price_width)

test_fmt = "{:}{:>.2f}".format(item_width, price_width)

print(fmt)

print(test_fmt)

print("=" * width)

# print(header_fmt.format("Item", "Price"))

print("-" * width)

print(fmt.format("Apple", 0.4))

print(fmt.format("Pear", 0.5))

print(fmt.format("Cantaloupes", 1.92))

print(fmt.format("Dried Apricots (16 oz.)", 8.0))

print(fmt.format("Prunes (4 lbs.)", 12))

print("=" * width)

Please enter width: 35

{:25}{:>10.2f}

2510.00

===================================

-----------------------------------

Apple 0.40

Pear 0.50

Cantaloupes 1.92

Dried Apricots (16 oz.) 8.00

Prunes (4 lbs.) 12.00

===================================

字符串方法

center

"The Middle by Jimmy Eat World".center(39)

' The Middle by Jimmy Eat World '

len("The Middle by Jimmy Eat World")

29

"The Middle by Jimmy Eat World".center(39, "*")

'*****The Middle by Jimmy Eat World*****'

find

方法find在字符串中查找子串。如果找到,就返回子串的第一個字符的索引,否則返回-1

"with a moo-moo here, and a moo-moo there.".find("moo")

7

title = "Monty Python's Flying Circus"

title.find("Monty")

0

title.find('Python')

6

title.find("Flying")

15

title.find("Zirquss")

-1

subject = "$$$ Get rich now!!! $$$"

subject.find("$$$")

0

指定搜索的起點和終點,它們都是可選的

subject = "$$$ Get rich now!!! $$$"

subject.find("$$$")

0

subject.find("$$$", 1) # 只指定了起點

20

subject.find("!!!")

16

subject.find("!!!", 0, 16) # 同時指定了起點和重點

-1

起點和終點值指定的搜索范圍包含起點,但不包含終點,這是Python慣用的做法

join

合并序列的元素

seq = [1, 2, 3, 4, 5]

sep = "+"

sep.join(seq)

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in

1 seq = [1, 2, 3, 4, 5]

2 sep = "+"

----> 3 sep.join(seq)

TypeError: sequence item 0: expected str instance, int found

seq = ["1", "2", "3", "4", "5"]

sep.join(seq)

'1+2+3+4+5'

dirs = "", "usr", "bin", "env"

"/".join(dirs)

'/usr/bin/env'

print("C:" + "\\".join(dirs))

C:\usr\bin\env

lower

方法lower返回字符串的小寫版本

"Trondheim Hammer Dance".lower()

'trondheim hammer dance'

if "Gumby" in ["gumby", "smith", "jones"]:

print("Found it!")

else:

print("It is not found!")

It is not found!

name = "Gumby"

if name.lower() in ["gumby", "smith", "jones"]:

print("Found it!")

Found it!

詞首大寫

方法一:.title(),但是它確定單詞邊界的方式可能導致結果不合理

"that's all, folks".title()

"That'S All, Folks"

方法而:使用模塊string中的函數capwords

import string

string.capwords("that's all, folks")

"That's All, Folks"

replace

方法replace將指定子串都替換為另一個字符串, 并返回替換后的結果。

"This is a test".replace("is", "eez")

'Theez eez a test'

"This is a test".replace("is", "2")

'Th2 2 a test'

split

方法split用于將字符串拆分為序列,并返回該序列的列表

"1+2+3+4+5".split("+")

['1', '2', '3', '4', '5']

"This is a test".split(' ')

['This', 'is', 'a', 'test']

"/usr/bin/env".split("/")

['', 'usr', 'bin', 'env']

如果沒有指定分隔符,那么將默認在單個或多個連續的空白字符(空格,制表符、換行符等)處進行拆分,且不論有多少個空白字符都只算一個

"Using the default".split()

['Using', 'the', 'default']

"Using the default".split()

['Using', 'the', 'default']

strip

方法strip是將字符串開頭和末尾的空白(但不包括中間的空白)刪除,并返回刪除后的結果。

" internal whitespace is kept ".strip()

'internal whitespace is kept'

names = ["gumby", "smith", "jones"]

name = "gumby "

if name in names:

print("Found it")

else:

print("The name is wrong!")

The name is wrong!

if name.strip() in names:

print("Found it!")

Found it!

可以在一個字符串參數中指定要刪除字符串開頭和結尾的哪些字符

"*** SPAM * for * everyone!!! ***".strip("*")

' SPAM * for * everyone!!! '

"*** SPAM * for * everyone!!! ***".strip(" *!")

'SPAM * for * everyone'

translate

方法trsanlate與replace一樣是要替換字符串的特定部分,但不同的是translate只能進行單字符替換。tranlate方法的優勢在于能夠同時替換多個字符,因此效率比replace高。

使用translate前必須創建一個轉換表。 這個轉換表指出了不同Unicode碼點之間的轉換關系。要創建轉換表, 可對字符串類型str調用方法maketrans,這個方法接受兩個參數:兩個長度相同的字符串,它們指定要將左邊的的字符串中的每個字符按從左向右的順序都被替換成右邊字符串中的相應位置的字符。也可以傳入一個字典,將一些字符映射到其他字符(如果要刪除這些字符,則映射到None。

table = str.maketrans('cs', 'kz')

table

{99: 107, 115: 122}

"this is an incredible test".translate(table)

'thiz iz an inkredible tezt'

調用方法maketrans時,還可以提供第三個參數,指定要將那些字符刪除。

table = str.maketrans("cs", "kz", " ")

"this is an incredible test".translate(table)

'thizizaninkredibletezt'

判斷字符串是否滿足特定的條件

很多字符串方法都以is開頭,如isspace、isdigit和issupper,它們判斷字符串是否具有特定的性質。如果字符串具備特定的性質,這些方法就返回True,否則返回False。

當索引行不通時

通過名稱來訪由一系列值組合成的數據結構中的各個值的數據結構,叫做映射(mapping)

字典時Python中唯一的內置映射類型,其中值不按順序排列,而是存儲在鍵下。鍵可能是數字、字符串或元組

字典的用途

Python字典的一些用途:

表示國際象棋棋盤的狀態,其中每個鍵都是由坐標組成的元組;

存儲文件修改時間,其中的鍵為文件名;

數字電話/地址簿

# 假如由如下名單:

names = ["Alice", "Beth", "Cecil", "Dee-Dee", "Earl"]

# 要創建一個數據庫,在其中存儲上面這些人的電話號碼,一種方法是再創建一個列表。

numbers = ["2341", "9102", "3158", "0142", "5551"]

# 查找Cecil的電話號碼

numbers[names.index("Cecil")]

'3158'

## 創建和使用字典

phonebook = {"Alice": "2341", "Beth": "9102", "Cecil": "3158"}

phonebook["Cecil"]

'3158'

在字典(以及其他非Python內置的映射類型)中,字典中的鍵必須是獨一無二的,而字典中的值無需如此。

函數dict

可以使用函數(類)dict從其他映射(如其他字典)或鍵-值對序列創建字典

items = [("name", "Gumby"), ("age", 42)]

d = dict(items)

d

{'name': 'Gumby', 'age': 42}

d["name"]

'Gumby'

d["age"]

42

還可以使用關鍵字實參來調用這個函數。

d = dict(name='Gumby', age=42)

d

{'name': 'Gumby', 'age': 42}

d = dict(name="Victor")

d

{'name': 'Victor'}

如果調用這個函數是沒有提供任何實參,將返回一個空字典。

d = dict()

d

{}

基本的字典操作

字典包含的項(鍵-值對)的個數

d = dict(name="Victor", age=55)

len(d)

2

與鍵相對應的值

d["name"]

'Victor'

添加鍵-值對

d["telephone"] = "3434234"

d

{'name': 'Victor', 'age': 55, 'telephon': '3434234', 'telephone': '3434234'}

替換鍵-值對

d["telephon"] = 999999

d

{'name': 'Victor', 'age': 55, 'telephon': 999999, 'telephone': '3434234'}

刪除某個鍵值所對應的項

d

{'name': 'Victor', 'age': 55, 'telephone': '3434234'}

檢查是否包含某個鍵的項

"name" in d

True

"country" in d

False

x = []

x[42] = "Foobar"

---------------------------------------------------------------------------

IndexError Traceback (most recent call last)

in

1 x = []

----> 2 x[42] = "Foobar"

IndexError: list assignment index out of range

x[0] = "Foobar"

---------------------------------------------------------------------------

IndexError Traceback (most recent call last)

in

----> 1 x[0] = "Foobar"

IndexError: list assignment index out of range

x = [None] * 10

x

[None, None, None, None, None, None, None, None, None, None]

x[0] = "Foobar"

x

['Foobar', None, None, None, None, None, None, None, None, None]

x = {}

x[42] = "Foobar"

x

{42: 'Foobar'}

代碼清單4-1 字典示例

# 字典示例

# 一個簡單的數據庫

# 將一個人名用作鍵的字典,每個人都用一個字典表示

# 字典包含鍵“phone”和“addr”,它們分別于電話號碼和地址相關聯

people = {

"Alice": {

"phone": "2341",

"addr": "Foo drive 23"

},

"Beth": {

"phone": "9102",

"addr": "Bar street 42"

},

"Cecil": {

"phone": "3158",

"addr": "Baz avenue 90"

}

}

# 電話號碼和地址的描述性標簽,供打印輸出時使用

labels = {

"phone": "Phone Number",

"addr": "Address"

}

name = input("Name: ").capitalize()

# 要查找電話號碼還是地址?

request = input("Phone Number (p) or Address (a)? ").lower()

# 使用正確的鍵:

if request == "p":

key = "phone"

if request == "a":

key = "addr"

# 僅當名字是字典包含的鍵時才打印信息:

if name in people:

print("{}'s {} is {}.".format(name, labels[key], people[name][key]))

Name: alice

Phone Number (p) or Address (a)? A

Alice's Address is Foo drive 23.

總結

以上是生活随笔為你收集整理的467python教程_Magnus Lie Hetland的《Python基础教程(第3版)》自学笔记(持续更新中)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国内综合精品午夜久久资源 | 中文字幕在线视频第一页 | 欧美一区二区三区四区夜夜大片 | 国产精品亚洲综合久久 | 日女人电影 | 国产视频精品网 | 国产成人精品999在线观看 | 国产精品黄网站在线观看 | 成人h在线观看 | 亚洲涩涩涩涩涩涩 | 欧美日韩在线精品 | 在线免费黄色 | 深夜福利视频在线观看 | 国产91成人在在线播放 | 欧美日韩视频免费看 | av丝袜美腿 | 国产分类视频 | 国产一区二区精品久久 | 三日本三级少妇三级99 | 99综合电影在线视频 | 在线观看视频h | 美女黄网站视频免费 | 91精品国产综合久久婷婷香蕉 | 国产精品va最新国产精品视频 | 欧美日韩视频在线观看免费 | 狠狠狠狠狠狠干 | 成人h电影在线观看 | 久久久国产日韩 | 青草视频在线免费 | 五月情婷婷 | 中文av不卡 | 亚洲综合欧美日韩狠狠色 | 久久超碰免费 | 2023av在线 | 91九色精品 | av电影免费观看 | 精品国产诱惑 | 99久久精品国产系列 | 亚洲精品88欧美一区二区 | wwwwwww黄 | 久久精品一区二区三 | 欧美另类视频 | 国产1区2 | www.97色.com| 欧洲亚洲国产视频 | 亚洲丁香日韩 | 天天色天天爱天天射综合 | 国产va在线 | 国产精品www | 在线观看免费一级片 | 97**国产露脸精品国产 | 日本mv大片欧洲mv大片 | 国产亚洲欧美精品久久久久久 | 亚洲三级性片 | 国产精品色 | 在线你懂的视频 | 香蕉网在线 | 中日韩三级视频 | 91精品夜夜| 91精品国产乱码 | 精品欧美乱码久久久久久 | 久草在线视频免费资源观看 | 欧美日韩综合在线观看 | 亚洲精品久久久久久中文传媒 | 国内精品国产三级国产aⅴ久 | 99视频在线免费观看 | 亚洲国产精品va在线看 | 亚洲精品九九 | 亚洲欧洲av | av福利网址导航大全 | 精品麻豆 | 极品嫩模被强到高潮呻吟91 | 精品国产一区二区三区久久影院 | 五月婷婷综合在线视频 | 99精品欧美一区二区蜜桃免费 | 国产一级特黄电影 | 四虎在线免费观看视频 | 久草视频2 | a午夜在线 | aaa黄色毛片 | 天天操天天色天天射 | 久久免费毛片 | a资源在线| 天天做天天看 | 黄色大片日本免费大片 | 丁香六月天婷婷 | 日韩欧美在线视频一区二区三区 | 中文字幕乱码亚洲精品一区 | 国产手机视频在线 | 久久午夜色播影院免费高清 | 欧美美女视频在线观看 | 成人亚洲免费 | 久久九九国产视频 | 久久人人97超碰精品888 | 久久久久免费网站 | 97热视频| 热热热热热色 | 久久这里只有精品首页 | 涩涩成人在线 | 四虎视频| 91中文字幕永久在线 | 久久www免费人成看片高清 | 成人黄色在线看 | 中文字幕在线一区二区三区 | 久热免费在线观看 | 美女国产免费 | 99久久久国产精品美女 | 久久高清视频免费 | 欧美日韩在线视频免费 | 国产精品久久99综合免费观看尤物 | 国产麻豆精品一区 | 韩国一区二区三区在线观看 | 国产精品女人网站 | 亚洲 欧美 日韩 综合 | 18久久久 | 日韩有码中文字幕在线 | 亚洲区另类春色综合小说校园片 | 蜜臀av性久久久久av蜜臀三区 | 在线播放 一区 | 国产精品美女在线观看 | 国产91精品一区二区麻豆亚洲 | 中文字幕一区二区三区四区 | 中文av资源站 | 成人免费在线电影 | 免费成人在线观看视频 | 久久免费精品一区二区三区 | 亚洲最新视频在线 | 久久久久久高潮国产精品视 | 国产精品网红直播 | 国产免费三级在线观看 | 久久免费视频这里只有精品 | 91亚洲精品视频 | 天天操狠狠操 | 九九精品在线观看 | 亚洲第五色综合网 | 精品在线免费观看 | 欧美黄污视频 | 亚洲精品久久在线 | 日韩av免费一区二区 | av成人在线播放 | 久久免费的精品国产v∧ | 欧美日韩免费观看一区=区三区 | 在线看不卡av | 欧美性超爽 | 丁香花中文字幕 | 粉嫩aⅴ一区二区三区 | 免费在线a| 久久精品一二三区白丝高潮 | 色婷婷综合在线 | 在线99视频 | 激情综合电影网 | 亚洲永久精品一区 | 91久久久久久久一区二区 | 中文字幕av在线不卡 | 最近更新好看的中文字幕 | 国产精品久久久久久久免费 | 亚洲精品久久久久中文字幕二区 | 日韩欧美一区二区三区在线 | 亚洲精品高清视频在线观看 | 亚洲精品小视频 | 国产精品av久久久久久无 | 中文字幕在线观看亚洲 | 99精品在线视频播放 | 国产精品综合久久久久久 | 婷婷丁香激情综合 | 日韩在线视频播放 | free,性欧美 九九交易行官网 | 亚洲天堂自拍视频 | 制服丝袜欧美 | 久久成人一区 | 精品高清美女精品国产区 | 天堂在线视频中文网 | 亚洲综合导航 | 99re中文字幕 | 五月精品 | 日本中文在线 | 97日日| 欧美91av| 成人免费一区二区三区在线观看 | 4438全国亚洲精品在线观看视频 | 中文字幕在线免费观看 | 欧美视频日韩视频 | 成人九九视频 | 99久久日韩精品视频免费在线观看 | 亚洲精品一区二区三区新线路 | 国产精品女人久久久久久 | 日本久久综合视频 | 97人人模人人爽人人少妇 | 久久美女精品 | www.久久久久| 五月婷婷天堂 | 日韩中文字幕在线 | 国产午夜精品一区二区三区嫩草 | 一区二区精品在线 | 日韩爱爱网站 | 精品视频免费久久久看 | av一级一片 | 亚洲视频 在线观看 | 成人免费视频网站在线观看 | 伊人网av | 狠狠色丁香婷婷综合基地 | 欧美另类重口 | 人人讲 | 久草在线免费色站 | 久久久久国产精品视频 | 99精品免费在线观看 | 日韩av电影免费观看 | 天天曰夜夜操 | 国产打女人屁股调教97 | 国产91在线看 | 亚洲欧美激情精品一区二区 | 91中文字幕在线视频 | 国产打女人屁股调教97 | 欧美性生交大片免网 | 欧美少妇bbwhd| 欧美日韩亚洲在线观看 | 亚洲一区精品人人爽人人躁 | 精品在线一区二区三区 | 久久另类视频 | 婷婷日 | 日韩精品一区二区三区中文字幕 | 在线观看中文字幕 | 婷婷在线不卡 | 国产精品视频全国免费观看 | 免费看久久 | 视频一区视频二区在线观看 | 奇米影音四色 | 激情综合网天天干 | 在线播放国产一区二区三区 | 免费看av片网站 | 69国产盗摄一区二区三区五区 | 亚洲 中文 在线 精品 | 最新国产在线 | 成年人国产视频 | 免费毛片一区二区三区久久久 | 99草视频| 久草在线在线视频 | 色99中文字幕 | 欧美一级免费黄色片 | 日韩高清在线一区二区三区 | 国产精品s色 | 91片黄在线观 | av网址最新 | 亚洲伊人av | 97热在线观看 | 婷婷久久一区二区三区 | 天天操狠狠操网站 | 国产黄a三级 | 中文字幕在线日 | 国内精品视频免费 | 久久深夜| 精品国产成人在线 | 久久久久国产视频 | 人人精品 | 高潮久久久 | 中文字幕一区二区三区精华液 | av在线进入 | 亚洲爱爱视频 | 亚洲精品免费观看 | 2018亚洲男人天堂 | 国产一区二区中文字幕 | 波多野结衣视频一区二区三区 | 手机成人在线 | 一区二区精品 | 日韩久久电影 | 国产一区二区免费 | 99精品视频免费看 | 日韩国产精品久久 | av在线免费不卡 | www五月 | 狠狠色丁香久久综合网 | 国产精品不卡av | 国产亚洲精品中文字幕 | 日韩性片 | 精品视频一区在线观看 | 五月婷香蕉久色在线看 | 天天av资源 | 欧美另类调教 | 夜夜夜夜夜夜操 | 日韩免费电影在线观看 | 亚洲精品91天天久久人人 | 久久高清av| 日日操网 | 天天插天天狠 | 国产精品第一页在线观看 | 欧美在线a视频 | 国产一区免费 | 91看片淫黄大片在线播放 | 涩涩色亚洲一区 | 国产精品中文字幕在线观看 | 国产精品入口久久 | 精品久久一区二区三区 | 人人插人人 | 精品欧美一区二区在线观看 | 亚洲精品综合在线 | 蜜臀久久99精品久久久无需会员 | 成人av免费在线看 | 久操久 | 国产一性一爱一乱一交 | 91精品视频免费看 | 婷婷干五月 | 一性一交视频 | 麻豆传媒一区二区 | 超碰.com| 91在线看黄| 日韩精品中文字幕有码 | www.久热| 手机在线中文字幕 | 草久中文字幕 | 国产成视频在线观看 | 美女黄频在线观看 | 碰超人人| 亚洲作爱 | 日韩影片在线观看 | 亚洲国产中文字幕在线观看 | .国产精品成人自产拍在线观看6 | 日韩精品一区二区三区免费观看视频 | 亚洲理论在线观看 | 99色视频在线| 不卡的av | 黄色网www| 国产午夜精品一区二区三区嫩草 | 中文字幕在线观看完整版电影 | 中文字幕成人av | 国产一区欧美一区 | 国产精品美女视频网站 | 日韩在线观看一区 | 国产高清久久久 | 国产美腿白丝袜足在线av | 草樱av | av网站在线免费观看 | 久久精品免费看 | 色综合天天综合 | 婷婷电影在线观看 | 日韩欧美一区二区三区在线 | 一区二区精品视频 | 久久无码精品一区二区三区 | 玖玖爱国产在线 | 久久久久久久久久久电影 | 中文字幕在线观看免费高清电影 | 成人av久久 | 在线中文字母电影观看 | 亚洲成人免费在线观看 | 亚洲成人欧美 | 国产一区二区成人 | 在线观看国产亚洲 | 天天干天天操天天操 | 一区二区三区视频网站 | 麻豆一精品传二传媒短视频 | 国产高清在线免费观看 | 婷婷精品视频 | 在线成人小视频 | 日韩av影视在线 | 亚洲视频免费视频 | 日韩av进入 | 久久人网| 日韩欧美高清在线观看 | 成人免费在线观看入口 | 国产精品免费视频一区二区 | av福利网址导航 | 日韩欧美一区视频 | 国产剧情久久 | 最新免费中文字幕 | 成片人卡1卡2卡3手机免费看 | 亚洲精品久久在线 | 色综合天天干 | 亚洲精品 在线视频 | 欧美-第1页-屁屁影院 | 精品国产aⅴ麻豆 | 最新91在线视频 | 成人夜晚看av| 国产午夜av | 亚洲专区在线视频 | 92国产精品久久久久首页 | 亚洲精品免费播放 | 国产亚洲欧美在线视频 | 精品一区二区在线免费观看 | 国产成本人视频在线观看 | 中文在线中文资源 | 97超碰人人澡 | 久久成人一区二区 | 97免费在线观看视频 | 亚洲精品中文字幕视频 | 日韩av资源在线观看 | 涩涩网站在线 | 91久久偷偷做嫩草影院 | 国产黄色免费观看 | 欧美一级激情 | 久久久99精品免费观看乱色 | 欧洲在线免费视频 | 九九热视频在线播放 | 91精品视频观看 | 在线观看理论 | 久久久999 | 亚洲免费成人av电影 | 国产精品96久久久久久吹潮 | 国产a视频免费观看 | 久久99九九99精品 | 在线观看亚洲国产 | www.天天成人国产电影 | 最新国产精品拍自在线播放 | 狠狠色噜噜狠狠狠狠2022 | 91精品免费视频 | 亚洲国产成人精品在线 | 精品久久久精品 | 久久精品这里都是精品 | 99久久精品无码一区二区毛片 | 免费亚洲视频在线观看 | 麻豆一级视频 | 免费看一级片 | 综合天天| 国产成人精品一二三区 | 国产欧美精品一区二区三区四区 | 亚洲区视频在线 | 色婷婷免费视频 | 日韩精品久久久 | 欧美一级在线观看视频 | 97看片网 | 99视频在线精品免费观看2 | 日韩电影一区二区三区 | 欧美日bb | 中文字幕a∨在线乱码免费看 | 亚洲黄色一级电影 | 狠狠狠操 | 亚洲天堂精品视频在线观看 | 日韩电影在线一区二区 | 久久精品视频在线播放 | 亚洲另类视频在线 | 国产免费一区二区三区网站免费 | 韩国一区在线 | 超碰97在线资源 | 黄色高清视频在线观看 | 999久久久久久久久 69av视频在线观看 | 99爱在线| 99性视频 | 中文字幕在线一区二区三区 | 欧洲精品久久久久毛片完整版 | 色婷婷国产精品 | 亚洲播放一区 | 色婷婷成人网 | 综合影视 | 国产精品免费观看视频 | 国产精品视频区 | 久久久久久久久艹 | 日韩精品不卡 | 国产一级免费在线观看 | 国产精品美女999 | 精品国内自产拍在线观看视频 | 四虎影视www| 国产精品免费在线观看视频 | 美女免费黄视频网站 | 久久婷婷色 | 黄色的视频 | 激情视频二区 | 亚洲精品自在在线观看 | 91av在线免费视频 | 国产小视频91 | 色综合婷婷 | 免费观看v片在线观看 | 狠狠躁日日躁夜夜躁av | 综合色影院 | 国产精品一区二区麻豆 | 美女网站免费福利视频 | 久久久国产日韩 | 日韩视频在线观看视频 | 国产精品 日韩 | 国产精品成人在线 | 在线观av | 亚洲精品小视频 | 国产91精品欧美 | 日韩免费大片 | www色片| 丁香激情综合 | 婷婷色九月| 国产在线播放一区二区 | 久久麻豆视频 | 亚洲日本欧美 | 成人中文字幕+乱码+中文字幕 | 日韩在线免费播放 | 亚洲精品在线二区 | 夜夜夜夜夜夜操 | 国产欧美日韩精品一区二区免费 | 黄色影院在线免费观看 | 超碰在线免费福利 | 99精品免费久久久久久久久日本 | 国产精品久久久一区二区 | 日韩av黄 | 亚洲国产精品久久久久婷婷884 | 中文字幕日韩电影 | 成人免费视频视频在线观看 免费 | 最近中文字幕完整视频高清1 | 三级黄在线 | 亚洲成人家庭影院 | 国产一区播放 | 狠狠狠色丁香婷婷综合久久五月 | 色婷婷伊人 | 69国产盗摄一区二区三区五区 | 国产亚洲精品久久久久动 | 午夜电影中文字幕 | 亚洲一区二区三区四区精品 | 久久99最新地址 | 日韩精品一区二区三区免费观看视频 | 黄色1级毛片 | 91探花系列在线播放 | 亚洲欧美日韩国产一区二区 | 国产麻豆精品95视频 | 在线观看国产高清视频 | 日韩黄视频 | 一级精品视频在线观看宜春院 | 美女一级毛片视频 | 500部大龄熟乱视频使用方法 | 日韩av一区二区在线播放 | 国产亲近乱来精品 | 91久久精| 欧美日韩国产区 | 欧美精选一区二区三区 | av免费在线看网站 | www.超碰97.com | 亚洲精选视频免费看 | 99久久www| 国产a精品| 久久国产精品一国产精品 | 久久69av | 97热视频| 色com | 亚洲精品乱码久久久久久蜜桃不爽 | 国产在线久草 | 丝袜+亚洲+另类+欧美+变态 | 婷婷av在线 | 亚洲天堂精品视频 | 免费在线观看黄色网 | 97香蕉超级碰碰久久免费软件 | 在线看片日韩 | 国内视频在线 | 国产精品不卡一区 | 日韩丝袜视频 | 久草在线欧美 | 久久精品视频日本 | 日韩亚洲国产精品 | 国产午夜在线观看视频 | 国产一区二区在线观看免费 | 久久视频一区 | 亚洲精品中文在线资源 | 国产精品免费在线播放 | 国产黄色片久久 | 免费观看久久 | 91在线免费播放 | 国产在线精品一区二区 | 狠狠干天天色 | 亚洲综合成人婷婷小说 | 免费视频 三区 | 久久99精品久久久久久三级 | 国产在线观看免费观看 | 综合久久五月天 | 日韩欧美在线观看 | 操操日日 | 激情欧美一区二区三区免费看 | 国产精品久久久久永久免费观看 | 激情婷婷色 | 中国一级片在线观看 | 国产视频不卡一区 | 亚洲黄色高清 | 国产精品免费久久久久影院仙踪林 | 日日干夜夜草 | 久久久高清视频 | 97电影手机| 国产a精品 | 日韩免费视频线观看 | 免费在线黄网 | 97色在线视频 | 97视频资源 | 免费看黄在线观看 | 日韩av三区 | 99色资源| 免费性网站| 国产精品一区二区 91 | www天天干com| a在线观看视频 | 国产精品久久久久久久久久久久午夜 | 在线成人免费 | 91久久丝袜国产露脸动漫 | 久草网视频在线观看 | 亚洲第一中文网 | 国产专区在线视频 | 亚洲国产日韩欧美 | 国产精品99久久免费观看 | 国产精品久久久久久久妇 | 久久毛片网 | 婷婷网址| 日韩欧美高清一区二区三区 | 国产成人精品久久久 | 操处女逼 | 亚洲国产伊人 | 黄色av一区 | 欧美一区三区四区 | 亚洲精品国内 | 久久国产经典 | 91亚洲精 | 久草视频国产 | 成年人在线观看视频免费 | av福利超碰网站 | 久久久精品欧美一区二区免费 | 久草在线综合网 | 国产在线色 | 欧美日韩国产综合网 | 天天综合网 天天 | 免费的国产精品 | 日韩av男人的天堂 | 国产亚洲无 | 91在线免费视频观看 | 中文字幕乱视频 | 婷婷丁香国产 | 正在播放一区二区 | 中文字幕一区在线观看视频 | 麻豆91网站 | 在线看一区 | 国产视频午夜 | 91插插插网站 | 天天操天天添 | 精品二区久久 | 午夜视频不卡 | 国产又粗又硬又爽视频 | 亚洲综合五月天 | 亚洲三级网| 久久久国产影院 | 免费在线观看av网址 | 99亚洲国产| 91伊人久久大香线蕉蜜芽人口 | 最近中文字幕免费视频 | 中文字幕在线看视频 | 亚洲高清91 | 狠狠狠色丁香综合久久天下网 | 91精品在线免费 | 国产福利在线免费 | 日韩高清一区在线 | 黄色三级网站在线观看 | 麻豆国产精品va在线观看不卡 | 免费高清男女打扑克视频 | 成人免费一级片 | 最新av电影网址 | 国产精品高潮呻吟久久av无 | 久久美女高清视频 | 久久综合狠狠 | 免费看黄在线 | 国产精品热 | 狠狠色狠狠色综合系列 | 日韩69视频 | 日韩欧美视频免费在线观看 | 久久精品在线视频 | 成年人免费在线 | 4438全国亚洲精品观看视频 | 亚洲欧美色婷婷 | 一区二区三区四区免费视频 | 国产精品成人久久久 | 国产精品久久麻豆 | 国产精品一区二区在线 | 久久久久久久国产精品视频 | 天天插天天干天天操 | 亚洲区精品视频 | 国产片免费在线观看视频 | 九九热有精品 | 日韩av不卡在线 | 久久综合九色综合久久久精品综合 | 九九久久久久久久久激情 | 在线国产日本 | 国产精品久久久久久模特 | 日韩高清在线一区二区三区 | 玖玖在线资源 | 久久久久99精品成人片三人毛片 | 欧美一区二区伦理片 | 2019中文字幕第一页 | 国产精品女主播一区二区三区 | 激情综合网色播五月 | 97国产超碰在线 | 四虎成人精品在永久免费 | 免费日韩一区二区三区 | 日本三级吹潮在线 | 国产网站在线免费观看 | 亚洲韩国一区二区三区 | 中文字幕在线不卡国产视频 | av888.com| 国产视频精选 | 国产三级午夜理伦三级 | 国产一区二区在线免费 | av日韩不卡 | 国产专区一 | 久久久久久久久久久综合 | 99视频在线观看视频 | 国产在线国偷精品产拍免费yy | 国产精品免费大片视频 | 丁香 婷婷 激情 | 狠狠操欧美 | 在线播放日韩av | 精品国产免费观看 | 久久久久免费观看 | 欧美精品视 | 久久久久久久影院 | 亚洲做受高潮欧美裸体 | 欧美视频www | 69国产盗摄一区二区三区五区 | 99视频+国产日韩欧美 | 草久视频在线观看 | 国产精品ssss在线亚洲 | 久久成人国产精品一区二区 | 激情欧美丁香 | 午夜成人免费影院 | 色婷婷www | 波多野结衣视频一区 | 91精品国产亚洲 | 国产一级做a爱片久久毛片a | 最新色站 | 美女免费视频一区二区 | 久久精品视频在线 | 国产二区视频在线观看 | 国产麻豆精品久久一二三 | 国产玖玖视频 | 91av播放| 免费色视频网址 | 婷婷综合成人 | 国产99久久99热这里精品5 | 久久国产精品二国产精品中国洋人 | 一区二区三区影院 | 久久精品日本啪啪涩涩 | 亚洲综合视频在线播放 | 亚洲极色 | 欧美精品久久久久久久免费 | 欧美成人影音 | 狠狠色香婷婷久久亚洲精品 | 久久久黄色免费网站 | 久久久久久久综合色一本 | 在线视频中文字幕一区 | 人人澡人摸人人添学生av | 久久久久免费电影 | 精品久久精品 | 国产精品99久久久久久久久久久久 | 久久久久久久久久久网站 | 91成人精品国产刺激国语对白 | 91网免费观看 | 国产成人综合精品 | 在线午夜电影神马影院 | 日韩a在线| www日日夜夜| 一级淫片在线观看 | www久久久 | 中文免费观看 | 激情丁香久久 | 91在线色| 深夜福利视频在线观看 | 91香蕉亚洲精品 | 中文字幕在线观看1 | 国产亚洲资源 | 韩国精品一区二区三区六区色诱 | 免费av电影网站 | 日韩精品在线观看av | 99久久99久久| 久久久久国产精品一区二区 | 区一区二区三在线观看 | 国产精品爽爽久久久久久蜜臀 | 成人在线视频你懂的 | 亚洲综合导航 | 五月婷香蕉久色在线看 | 久久久久国产视频 | 久久欧美在线电影 | 久久免费的视频 | 91在线播放视频 | www.av在线播放 | 欧美大片大全 | 国产精品欧美久久久久三级 | 亚洲精品在线观 | 国产成人精品久久久久 | 国产高清在线看 | 国产成人精品久久亚洲高清不卡 | 黄网站免费看 | 国产成人精品一区二区三区网站观看 | 国产精品久久久一区二区 | 热久久最新地址 | 岛国av在线免费 | 国产免费片| 九七视频在线观看 | 日韩精品视频一二三 | 婷婷在线色 | 最新午夜电影 | 亚洲成人xxx | 欧美日韩国产页 | 99久久婷婷国产精品综合 | 91精品国自产拍天天拍 | 亚洲成av片人久久久 | 美女视频黄免费网站 | 久久久国产视频 | 成人99免费视频 | 久久久久国产a免费观看rela | 久久综合干| 96久久久 | 狠狠狠狠狠狠狠干 | 国产不卡av在线播放 | 久久不见久久见免费影院 | 国产精品久久99综合免费观看尤物 | 黄色成人影视 | 91免费高清在线观看 | 综合影视| 天天摸天天操天天爽 | 国产色在线观看 | 亚洲成人黄色在线观看 | 欧美激情精品久久久久久免费 | 国产黄色片一级 | av黄色免费网站 | 91av在线视频播放 | 天天操天 | 人人插人人做 | 午夜精品久久久99热福利 | 国产成人一区二区三区在线观看 | 成人免费网站在线观看 | 精品亚洲欧美一区 | 亚洲综合狠狠干 | av在线观 | 99久久毛片 | 久久69精品久久久久久久电影好 | 中文字幕高清在线 | 亚洲国产97在线精品一区 | 色偷偷av男人天堂 | 久久成人欧美 | 久久精品中文字幕免费mv | 香蕉网在线播放 | 天天色天天色天天色 | 亚洲精品国产区 | 国产一区二区在线精品 | 激情大尺度视频 | 91福利视频久久久久 | 精品欧美日韩 | 日日操狠狠干 | 日韩在线一二三区 | 成人aaa毛片 | 在线中文字幕视频 | 在线小视频你懂得 | 日韩三级免费观看 | 日韩三级中文字幕 | 久久久久久激情 | 免费看一级黄色大全 | 亚洲国产中文字幕在线观看 | 久久另类小说 | 国产伦理精品一区二区 | 99久久99久久精品 | a v在线观看| 四虎成人在线 | 欧美激情亚洲综合 | 日韩av一区二区三区在线观看 | 免费看av在线 | 亚欧洲精品视频在线观看 | 日韩视频一区二区 | 婷婷丁香在线观看 | 亚洲精品小区久久久久久 | 在线观看视频中文字幕 | 久久中文网 | 国产区久久 | 亚洲色影爱久久精品 | 91福利视频久久久久 | 亚洲国产wwwccc36天堂 | 日韩大片免费在线观看 | 西西大胆免费视频 | 久久久久久久av | 精品久久久久久久久中文字幕 | 国产小视频在线播放 | 超碰在线最新网址 | 91精品少妇偷拍99 | 99久久免费看 | 黄色大片视频网站 | 一级一片免费视频 | 精品国产一区二区三区av性色 | 午夜电影久久久 | 成人免费亚洲 | 色婷婷av一区 | 精品少妇一区二区三区在线 | 91精品国产欧美一区二区成人 | 天天操夜夜操天天射 | 91av视频网| 成年人电影毛片 | 欧美三人交 | 在线观看一级视频 | 国产 在线 日韩 | 国产午夜精品理论片在线 | 欧美日韩免费网站 | 啪啪免费试看 | 91久久爱热色涩涩 | 一区二区三区四区五区六区 | 国产精品一区二区视频 | 日韩激情视频在线 | 国色天香av | 色综合天天综合 | 91探花国产综合在线精品 | 亚洲黄a| 美女国产网站 | 91av在线播放视频 | 国产五月色婷婷六月丁香视频 | 国产精品久久久久国产精品日日 | 中文字幕成人网 | www.香蕉视频在线观看 | 波多野结衣一区 | 午夜国产一区 | 99久久爱| 色婷婷亚洲婷婷 | 亚洲视频 视频在线 | 免费看的黄色网 | 免费观看一区二区 | 国产精品2区| 激情黄色av | 欧美精品久久久久久久免费 | 一区二区三区高清在线 | 丁香免费视频 | 久久亚洲人 | 97色婷婷人人爽人人 | 国产精品不卡视频 | 欧美久久久一区二区三区 | 亚洲欧美日韩精品久久奇米一区 | 久久手机精品视频 | 99精品免费久久久久久久久日本 | 国产 日韩 欧美 中文 在线播放 | 亚洲 欧美 91 | 99热这里只有精品1 av中文字幕日韩 | 欧美色综合天天久久综合精品 | 天天综合婷婷 | 久草网首页 | 亚洲男男gaygay无套同网址 | 久久高清视频免费 | 亚洲最新av | 久久久久国产成人精品亚洲午夜 | 97超碰人 | 狠狠躁天天躁 | 精品女同一区二区三区在线观看 | 99r在线视频 | 久久艹综合 | 久久99亚洲网美利坚合众国 | 国产精品乱码久久 | 免费韩国av| 国产精品不卡在线 | 午夜久久久久久久久久影院 | 天天爱天天操天天爽 | 一本一本久久aa综合精品 | 久久成人精品视频 | 免费a级大片 | 99婷婷狠狠成为人免费视频 | 亚洲1区 在线| 国产福利在线免费 | 欧洲精品久久久久毛片完整版 | av久久久久久 | 91探花在线视频 | 少妇性aaaaaaaaa视频 | 免费看污在线观看 | 欧美日本一区 | 91精品国产乱码久久桃 | 国产小视频在线免费观看视频 | 亚洲aⅴ免费在线观看 | 91最新在线视频 | 精品一区精品二区高清 | 激情久久综合网 | 国产成人中文字幕 | 激情影院在线 | 97精品国产 | 伊人在线视频 | 91色在线观看视频 | 在线激情小视频 | 亚洲日b视频 | 日韩三级视频在线观看 | 制服丝袜在线91 | 99福利片 | 久久国产免 | 91完整版在线观看 | 粉嫩av一区二区三区免费 | 久久99精品国产99久久6尤 | 91九色视频导航 | 免费观看一区 | 日韩精品久久久免费观看夜色 | 国产网红在线 | 免费又黄又爽 | 毛片播放网站 | 日日夜夜干| 亚洲综合在线播放 | 成人aⅴ视频| 久草综合视频 | av在线进入 | 一区二区精 | 国产美女视频网站 | 在线黄av| 久久99婷婷 | 人人爽人人射 | 91网站在线视频 | 久久久久电影 | 国产在线观看免费av | 91九色国产蝌蚪 | 亚洲五月 | 成人黄色在线电影 | 日韩成人高清在线 | 中文字幕在线观看的网站 | 久久午夜精品影院一区 | 欧美日韩一区二区三区视频 | 欧美先锋影音 | 97精品国产一二三产区 | 色悠悠久久综合 | 久久免费在线观看 |