研一用到的python知識總結

2021-10-08 16:58:27 字數 4514 閱讀 5965

1.format函式

格式化字串函式,接受任意個數的引數,位置也可以隨意更改。

常用的一種方式:

print

("年齡:,性別:"

.format

(age=

23,*** =

'女')

)#我理解位置可以隨意更改就是format中***可以放在age前

在網上看到的:字典

dict

=print

("年齡:,性別:"

.format(**

dict

))

列表

list=[

23,"女"]

print

("年齡:,性別:"

.format

(list

))

輸出都是:

年齡:23,性別:女
心得:使用format函式可以避免引數和其他內容混在一起的現象,不方便檢視也不方便修改

在看別人*****中的模型的時候發現大家都愛用這種方式來設定引數,我自己寫程式就喜歡乙個乙個設定引數…

2.enumerate()函式

用於將乙個可遍歷的資料物件(列表、元組、字串等,我比較常在處理csv或者excel檔案資料時用到)組合為乙個索引序列,可以同時列出資料和資料下標,一般用在for迴圈中。

把excel**內容讀取後存成列表(用pandas的話,用df.values.to_list()這種)

list=[

'趙',

'錢',

'孫',

'李']

for i , element in

enumerate

(list):

print

("這是《百家姓》第 {} 個 姓 {} "

.format

(i+1

,element)

)

我們平時經常用的是讀取excel得到乙個dataframe,這裡直接建立dataframe

import pandas as pd

import numpy as np

df = pd.dataframe(np.random.randn(3,

3),columns=

['a'

,'b'

,'c'

],index=

['d'

,'e'

,'f'])

f =lambda x:x.

max(

)+x.

min(

)df1 = df.

(f,axis=1)

df2 = df.

(f,axis=0)

print

(df)

print

(df1)

print

(df2)

輸出,其中axis=0是y軸操作,=1是x軸向操作

a         b         c

d -0.839769 0.621662 -0.104818

e 0.888246 -0.249358 -0.267761

f 0.036634 -0.138499 1.155909

d -0.218108

e 0.620485

f 1.017410

dtype: float64

a 0.048477

b 0.372303

c 0.888148

dtype: float64

import pandas as pd

import numpy as np

df = pd.dataframe(np.random.randn(3,

3),columns=

['a'

,'b'

,'c'

],index=

['d'

,'e'

,'f'])

defreduce2

(x):

return x-

2print

(df3)

a         b         c

d -1.376674 -2.171564 0.143255

e -3.430472 -0.347179 -1.925782

f -3.953170 -1.507850 -1.005750

用於連線字串,我之前總會用+,包括在接觸format函式之前,但是看文章發現join函式很不錯。

list=[

'趙',

'錢',

'孫',

'李']

print

(','

.join(

list

))

趙,錢,孫,李
再乙個就是合併路徑的應用,比如處理多個檔案,他們的字首是相同的,只需要改最後乙個檔案路徑

import os

str_path =

['aaa'

,'bbb'

,'ccc'

]for strr in str_path:

new_str = os.path.join(

'/abc/def/'

,strr)

print

(new_str)

/abc/def/aaa

/abc/def/bbb

/abc/def/ccc

然後就可以愉快地處理每乙個檔案中的內容了

接下來是我在**提供的開源**中常見的幾個

5.divmod()函式

divmod(a , b)

得到(a//b,a%b)元組

以前本科的時候得到除數和餘數,因為應用不多所以沒覺得怎麼好,在**中常見是用於進製轉換,將a(s)轉換為h和min

a =

3601

#乙個小時是3600s

m,s =

divmod

(a,60

)h,m =

divmod

(m,60

)print

(h,m,s)

6.計算模型執行時間

import time

tic = time.time(

)#中間隨便做點什麼

a =3601

m,s =

divmod

(a,60

)h,m =

divmod

(m,60

)toc = time.time(

)a = toc-tic

print

(a)

1.9073486328125e-06
7.對矩陣進行操作

(1)np.dot(a,b)矩陣乘法

傳統的ab是元素相乘,dot就可以按照線代中教的行列進行操作了

(2)x.reshape(x.shape[0],-1).t

將(a ,b , c ,d)維度的矩陣變成(bcd,a)的形式

這個是在做吳恩達老師dl課程作業的時候遇到的,bcd屬於一篇,a是樣本數。處理完以後就可以進行後續操作了。

8.序列解包

看大神們的**進行看到,我自己一般不太習慣用。

for x,y in zip(keys,values)

list_1 =[1

,2,3

,4]list_2 =

['趙'

,'錢'

,'孫'

,'李'

]for x,y in

zip(list_1,list_2)

:print

(x,y)

1 趙

2 錢3 孫

4 李

在網上看enumerate也算是序列解包

9.import於from…import區別

import datetime

print

(datetime.datetime.now(

))

from datetime import datetime

print(datetime.now())

加了from …import後就可以不用在使用的時候加模組名的限定了。

初學者濫用python的5個情景

php無限分類的管理(一)用到的函式,及語法

mysql insert id 函式返回上一步 insert 操作產生的 id。如果上一查詢沒有產生 auto increment 的 id,則 mysql insert id 返回 0。mysql insert id connection 引數 描述connection 可選。規定 mysql 連...

本人學習Python用到的基礎知識(一)

任何語言中的每個程式 不可缺少的部分即為注釋,因為如今的程式開發並不是一人單獨完成的,而是由團隊共同完成,對 進行注釋既方便了隊友理解你寫的 也方便你日後對 進行修改時能夠準確的定位到修改區域。在python中注釋 的方式其實只有一種即為 該注釋方式只支援單行 的注釋。如果你想將一大段話或者 同時注...

Python入門知識總結(一)

1 python注釋 單行注釋 開頭 多行注釋選中內容ctrl 快捷鍵 注釋 print hello world 注釋2 注釋3 2 不適用 而使用縮進來表示同乙個 塊 if true print true else print false 下列 塊因為縮排不一致會導致錯誤 if true prin...