8個關於Python的小技巧
今天分享給大家8個小技巧,希望在實戰的時候有幫助!
01.
條件判斷
condition=
True
if
condition:
x=
1
else
:
x=
2
print
(x)
改成
x
=
1
if
condition
else
2
print
(
x
)
02.
大數字分割
如果幾個非常大的數字比如相加的時候,一個數字後面很多零點時候,我們很難去點這個0,比如:
num1=
10000000000
num2=
100000000
print
(num1+num2)
上面的幾個大數字,很多零,點的眼都花了!怎麼辦呢,Python裡面有一個奇淫技巧,可以加下劃線分割:
num1=
10
_000_000_000
num2=
100
_000_000
total=num1+num2
print
(
f'
{total:,}
'
)
>>
10
,
100
,
000
,
000
03.
檔案的關閉
f
=
open
(
'log.txt'
,
'r'
)
file_contents=
f
.
read
()
f
.
close
()
words=file_contents.
split
(
' '
)
word_count=
len
(words)
print
(word_count)
用with來處理更簡便
with
open
(
'log.txt'
,
'r'
)
as
f
:
file_contents=
f
.
read
()
words=file_contents.
split
(
' '
)
word_count=
len
(words)
print
(word_count)
04.
優雅的用下標
names=[
'Corey'
,
'Chris'
,
'Dave'
,
'Apple'
]
index
=
for
name in name
s:
print
(
index
,name)
index
+=
1
使用enumerate來計算下標
names=[
'Corey'
,
'Chris'
,
'Dave'
,
'Apple'
]
for
index
,name in enumerate(names):
print
(
index
,name)
05.
遍歷多個序列
names=[
'Leo'
,
'Lili'
,
'Sam'
,
'Tom'
]
ages=[
30
,
20
,
28
,
25
]
for
index,name
in
enumerate(names):
age=ages[index]
print
(
f'
{name}
is
{age}
old'
)
太麻煩了,用zip更方便
for
name ,age
in
zip(names,ages):
print
(
f'
{name}
is
{age}
old'
)
有的同學說如果我有3個序列呢,怎麼辦,一樣可以操作
names=[
'Leo'
,
'Lili'
,
'Sam'
,
'Tom'
]
ages=[
30
,
20
,
28
,
25
]
habits=[
'Movies'
,
'Dance'
,
'Reading'
,
'Singing'
]
for
name ,age,habit
in
zip(names,ages,habits):
print
(
f'
{name}
is
{age}
old and like
{habit}
'
)
06.
巧妙的使用單下劃線
我們在一個序列的時候,有的時候,只想取頭和尾,巧妙的用單下劃線
a
,_,
b
=(
1
,
2
,
3
)
print
(
a
)
print
(
b
)
>>
1
3
但是如果有一個很長的序列的時候,我們想取頭和尾怎麼辦呢,傳統的做法是:
nums=(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
)
head=nums[
]
tail=nums[-
1
]
print
(head)
print
(tail)
如果能巧妙的利用unpack方法,就會很簡便:
nums=(
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
)
head,*_,tail=nums
print
(head)
print
(tail)
07.
類的屬性封裝
class
Person
()
:
pass
person=Person()
如果你有一個字典需要來初始化這個類
person_info={'first':'leo','last':'sam'}
你希望最後能print (person.first),怎麼辦?有沒有什麼巧妙的方法處理?
用setattr函式
for
k
,v in person_info.
items
():
setattr(person,
k
,v)
還有getattr(),可以方便的獲取類的屬性
for
k
in person_info.
keys
():
print
(getattr(person,
k
))
08.
輸入加密的密碼
username=
input
(
'Username: '
)
passwd=
input
(
'Passwd:'
)
print
(
'Logging In...'
)
>>
Username: user
Passwd:admin
Logging In...
密碼是顯示出來的,這樣肯定不太好,有沒有其他優雅的方法的,用Python自帶的函式getpass
from getpass import getpass
username=input( 'Username: ' )
passwd=getpass( 'Passwd:' )
print ( 'Logging In...' )>>
Username: aa
Passwd:
Logging In...
這裡passwd後面會顯示一個鑰匙的圖片
以上就是8個小技巧,如果覺得有用,歡迎留言討論!
Python學習交流群:519489681 備註:小白
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31560357/viewspace-2644348/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 30個有關Python的小技巧Python
- 8 個 Git 的小技巧Git
- 關於Win10的10個小技巧Win10
- 8個CSS函式的小技巧CSS函式
- 關於Mac廢紙簍的小技巧!Mac
- 30個Python常用小技巧Python
- 乾貨技巧|關於Redis的16個使用技巧Redis
- Python中關於進度條的6個實用技巧Python
- 圖片怎麼優化的8個小技巧優化
- 圖片優化須知的8個小技巧優化
- 兩個寶藏|關於我在github上衝浪時的一個小技巧。Github
- Python的小技巧Python
- 程式碼重構:類重構的 8 個小技巧
- 扁平化設計的8個實用小技巧
- 提升WordPress網站載入速度的8個小技巧網站
- 必知必會的8個Python列表技巧Python
- 8個小技巧,讓一個遊戲變得更好玩遊戲
- Python中使用字典的幾個小技巧Python
- 提高Python執行效率的5個小技巧!Python
- 提高python開發效率的10個小技巧Python
- 關於使用iview中Table元件的一點小技巧View元件
- 與開發團隊高效協作的8個小技巧
- 關於ssh命令的幾個使用小技巧(r11筆記第27天)筆記
- 關於金錢的幾個小故事(r12筆記第8天)筆記
- 8個有用的JS技巧JS
- 8 個有用的 JS 技巧JS
- 關於Web前端面試的小技巧,千萬不要錯過!Web前端面試
- 8條github使用小技巧Github
- 關於使用plsql操作oracle的一點小技巧和幾個常用的查詢語句SQLOracle
- postman 的一個小技巧!Postman
- 有關identity的小技巧IDE
- Python小技巧分享Python
- 帶你認識,19個學習Python的小技巧!Python
- 關於PHP程式設計中的變數使用技巧小結PHP程式設計變數
- 關於 JavaScript 字串的一個小知識JavaScript字串
- 一個關於JAVA GC的小實驗JavaGC
- 關於大資料的幾個小故事大資料
- 關於redo的幾個小知識點