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...