天天看點

Python 小記

記錄知識點:

   1,清單生成式的兩種用法。2,collections.namedtuple()方法。

import collections
#清單生成式的兩種用法 ,以及collections.namedtuple()方法,
ranks = [str(n) for n in range(2, 4)]
suits = 'spades diamonds'.split()
print(ranks)
# 聲明一個類,類名Card, 類屬性rank,suit,
# 方法一
Card1 = collections.namedtuple('Card', ['rank', 'suit'])
# 方法二
class Card2:
    def __init__(self, rank, suit):
        self.rank = rank
        self.suit = suit

# 清單生成式第二種方法,循環套
cards = [Card1(rank, suit) for suit in suits
                           for rank in ranks]
print(cards, type(cards))
l = []
for suit in suits:
    for rank in ranks:
        cards =Card1(rank, suit)
        l.append((cards))
print(l)


傳回值:
  ['2', '3']
[Card(rank='2', suit='spades'), Card(rank='3', suit='spades'), Card(rank='2', suit='diamonds'), Card(rank='3', suit='diamonds')] <class 'list'>
[Card(rank='2', suit='spades'), Card(rank='3', suit='spades'), Card(rank='2', suit='diamonds'), Card(rank='3', suit='diamonds')]
           

python 之擷取目前月份前一個月或者後一個月時間

import datetime
from dateutil.relativedelta import relativedelta
# 今天是2019-1-30

y = datetime.date.today() - relativedelta(months=+1)  # 加1表示前一個月,加2表示前兩個月,以此類推
q = datetime.date.today() - relativedelta(months=-1)  # 減1表示後一個月,減2表示後兩個月,以此類推
t = datetime.date(2018, 12, 1)

print(y, q, t)


輸出值:2018-12-30 2019-02-28 2018-12-01
           

python 字典的增

b_dict = {"p": 500, "o": "Python設計", "t": "250"}

print(b_dict)

b_dict["owner"] = "頭條"  # 第一種方式,指定key,并且為其指派一個value,如果key存在,就是修改value,反之就添加一個Entry

print(b_dict)

b_dict.update({"country": "china"})  # 第二種方式,使用update方法,傳入一個字典進去,如果key存在,就會覆寫掉原有的value,反之就是添加一個或多個Entry進入
# 多個Entry的情況,取決于你的字典裡有多少個Entry嘛,哈哈,明白裡吧
print(b_dict)

b_dict.update(tem="方法", help="幫助")  # 第三種方式,直接傳一個以key為變量進去,如果存在同樣是修改value,不存在,就是添加一個或多個Entry進去

print(b_dict)