8招讓你的代碼更Pythonic

#!/usr/bin/python
# -*- coding:utf-8 -*-
# @Time   : 2019/11/30 14:43
# @Author : Song
# @File   : pythonic.py

# 變量交換
# a, b = 1,2
# print(a,b)

# 循環遍歷區間元素
# for i in range(1,100,2):  # 生成器佔用內存小
# #     print(i)
# for i in range(6):  # 生成器佔用內存小
#     print(i)

'''
在Python2中,有range和xrange2種寫法,xrange是生成器寫法,更節省內存。Python3中的range等價於Python2中的xrange。
生成器,只有在使用時纔會動態生成,而且只能使用1次,比如range(1000000),Python2中會在內存中生成1百萬個元素的列表,而在Python3不會生成列表,而是生成器,佔用很小的內存。
'''

# 定義一個生成器, 實例 1
# odd = (num for num in range(10) if num%2==1)
# for num in odd:
#     print(num)

# 定義一個生成器, 實例 2
# def fib(max):
#     n,a,b = 0,0,1
#     while n < max:
#         yield b
#         a,b = b, a+b
#         n= n+1
#
# print(type(fib(8)))
# for num in fib(8):
#     print(num)

# 定義一個生成器, 實例 3
# def odd():
#     print('step 1')
#     yield 1
#     print('step 2')
#     yield 3
#     print('step 3')
#     yield 5
#
# gen = odd()
#
# print(next(gen))
# print(next(gen))
# print(next(gen))

# 索引
# num_list = [1,4,9]
# for i, val in enumerate(num_list):  # enumerate 枚舉
#     print(i, '-->', val)

# 字符串拼接
# names = ['Tom', 'jack', 'lucy']
# print(''.join(names))
'''
每次+操作都會產生新字符串,造成內存浪費,而join,整個過程中只會產生一個字符串對象
'''

# 文件打開
# with open('aa.txt') as f:
#     data = f.read()
'''
使用with,Python將自動管理文件流的打開與關閉,無需手動操作
'''

# 列表操作
# from collections import deque
# names = deque(['c', 'd', 'e'])
# names.popleft()
# names.appendleft('b')
# names.append('f')
# print(names)
'''
list也可以用pop(0)來刪除第一個元素,但是list在內存中是順序存儲的,刪除第一個元素,會導致之後的所有元素都會前移,效率很低,插入類似。
開頭如果有大量的刪除和插入操作,避免使用list
'''

# 解構賦值, 實例 1
# list = ['jack', 18, 'man']
# name, age, sex = list
# print(name, age, sex)

# 解構賦值, 實例 2
# num_list = [100, 19, 20, 98]
# first, *left_num_list, last = num_list
# print(first, *left_num_list, last)

# 解構賦值, 實例 3
# stu = [['Tom', (98, 96, 100)], ['Jack', (12, 13, 33)]]
# for name, (first, second, third) in stu:
#     print(name, first, second, third)

# 解構賦值, 實例 4
# stu = {
#     'name': 'Tom',
#     'agw': 18
# }
# for k,v in stu.items():
#     print(k, '-->', v)

# 推導式
# odd = [i for i in range(1, 100) if i % 2 == 1]  # 生成1-100的奇數
# print(odd)

# 集合a,b 分別去一個數,找出和大於100的所有組合
a_set = (100, 2, 30, 4)
b_set = (5, 600, 7, 80)
result = [(x, y) for x in a_set for y in b_set if x+y > 100]
print(result)

寫完這篇文章,小編逛了下淘寶(天冷了騎着小毛驢太冷了,的買個帽子戴上),順便分享一個淘寶購物返利的一個小方法,省點小錢,畢竟咱們程序員拿生命換來的錢,真心不容易!!!

第一步: 大家用微信先加一下這個微信妹子(機器人哈)爲好友:wxid_wfmh8h6v27lj22

第二步: 打開淘寶,在你想要購買的寶貝上把寶貝鏈接分享給淘小鴨

第三步: 點擊上圖去粘貼 給淘小鴨,她會回覆你優惠券和返利金額

第四步:按照提示覆制,打開淘寶,領取優惠券後直接下單購買即可

第五步: 待確認收貨後,她就會提示你有返現。此寶貝返現2.96元,你發“提現”給她,就會收到微信紅包啦。此處是我之前的幾個訂單的返利。

哈哈,會了吧,咱們做IT的相信一看就會明白啦。趕緊用起來,省錢去!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章