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

15個最近才知道的Python實用操作

 更新時間:2023年04月06日 15:18:29   作者:Python數(shù)據(jù)開發(fā)  
這篇文章主要和大家分享了15個最近才知道的Python實用操作,文中的示例代碼講解詳細,對我們深入了解Python有一定的幫助,感興趣的小伙伴可以了解一下

1)映射代理(不可變字典)

映射代理是創(chuàng)建后無法更改的字典。如果我們不希望用戶能夠更改我們的值,就可以使用它。

from types import MappingProxyType

mp = MappingProxyType({'apple':4, 'orange':5})
print(mp)

# {'apple': 4, 'orange': 5}

如果我們嘗試更改映射代理中的內(nèi)容,就會出現(xiàn)錯誤。

from types import MappingProxyType

mp = MappingProxyType({'apple':4, 'orange':5})
print(mp)

'''
Traceback (most recent call last):
  File "some/path/a.py", line 4, in <module>
    mp['apple'] = 10
    ~~^^^^^^^^^
TypeError: 'mappingproxy' object does not support item assignment
'''

2) dict 對于類和對象是不同的

class Dog:
  def __init__(self, name, age):
    self.name = name
    self.age = age

rocky = Dog('rocky', 5)

print(type(rocky.__dict__)) # <class 'dict'>
print(rocky.__dict__) # {'name': 'rocky', 'age': 5}

print(type(Dog.__dict__)) # <class 'mappingproxy'>
print(Dog.__dict__)
# {'__module__': '__main__', 
# '__init__': <function Dog.__init__ at 0x108f587c0>, 
# '__dict__': <attribute '__dict__' of 'Dog' objects>, 
# '__weakref__': <attribute '__weakref__' of 'Dog' objects>, 
# '__doc__': None}

對象的 dict 屬性是普通字典,而類的 dict 屬性是映射代理,它們本質(zhì)上是不可變字典(無法更改)。

3) any() 和 all()

any([True, False, False]) # True

any([False, False, False]) # False

all([True, False, False]) # False

all([True, True, True]) # True

any() 和 all() 函數(shù)都接受可迭代對象(例如列表)。

any() 如果至少有一個元素為 True,則返回 True。

all() 只有當(dāng)所有元素都為 True 時才返回 True。

4) divmod()

內(nèi)置的divmod()函數(shù)可以同時執(zhí)行//和%運算符。

quotient, remainder = divmod(27, 10)

???????print(quotient)  # 2
print(remainder) # 7

這里,27 // 10 的值為2,而 27 % 10 的值為7。因此,返回元組2,7。

5) 使用格式化字符串輕松檢查變量

name = 'rocky'
age = 5

string = f'{name=} {age=}'
print(string)

# name='rocky' age=5

在格式化字符串中,我們可以在變量后面添加 = 以使用 var_name=var_value 的語法打印它。

6) 我們可以將浮點數(shù)轉(zhuǎn)換為比率

print(float.as_integer_ratio(0.5))    # (1, 2)

print(float.as_integer_ratio(0.25))   # (1, 4)

print(float.as_integer_ratio(1.5))    # (3, 2)

內(nèi)置的 float.as_integer_ratio() 函數(shù)允許我們將浮點數(shù)轉(zhuǎn)換為表示分?jǐn)?shù)的元組。但有時它會表現(xiàn)得很奇怪。

print(float.as_integer_ratio(0.1))    # (3602879701896397, 36028797018963968)

print(float.as_integer_ratio(0.2))    # (3602879701896397, 18014398509481984)

7) 用globals()和locals()顯示現(xiàn)有的全局/本地變量

x = 1
print(globals())

# {'__name__': '__main__', '__doc__': None, ..., 'x': 1}

內(nèi)置的 globals() 函數(shù)返回一個包含所有全局變量及其值的字典。

def test():
    x = 1
    y = 2
    print(locals())

test()

# {'x': 1, 'y': 2}

內(nèi)置函數(shù) locals() 返回一個包含所有局部變量及其值的字典。

8) import() 函數(shù)

import numpy as np
import pandas as pd

^ 導(dǎo)入模塊的常規(guī)方式。

np = __import__('numpy')
pd = __import__('pandas')

^ 這與上面的代碼塊執(zhí)行相同的操作。

9) Python中的無限值

a = float('inf')
b = float('-inf')

^ 我們可以定義正無窮和負無窮。 正無窮大于所有其他數(shù)字,而負無窮小于所有其他數(shù)字。

10) 我們可以使用 ‘pprint’ 來漂亮地打印東西

from pprint import pprint

d = {"A":{"apple":1, "orange":2, "pear":3}, 
    "B":{"apple":4, "orange":5, "pear":6}, 
    "C":{"apple":7, "orange":8, "pear":9}}

pprint(d)

11) 我們可以在Python中打印彩色輸出

我們需要先安裝colorama。

from colorama import Fore

print(Fore.RED + "hello world")
print(Fore.BLUE + "hello world")
print(Fore.GREEN + "hello world")

12) 創(chuàng)建字典的更快方法

d1 = {'apple':'pie', 'orange':'juice', 'pear':'cake'}

^ 正常的方式

d2 = dict(apple='pie', orange='juice', pear='cake')

