Python之路,day5-Python基础

for#列表生成式
 1 data = [1,2,3,4,5,6,7]
 2
 3 #####列表生成式
 4 #data = [i+1 for i in data]
 5
 6 data = [i*2 if i>5 else i for i in data]
 7
 8 print(data)
 9
10
11 data = [i//2 if i>4 else i for i in data]
12
13 print(data)
1.生成器

yield a #返回a,同时挂起当前这个函数yield a #返回a, 同时挂起当前这个函数, a返回给了通过__next__()调用当前函数的人这代表通过就是实现了函数的中断,并且保存了函数的中间执行状态
 1 # data = ( x*2 for x in range(5))
 2 #
 3 # #print(data)
 4 #
 5 # # for i in data:
 6 # #     print(i)
 7 #
 8 # print(data.__next__())
 9 # print(data.__next__())
10 # print(data.__next__())
11 # print(next(data))
12 # print(next(data))
13
14
15 def fib(num):#循环次数
16     count = 0
17     a,b = 0,1
18     while count<num:
19         tmp = a
20         a = b
21         b = a + tmp
22         print(a)
23         count +=1
24         yield a
25
26 f=fib(10)
27 f.__next__()
28 next(f)
29
30 a,b = 3,5
31 a,b = b,a+b
32 print(a)
2.迭代器

3.装饰器    完全符合 开放-封闭原则    不改变原有功能代码,不改变原有调用方式    实现扩展新的功能
 1 user_status = False
 2
 3 def login(func):
 4     def inner():
 5         _username = "hsc"
 6         _password = "qwer"
 7         global user_status
 8
 9         if user_status == False:
10             username = input("user:")
11             password = input("password:")
12
13             if username == _username and password == _password:
14                 print("welcome lalala...")
15                 user_status = True
16             else:
17                 print("wrong username or password")
18
19         if user_status == True:
20             func()
21     return inner
22
23 def home():
24     print("---首页---")
25
26 @login
27 def america():
28     print("---欧美专区---")
29
30 def japan():
31     print("---japan---")
32
33 @login
34 def henan():
35     print("---henan---")
36
37 home()
38
39 america()
40
41 henan()
4.模块import auth #导入整个模块from auth import login #导入auth的login函数

__file__ 相对路径os.path.abspath     相对路径转为绝对路径
 1 import sys
 2 import os
 3 BaseDir = os.path.abspath( os.path.dirname(os.path.dirname(__file__)))
 4 print(BaseDir)
 5 BaseDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 6 print(BaseDir)
 7 sys.path.append(BaseDir)
 8 print(sys.path)
 9
10 from day4 import test

5.并发

 1 import time
 2 def consumer(name):
 3     print("%s 准备吃包子啦!"%name)
 4     while True:
 5         baozi = yield
 6         print("包子[%s]来了,被[%s]吃了!"%(baozi,name))
 7
 8 def producer(name):
 9     c = consumer(‘A‘)
10     c2 = consumer(‘B‘)
11     c.__next__()
12     c2.__next__()
13     print("开始准备做包子了!")
14     for i in range(10):
15         time.sleep(1)
16         print("做了2个包子!")
17         c.send(i)
18         c2.send(i)
19 producer("hsc")
20
21
22 #send 传递数据给yield
py2    目录里没有__init__,那就只是一个目录,目录是不可以被导入的    有__init__,那这个目录就变成了 “包”==package

pypi 公共模块库

序列化:把内存对象转成字符串形式,就叫序列化        把一个字符串专成对应的内存对象,就叫反序列化        作用:持久化内存数据对象

json   #支持所有语言,支持字符串,字典等数据类型,但是函数不行序列化
 1 import json
 2
 3 def sayhi():
 4     print(‘hey‘)
 5
 6 data = {
 7     ‘name‘:‘hsc‘,
 8     ‘age‘:18,
 9     ‘func‘:sayhi
10 }
11
12 f = open(‘data.txt‘,‘w‘)
13 # f.write(str(data))
14 #
15 # f = open(‘data.txt‘,‘r‘)
16 # data = eval(f.read())
17 # print(data)
18
19 #json.dumps()
20 #json.dump()
21 #json.loads()
22 #json.load()
23 f.write(json.dumps(data))
24
25 #===========================
26
27 f.close()
反序列化
 1 import json
 2
 3 f = open(‘data.txt‘,encoding=‘utf-8‘)
 4 # data = json.loads(f.read())
 5
 6
 7 data = json.load(f)
 8
 9 print(data[‘age‘])
10
11 f.close()
        pickle #仅限于python语言,支持所有数据类型
序列化
 1 import pickle
 2
 3 def sayhi():
 4     print(‘hey‘)
 5 data = {
 6     ‘name‘:‘hsc‘,
 7     ‘age‘:18,
 8     ‘func‘:sayhi
 9 }
10
11
12 f = open(‘data.pkl‘,‘wb‘)
13 f.write(pickle.dumps(data))
反序列化
1 import pickle
2
3 f = open(‘data.pkl‘,‘rb‘)
4 data = pickle.loads(f.read())
5
6 print(data)
				
时间: 2024-08-21 22:11:35

Python之路,day5-Python基础的相关文章

Python 之路 Day06 类基础和概念

本章大纲: 类的对象和类的区别 类的名称空间 __dict__ 类的对象的名称空间 __dict__ 绑定方法和非绑定方法 类和类型 变量变形(封装变量,控制变量引用)__ 类的绑定方法 id命令分析内存地址(类的名称空间属性和类对象名称空间属性内存指向) is命令(比较内存地址指向) property类对象的属性方法 staticmethod类对象的非绑定方法 __str__自定义str(self)  类对象字符串格式打印 类的继承 __bases__显示类的继承 类的继承查找顺序 类的继承查

Python之路,Day2 - Python基础2

Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 1 2 3 4 5 6 7 8 >>> names[0] 'Alex' >>> na

Python之路,day16-Python基础

Python之路,day16-javascript基础 发展历史:     1.table     2.table + css     3.div + css js: js简介: 1.JavaScript 被设计用来向 HTML 页面添加交互行为. 2.JavaScript 是一种脚本语言(脚本语言是一种轻量级的编程语言). 3.JavaScript 通常被直接嵌入 HTML 页面. 4.JavaScript 是一种解释性语言(就是说,代码执行不进行预编译) 浏览器---解释器: 1.html解

Python之路,day22-BBS基础

Python之路,day22-BBS基础 多级评论 from django.template import Library from django.utils.safestring import mark_safe register = Library() @register.simple_tag def truncate_upload_img(img_src): print(dir(img_src)) print(img_src.name) return img_src.name.lstrip

七日Python之路--无关Python(混人乱语,不看也罢)

2014年08月06日的下午,内心压制不住的狂躁抑或浮躁.莫名的感到很多无形的压力,以至于感觉自己似乎快要死去. 怎么说呢,前些日子情人节.自己鼓足勇气去见了自己内心喜欢的女生,当然她也是知道的.我们大二还是大三认识的,差不多有两年多了吧.大学不在一个学校,还有一个原因就是她那时有男朋友,但跟男朋友的时分时合.自己由于种种原因,跟她联系也不是太多.后来毕业,自己考研失败,当然这其中全是自己的问题,既然自己做出了选择便没有什么谈论后悔的资格.后来知道她考上了研究生.而我则在青岛找了一家小公司做起了

Python之路,Day1 - Python基础1

本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 作业需求 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语

Python之路,Day1 - Python基础1---转自金角大王

本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 作业需求 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语

Python之路,day13-Python基础

一.redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周

Python之路—初识Python

Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众

Python之路——进入Python学习

目录: Python之路第一篇--认识Python Python之路第二篇--Python环境与安装 Python之路第三篇--Python入门 原文地址:https://www.cnblogs.com/webfuns/p/8464018.html