最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python3.9之你應該知道的新特性詳解

 更新時間:2021年04月29日 15:29:21   作者:可愛又迷人的 反派角色  
這篇文章主要介紹了python3.9之你應該知道的新特性詳解,需要的朋友可以參考下

一、數(shù)字類型

python除了支持原有的int和float類型,新增了支持Decimal或者Fraction。python還內(nèi)置支持復數(shù),后綴j或者J用于標識虛數(shù)。

二、字符串

如果字符串中有單引號而沒有雙引號,該字符串外將加注雙引號,反之,則加注單引號。print() 函數(shù)輸出的內(nèi)容更簡潔易讀,它會省略兩邊的引號,并輸出轉(zhuǎn)義后的特殊字符。

>> '"Isn\'t," they said.'
'"Isn\'t," they said.'
>>> print('"Isn\'t," they said.')
"Isn't," they said.
>>> s = 'First line.\nSecond line.'  # \n means newline
>>> s  # without print(), \n is included in the output
'First line.\nSecond line.'
>>> print(s)  # with print(), \n produces a new line
First line.
Second line.

如果不希望前置的\字符轉(zhuǎn)譯成特殊字符,可以使用原始字符串,在引號前添加r即可。

>>> print('C:\some\name')  # h這里的\n會被認為是轉(zhuǎn)義字符
C:\some
ame
>>> print(r'C:\some\name')  #在轉(zhuǎn)義之前標記為r
C:\some\name

字符串可以使用+合并到一起,也可以使用*表示復制多次

>>>3 * 'mmm'  + ‘qqq'
>'mmmmmmmmmqqq'

相鄰的兩個或者多個字符串會自動合并

>>>'Py' 'thon'
>‘Python'

拆分長字符串時,這個功能特別實用:

>>>('Put several strings within parentheses '
...         'to have them joined together.')
>>>text
>'Put several strings within parentheses to have them joined together.'

這個功能只能用于兩個字面值,不能用于變量或者表達式:

>>> prefix = 'Py'
>>> prefix 'thon'  # can't concatenate a variable and a string literal
  File "<stdin>", line 1
    prefix 'thon'
                ^
SyntaxError: invalid syntax
>>> ('un' * 3) 'ium'
  File "<stdin>", line 1
    ('un' * 3) 'ium'
                   ^
SyntaxError: invalid syntax

合并多個變量或者合并變量與字面值,要使用“+”:

>>> prefix + 'thon'
'Python'

字符串支持索引,正向索引和反向索引都支持。

str[0]  str[1]  str[-1]
#為什么反向索引從-1開始?
#-0 和 0 相等,指向的是同一個值。

python支持切片操作。索引可以提取單個字符,切片操作可以提取字符串。

>>> word[0] 
'P'
>>> word[2:5] 
'tho'

python切片操作輸出結(jié)果包含切片開始,但是不包含切片結(jié)束。因此s[:i] + s[i:]總是等于s

>>> word[:2] + word[2:]
'Python'
>>> word[:4] + word[4:]
'Python'

python可以自動處理越界索引:

>>> word[4:42]
'on'
>>> word[42:]
''

python字符串是不可變量,所以直接對某個索引復制會報錯。如果想改變字符串的值,必須新建一個字符串。

三、列表類型

python列表是個很神奇的類型,列表中添加的元素可以是不同的數(shù)據(jù)類型。與python字符串一樣,python列表也支持索引和切片操作。

切片操作會返回包含請求元素的新列表。返回的是列表的淺拷貝。

#補充:深拷貝和淺拷貝的區(qū)別:
#使用淺拷貝,當原容器對象中可變對象中有元素發(fā)生變化,拷貝得到的對象也會變#化。而使用深拷貝時,不會有這種問題。
#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Author : qmt
# @Time : 2021/4/27 21:26
import copy
# 淺拷貝
list1 = [[1,1], 555 , 'mm']
list2 = list1.copy()
list3 = copy.copy(list1)
print(id(list1))
print(id(list2))
print(id(list3))
# 輸出結(jié)果
# 2207574630976
# 2207574779456
# 2207574778816

print(id(list1[0]))
print(id(list2[0]))
# 輸出結(jié)果:
# 2287435172736
# 2287435172736

print(id(list1[1]))
print(id(list2[1]))
# 輸出結(jié)果:
# 2085715335536
# 2085715335536

print(id(list1[2]))
print(id(list2[2]))
print(id(list3[2]))
# 輸出結(jié)果:
# 3009054756720
# 3009054756720
# 3009054756720

# 改變第一個值,查看復制對象的變化
list1[0][0] = 100
print(list1)
print(list2)
print(list3)
# 輸出結(jié)果:
# [[100, 1], 555, 'mm']
# [[100, 1], 555, 'mm']
# [[100, 1], 555, 'mm']


list1[2] = 32
print(list1)
print(list2)
print(list3)
# 輸出結(jié)果:
# [[100, 1], 555, 32]
# [[100, 1], 555, 'mm']
# [[100, 1], 555, 'mm']
# 字符串是不可變對象,所以淺拷貝不會同步到其他復制對象中


list1[1] = 'mm'
print(list1)
print(list2)
print(list3)
# 輸出結(jié)果:
# [[100, 1], 'mm', 32]
# [[100, 1], 555, 'mm']
# [[100, 1], 555, 'mm']

深拷貝:

#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Author : qmt
# @Time : 2021/4/27 21:35
import copy
list1 = [[1,2],'mm',2222]
list2 = copy.deepcopy(list1)

print(id(list1))
print(id(list2))
# 輸出結(jié)果:指向不同的內(nèi)存地址
# 2847485493888
# 2847485646528