^更快的方法。這與上面的代碼塊完全相同,但我們輸入較少的引號。

13) 我們可以在Python中取消打印的內(nèi)容

CURSOR_UP = '\033[1A'
CLEAR = '\x1b[2K'

print('apple')
print('orange')
print('pear')
print((CURSOR_UP + CLEAR)*2, end='') # this unprints 2 lines
print('pineapple')

14) 對象中的私有變量并不是真正的私有

class Dog:
  def __init__(self, name):
    self.__name = name

  @property
  def name(self):
    return self.__name

這里,self.__name變量應(yīng)該是私有的。我們不應(yīng)該能夠從類外部訪問它。但實際上我們可以。

rocky = Dog('rocky')
print(rocky.__dict__)    # {'_Dog__name': 'rocky'}

我們可以使用 dict 屬性來訪問或編輯這些屬性。

15) 我們可以使用’type()'創(chuàng)建類

classname = type(name, bases, dict)

name 是一個字符串,代表類的名稱

bases 是包含類父類的元組

dict 是包含屬性和方法的字典

class Dog:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def bark(self):
    print(f'Dog({self.name}, {self.age})')

^ 以正常方式創(chuàng)建一個 Dog 類

def __init__(self, name, age):
  self.name = name
  self.age = age

def bark(self):
  print(f'Dog({self.name}, {self.age})')

Dog = type('Dog', (), {'__init__':__init__, 'bark':bark})

^ 使用 type() 創(chuàng)建與上面完全相同的 Dog 類

以上就是15個最近才知道的Python實用操作的詳細內(nèi)容,更多關(guān)于Python操作的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python名稱空間與作用域

    Python名稱空間與作用域

    這篇文章主要介紹了Python名稱空間與作用域,名稱空間即存放名字與對象映射?綁定關(guān)系的地方,下文更多相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • Python中Scipy庫在信號處理中的應(yīng)用詳解

    Python中Scipy庫在信號處理中的應(yīng)用詳解

    信號處理作為數(shù)字信號處理領(lǐng)域的關(guān)鍵技術(shù),涵蓋了從信號獲取、傳輸、存儲到最終應(yīng)用的一系列處理步驟,在這篇博客中,我們將深入探討Python中Scipy庫在信號處理領(lǐng)域的應(yīng)用,需要的朋友可以參考下
    2023-12-12
  • Python實現(xiàn)迪杰斯特拉算法并生成最短路徑的示例代碼

    Python實現(xiàn)迪杰斯特拉算法并生成最短路徑的示例代碼

    這篇文章主要介紹了Python實現(xiàn)迪杰斯特拉算法并生成最短路徑的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python從列表推導(dǎo)到zip()函數(shù)的5種技巧總結(jié)

    Python從列表推導(dǎo)到zip()函數(shù)的5種技巧總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于Python從列表推導(dǎo)到zip()函數(shù)的5種技巧的相關(guān)知識點和代碼,需要的朋友們參考學(xué)習(xí)下。
    2019-10-10
  • Python 實現(xiàn)網(wǎng)課實時監(jiān)控自動簽到、打卡功能

    Python 實現(xiàn)網(wǎng)課實時監(jiān)控自動簽到、打卡功能

    這篇文章主要介紹了Python實現(xiàn)網(wǎng)課實時監(jiān)控自動簽到,打卡功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • python 定時任務(wù)去檢測服務(wù)器端口是否通的實例

    python 定時任務(wù)去檢測服務(wù)器端口是否通的實例

    今天小編就為大家分享一篇python 定時任務(wù)去檢測服務(wù)器端口是否通的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python特效之字符成像詳解

    python特效之字符成像詳解

    這篇文章主要為大家介紹了python特效之字符成像,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Python隊列Queue實現(xiàn)詳解

    Python隊列Queue實現(xiàn)詳解

    這篇文章主要介紹了Python隊列Queue實現(xiàn)詳解,隊列是一種列表,隊列用于存儲按順序排列的數(shù)據(jù),隊列是一種先進先出的數(shù)據(jù)結(jié)構(gòu),不同的是隊列只能在隊尾插入元素,在隊首刪除元素,需要的朋友可以參考下
    2023-07-07
  • 解決Django中調(diào)用keras的模型出現(xiàn)的問題

    解決Django中調(diào)用keras的模型出現(xiàn)的問題

    今天小編就為大家分享一篇解決Django中調(diào)用keras的模型出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 淺談Python __init__.py的作用

    淺談Python __init__.py的作用

    這篇文章主要介紹了淺談Python __init__.py的作用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評論

名山县| 桦甸市| 南溪县| 东台市| 崇州市| 丰顺县| 青田县| 罗城| 大关县| 濮阳市| 九龙城区| 定西市| 安吉县| 金门县| 贵德县| 广饶县| 龙泉市| 寿宁县| 文山县| 三明市| 花垣县| 汝南县| 乾安县| 张家港市| 德昌县| 绥宁县| 托克逊县| 泰州市| 萝北县| 都兰县| 喀什市| 繁峙县| 北川| 桦南县| 日喀则市| 金沙县| 南充市| 盐山县| 赤城县| 乐平市| 临城县|