python語言程序設計,python 近期用到的基礎知識匯總(三)

 2023-10-06 阅读 31 评论 0

摘要:1.python __len__(self)詳解 如果一個類表現得像一個list,要獲取有多少個元素,就得用 len() 函數。要讓 len() 函數工作正常,類必須提供一個特殊方法__len__(),它返回元素的個數。 例如,我們寫一個 Students 類,把名字傳進去࿱

1.python __len__(self)詳解

如果一個類表現得像一個list,要獲取有多少個元素,就得用 len() 函數。要讓 len() 函數工作正常,類必須提供一個特殊方法__len__(),它返回元素的個數。
例如,我們寫一個 Students 類,把名字傳進去:

class Students(object):def __init__(self, *args):self.names = argsdef __len__(self):return len(self.names)
只要正確實現了__len__()方法,就可以用len()函數返回Students實例的“長度”:>>> ss = Students('Bob', 'Alice', 'Tim')
>>> print len(ss)
3

python語言程序設計,2.python中assertion異常

python中的assert是一種最簡單的異常機制?
assert的基本語法是:"assert" expression1 ["," expression2]

expression1用于判斷生成布爾值,當expression1為假的時候,則拋出異常,[]中的內容可選,即用戶可以選擇異常的提示值:

>>>a=23
>>>assert a==23
>>>a=a-1
>>>assert a==23
Traceback (most recent call last):File "<stdin>", line 1, in <module>
AssertionError
>>>assert a==23 , "error1"
Traceback (most recent call last):File "<stdin>", line 1, in <module>
AssertionError: error1

python 列表、3.python -- np.random.seed()

seed( ) 用于指定隨機數生成時所用算法開始的整數值,如果使用相同的seed( )值,則每次生成的隨即數都相同,如果不設置這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同。

所以seed總是跟random搭配使用。

python編程,運行一次seed( )就會產生一個數組(根據()里面的值,值相同產生相同的數組,值不同數組不相同),? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?np,random.random()就只要不重新運行seed( )是按之前得到數組,只要運行一次np,random.random()按順序在數組中取一次值。

這正是對應了之前的認知其實python里?random產生的數一直是偽隨機數。例如下面的例子:

num = 0
while(num<5):np.random.seed(2)print(np.random.random())num+=10.43599490214200376
0.43599490214200376
0.43599490214200376
0.43599490214200376
0.43599490214200376
--------------------- 
np.random.seed(2)
num = 0
while(num<5):print(np.random.random())num+=10.43599490214200376
0.025926231827891333
0.5496624778787091
0.4353223926182769
0.42036780208748903
--------------------- 

4.Python numpy函數:linspace()創建等差數列

python和java、linspace用于創建一個是等差數列的一維數組。它創建的數組元素的數據格式是浮點型。

常看到的一般是三個參數,分別是:起始值、終止值(默認包含自身)、數列個數

qpython?參考:https://blog.csdn.net/qq_28618765/article/details/78084170

5.np.meshgrid函數

功能:從一個坐標向量中返回一個坐標矩陣

參數:

x1,x2...,xn:數組,一維的數組代表網格的坐標。

indexing:{'xy','ij'},笛卡爾坐標'xy'或矩陣'ij'下標作為輸出,默認的是笛卡爾坐標。

sparse:bool類型,如果為True,返回一個稀疏矩陣保存在內存中,默認是False。

copy:bool類型,如果是False,返回一個原始數組的視圖保存在內存中,默認是True。如果,sparse和copy都為False,將有可能返回一個不連續的數組。而且,如果廣播數組的元素超過一個,可以使用一個獨立的內存。如果想要對這個數組進行寫操作,請先拷貝這個數組。

返回值:x1,x2,....,xn:ndarray(numpy數組)

    nx,ny = (3,2)#從0開始到1結束,返回一個numpy數組,nx代表數組中元素的個數x = np.linspace(0,1,nx)#[ 0.   0.5  1. ]y = np.linspace(0,1,ny)# [0.  1.]xv,yv = np.meshgrid(x,y)'''xv[[ 0.   0.5  1. ][ 0.   0.5  1. ]]yv[[ 0.  0.  0.][ 1.  1.  1.]]'''

參考:https://blog.csdn.net/sinat_29957455/article/details/78825945

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/123084.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息