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的相信一看就会明白啦。赶紧用起来,省钱去!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都飘雪

您的1毛奖励是我创作的源源动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值