#!/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的相信一看就會明白啦。趕緊用起來,省錢去!!!