list1[0][0] = 100
print(id(list1))
print(id(list2))
# 輸出結(jié)果:list2作為一個深拷貝對象,內(nèi)存地址并沒有發(fā)生變化
# 1368800613056
# 1368800441920

list1[2] = 100
print(list1)
print(list2)
# 輸出結(jié)果:list1的任何操作都不會對list2產(chǎn)生影響,因為這相當于創(chuàng)建了一個新的對象
[[100, 2], 'mm', 100]
[[1, 2], 'mm', 2222]

總結(jié):

可變類型 Vs 不可變類型
可變類型(mutable):列表,字典
不可變類型(unmutable):數(shù)字,字符串,元組

深拷貝會把可變對象也拷貝一份,而淺拷貝不會。

上面例子中說的是列表(可變對象)的拷貝,那對于元組,字符等不可不對象呢?

答案是,對不可變對象,其實不存在深淺拷貝的問題。無論怎么拷貝,效果都是新建立一個指向不可變對象的指針而已。

import copy
a = (1,2)
b = copy.copy(a)
c =copy.deepcopy(a)
print(b == c)
print(id(b)==id(c))

lista = [5,6]
listb = copy.copy(lista)
listc = copy.copy(lista)
print(listb == listc)
print(id(lista) == id(listb))

輸出結(jié)果:

True
True
True
False

Python中的對象包含三個基本要素,分別是:
id:用來唯一標識一個對象,可以理解為內(nèi)存地址;
type:標識對象的類型;
value:對象的值;
== :比較兩個對象的內(nèi)容是否相等,即兩個對象的 value 是否相等,無論 id 是否相等,默認會調(diào)用對象的 __eq__()方法
is: 比較的是兩個對象是不是完全相同,即他們的 id 要相等。
也就是說如果  a is b  為 True,那么 a == b 也為True

四、for循環(huán)

for n in range(2,10):
    for x in range(2,n):
        if n % x == 0:
            print(n ,'equals',x ,'*', n//x)
            break
    else:
        print(n,'is a prime number')

輸出結(jié)果:

2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3

到此這篇關于python3.9之你應該知道的新特性詳解的文章就介紹到這了,更多相關python3.9新特性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python使用pathlib庫實現(xiàn)優(yōu)雅的處理路徑

    Python使用pathlib庫實現(xiàn)優(yōu)雅的處理路徑

    如果你需要在 Python 里進行文件處理,那么標準庫中的os和os.path兄弟倆一定是你無法避開的兩個模塊,本文主要來和大家聊聊如何使用pathlib庫實現(xiàn)優(yōu)雅的處理路徑,感興趣的可以了解下
    2023-12-12
  • pycharm打包py項目為.exe可執(zhí)行文件的兩種方式

    pycharm打包py項目為.exe可執(zhí)行文件的兩種方式

    本文主要介紹了pycharm打包py項目為.exe可執(zhí)行文件的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • matplotlib繪制鼠標的十字光標的實現(xiàn)(內(nèi)置方式)

    matplotlib繪制鼠標的十字光標的實現(xiàn)(內(nèi)置方式)

    這篇文章主要介紹了matplotlib繪制鼠標的十字光標的實現(xiàn)(內(nèi)置方式),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python?Poetrya項目依賴管理安裝使用詳解

    Python?Poetrya項目依賴管理安裝使用詳解

    這篇文章主要為大家介紹了Python?Poetrya項目依賴管理安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Python的join函數(shù)的用法及實例

    Python的join函數(shù)的用法及實例

    這篇文章主要詳細介紹了python的join函數(shù)的用法及實例,文章中有詳細的代碼講解,有一定的參考價值,需要的同學可以參考閱讀
    2023-04-04
  • Python實現(xiàn)快速將pdf文件剪切成多個圖片

    Python實現(xiàn)快速將pdf文件剪切成多個圖片

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)快速將pdf文件剪切成多個圖片,文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • Anaconda中導出環(huán)境的實現(xiàn)步驟

    Anaconda中導出環(huán)境的實現(xiàn)步驟

    在 Anaconda 中導出環(huán)境是一種常用的做法,可以將當前的環(huán)境配置導出到一個文件中,本文主要介紹了Anaconda中導出環(huán)境的實現(xiàn)步驟,具有一定的參考價值
    2024-05-05
  • python簡單實現(xiàn)插入排序?qū)嵗a

    python簡單實現(xiàn)插入排序?qū)嵗a

    在本篇文章里小編給大家整理了一篇關于python簡單實現(xiàn)插入排序?qū)嵗a,有需要的朋友們可以學習參考下。
    2020-12-12
  • pyCharm中python對象的自動提示方式

    pyCharm中python對象的自動提示方式

    這篇文章主要介紹了pyCharm中python對象的自動提示方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python怎么判斷素數(shù)

    python怎么判斷素數(shù)

    在本篇文章里小編給大家整理了關于python判斷素數(shù)的方法和代碼,需要的朋友們可以學習下。
    2020-07-07

最新評論

宜春市| 邳州市| 余姚市| 乌鲁木齐县| 罗平县| 沂源县| 石楼县| 丰城市| 桦南县| 河西区| 隆德县| 隆回县| 凤城市| 屏南县| 三江| 涪陵区| 陆川县| 南昌县| 新干县| 望都县| 荔浦县| 凯里市| SHOW| 林口县| 霍林郭勒市| 天门市| 洛浦县| 镇原县| 汉中市| 化德县| 青浦区| 原平市| 报价| 新竹县| 滨海县| 民县| 芜湖市| 焦作市| 精河县| 建昌县| 鹿邑县|