- 博客(28)
- 收藏
- 关注
原创 py语法基础016_迭代器的概念
print("判定列表的__iter__方法是否返回迭代器:",isinstance(lst.__iter__(), typing.Iterator))print("{}消费了{}元".format(threading.current_thread(), money))print("{}消费了{}元".format(threading.current_thread(), bank))print("{}生产了{}元".format(threading.current_thread(),money))
2022-12-15 07:00:00
145
1
原创 py语法基础011_列表操作介绍
print("lst.insert(位置数,数据):向列表指定位置插入元素,超过最大索引值-默认末尾插入,小于最小索引值,默认开头插入:")print("浅拷贝:列表的存储地址发生了改变,内部存储的不可变类型数据地址发生了改变,可变类型数据的地址没有改变")print("浅拷贝:列表的存储地址发生了改变,内部存储的不可变类型数据地址发生了改变,可变类型数据的地址没有改变")print("lst.index('数据'):通过元素查索引,返回元素对应的位置,只会查找到第一个符合的元素")
2022-12-14 19:30:00
148
原创 py语法基础012_元组操作介绍
tuple6 = (("李庚希","宣墨","朱致灵"),("易海蓝","昌隆","陆宇辰"),["梁宝羚","田晶晶","安若雪"])print("元组名.index(数据,开始索引,结束索引):从左往右返回指定索引范围遇到的指定元素的索引,如果没有,报错")tuple5 = ("李庚希","宣墨","朱致灵","易海蓝","昌隆","陆宇辰","梁宝羚","田晶晶")(1)用户自定义元组:需要保存的数据为不能改变的内容。tuple7 = ((100, 200),"鱿小鱼",("a", 18))
2022-12-14 19:30:00
76
原创 py语法基础013_字典操作介绍
(2)创建多个数值的字典:dct={"键1":"值1","键2":"值2"} | dct = dict([("键1","值1"),("键2","值2")])print("keys获取所有的keys数据:",dict8.keys(),"dct.keys()的类型:",type(dict8.keys()))dict3 = {"name": "宣墨", "age": 24, "gender": "女", "password": "111"}(5)dct.get(key,无键返回值):获取指定键的值;
2022-12-14 19:30:00
195
原创 py语法基础014_集合操作介绍
(10)集合1.issubset(集合2):子集-判断前面集合中的数据是不是包含在后面集合中 == 集合1判断集合是不是另一集合的子集。(2)集合1.difference_update(集合2):获取两个集合的差集并将结果更新到前面集合中 == 集合1-=集合2。(1)集合1.difference(集合2):获取两个集合的差集 == 集合1-集合2-->第一个集合有,第二个集合没有。(9)集合1.update(集合2):获取两个集合的并集,并将数据更新到前面集合中 == 集合1|=集合2。
2022-12-14 19:30:00
200
原创 py语法基础015_序列与推导式
print("使用字典推导(zip打包),将一个列表的元素作为key,将另一个列表的元素作为value,产生一个字典3:",dict5)dct = {"name": "宣墨", "age": 24, "gender": "女", "password": "111"}print("使用字典推导,将一个列表的元素作为key,将另一个列表的元素作为value,产生一个字典1:",dict3)print(f"变量比列表元素个数较多的赋值(空):{a,b,c,d,e,f,g,h,m}")
2022-12-14 19:30:00
190
原创 py语法基础007_while循环
E、执行过程:先执行while循环,当循环能够正常结束时,才会执行else里面的代码,如果循环内容里碰到break,就不执行else。# 不论while的条件是否为true,有else关键字时,只要不执行break,这里的代码就会执行一次。(3)else:循环结束后,一定会执行的结束的语句(非强制结束时,最终都会执行else代码)(4)执行过程:表达式的结果是True,才会执行循环内容,如果结果一直是True,会一直循环下去。循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;
2022-12-14 19:00:00
118
原创 py语法基础008_for循环
E、执行过程:先执行while循环,当循环能够正常结束时,才会执行else里面的代码,如果循环内容里碰到break,就不执行else。# 不论while的条件是否为true,有else关键字时,只要不执行break,这里的代码就会执行一次。(3)else:循环结束后,一定会执行的结束的语句(非强制结束时,最终都会执行else代码)(4)执行过程:表达式的结果是True,才会执行循环内容,如果结果一直是True,会一直循环下去。循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;
2022-12-14 19:00:00
115
原创 py语法基础009_字符与序列
(5)负向索引::从右向左查找数据-->数据变量名[起始索引,终止索引-1,步长为负];(2)结果:切片将序列拷贝,操作的是拷贝对象,不是原序列;(7)超值说明:起始偏移量小于0则会当做0,终止偏移量大于"长度-1"会被当成"长度-1"(4)变量和序列元素个数相比,变量个数较多:先给没星号的按照位置依次赋值,星号元素得空序列。(5)变量和序列元素个数相比,变量个数较少:先给没星号的按照位置依次赋值,星号元素得多元素。(1)+与序列相加:将两个序列拼接,生成一个新的序列【将两个序列合并成一个新的序列】
2022-12-14 19:00:00
90
原创 py语法基础010_字符串操作
(5)负向索引::从右向左查找数据-->数据变量名[起始索引,终止索引-1,步长为负];(2)结果:切片将序列拷贝,操作的是拷贝对象,不是原序列;(7)超值说明:起始偏移量小于0则会当做0,终止偏移量大于"长度-1"会被当成"长度-1"(4)变量和序列元素个数相比,变量个数较多:先给没星号的按照位置依次赋值,星号元素得空序列。(5)变量和序列元素个数相比,变量个数较少:先给没星号的按照位置依次赋值,星号元素得多元素。(1)+与序列相加:将两个序列拼接,生成一个新的序列【将两个序列合并成一个新的序列】
2022-12-14 19:00:00
135
原创 py语法基础006_顺序与if分支
1、控制语句2、顺序结构3、应用场景4、分支控制语句5、单分支选择结构6、双分支选择结构:if--else7、三元条件运算符(三元表达式)8、多分支结构:if--elif--else9、选择结构嵌套
2022-12-05 19:00:00
211
原创 py语法基础005_进制与运算
(3)is用于判断两个变量的引用对象是否相同,a is b等价于id(a)==id(b),引用对象相同,地址相同。print("将16进制格式的字符串'0x21'转换为十进制:",str(int("0x21",16)))4、算术运算符:让数据参与算术运算--加+,减-,乘*,除/,取整//,取余%,乘方(幂运算)**# 复合运算符:加等于+=、减等于-=、乘等于*=、除等于/=、取余等于//=、乘方等于**=print("字符abde==abde:", 'abde' == 'abde')
2022-12-01 18:26:35
98
原创 py语法基础004_类型与转换
print(f"字符'123'的数据类型:{type('123')}--->复数类型{complex('123')}的数据类型:{type(complex('123'))}")print(f"字符'123'的数据类型:{type('123')}--->浮点类型{bool('123')}的数据类型:{type(bool('123'))}")print(f"字符'123'的数据类型:{type('123')}--->布尔类型{bool('123')}的数据类型:{type(bool('123'))}")
2022-11-30 07:00:00
232
原创 py语法09-变量匿名递归
他说比第4个人大2岁。print("使用匿名函数+filter过滤偶数:",list(filter(lambda x:x%2==0, [1, 2, 3, 4])))print("使用匿名函数+map三次幂:",list(map(lambda x:x**3, [1, 2, 3, 4])))print(f"返回匿名函数类型:{type(m)},匿名函数赋值:{m(2)},匿名函数修改默认值:{m(2,3)}")print(f"新建数据:{friend},直接修改:{name},操作修改:{names}")
2022-09-21 23:21:55
218
原创 py语法08-函数返回参数
order1("位置参数", "A", "B", "C", c="赋值默认值", name="小花", friend="二狗")"1": {"gid": "1", "name": "利群", "price": 13.0, "stock": 20},"2": {"gid": "2", "name": "帝豪", "price": 10.0, "stock": 30},order2("位置参数", "a", "b", "c", name="小花", friend="二狗")
2022-09-21 23:20:54
232
原创 py语法07-字符串的操作
"a": {"nickname": "dudu", "realname": "杜迅", "password": "a", "gender": "男", "age": 18,print("列表中每个字符串的首字母大写组成的新列表:", list(map(str.capitalize, ["python", "i", "love", "you"])))print("字符串.replace(旧,新,次数):按照指定次数替换字符串中的旧数据替换成新数据:", sr1.replace(" ", " ", 2))
2022-09-21 23:19:41
485
原创 py语法06-组合数据类型
print("学生姓名:{}\t学生年龄:{}\t学生班级:{}\t学生年级:{}".format(stu["姓名"], stu["年龄"], stu["班级"], stu["年级"]))不能匹配返回输入处);users = {"name": "杜迅", "age": "24", "nickname": "duxun", "password": "111"}tuple6 = (("李庚希","宣墨","朱致灵"),("易海蓝","昌隆","陆宇辰"),["梁宝羚","田晶晶","安若雪"])
2022-09-21 21:27:29
275
原创 py语法05-可迭代与推导式
"牛头": {"name": "牛头", "blood": 1500, "armor": 60, "attack": 300, "skill": ["震荡八方", "势不可挡"]},"剑魔": {"name": "剑魔", "blood": 800, "armor": 20, "attack": 1000, "skill": ["天神下凡", "霸灭"]},"admin": {"username": "admin", "password": "admin", "nickname": "管理员",
2022-09-21 21:16:03
275
原创 Flask10_url重定向
(2)redirect函数用于重定向,实现机制很简单,就是向客户端(浏览器)发送一个重定向的HTTP报文,浏览器会去访问报文中指定的url。# 创建web服务器(http)实例:内置方法__name__是预定义变量,被设置为使用本模块,html存放的路径,静态文件的路径。>> 京东网站:输入原京东页面网址的时候,原京东页面已废除,会重定向到新京东页面的网址。>> 用户登录:用户访问一个需要权限的页面,用户没有登录时,会重定向到登录页面。print(f"num的类型是:{type(num)}-{num}")
2022-09-20 15:32:51
412
1
原创 Flask09_post请求2(json、文件、csrf)
(9)通过flask.Response响应JSON时,要通过json.dumps把响应体字典改成JSON格式,响应头的Content-Type通过mimetype参数设置为application/json。>> 用户请求Flask,由Flask下发一个随机的校验值(字符串),再次请求携带校验值,flask通过校验值校验用户,校验值每次随着页面的刷新在变化,校验值被称为csrf_token。>>通过request.json.get(需求键,默认值)的方式为其设置默认值,当无法获取到键时,直接使用默认值代替。
2022-09-20 15:30:06
848
原创 Flask08_post请求
(23)request.form:获取post请求数据的方法,获取一个Werkzeug的ImmutableMultiDict对象,包含解析后的表单数据,表单字段值通过input标签的name属性值作为键获取。ImmutableMultiDict([('name', 'duxun'), ('hobby', '篮球'), ('hobby', '学习')])>>通过request.form.get(需求键,默认值)的方式为其设置默认值,当无法获取到键时,直接使用默认值代替。
2022-09-20 15:26:37
1545
原创 Flask07_get请求
(23)request.form:获取post请求数据的方法,获取一个Werkzeug的ImmutableMultiDict对象,包含解析后的表单数据,表单字段值通过input标签的name属性值作为键获取。A、可以获取到Werkzeug的ImmutableMultiDict对象,存储解析后的查询字符串,可通过字典的方式获取键和值。user=Flask&time&gender=男。(8)request.args.getlist(需求键):浏览器中有多个重复键的数据时,获取多个数据,将数据返回到一个列表中。
2022-09-20 15:17:51
1699
原创 Flask06_ORM多表
A、一表中创建一表的反向映射:db.relationship("多表名",backref = "映射字段名",uselist=False)B、多表中创建一表的外键字段:db.Column(db.Integer,db.ForeignKey("一表名.id"))B、一表中创建一表的外键字段:db.Column(db.Integer,db.ForeignKey("一表名.id"))A、一表中创建多表的反向映射:db.relationship("多表名",backref = "映射字段名")
2022-09-20 15:02:14
309
原创 Flask05_ORM单表
Model.query.filter(func.min(Model.id)).filter(Model.name.like('杜%')):查询符合条件的最小id的数据,返回对象/None。Model.query.filter(func.max(Model.id)).filter(Model.name.like('杜%')):查询符合条件的最大id的数据,返回对象/None。Model.query.filter(Model.name=='小二').first():查询符合条件的一条数据,返回列表/空列表。
2022-09-20 15:00:34
183
原创 Flask04_模板语法
{"name": "《西游记》", "type": "必读", "author": "朋朋", "public": "延边出版社"},{"name": "《天线宝宝》", "type": "选读", "author": "安安", "public": "清华大学"},{"name": "《卖书的葫芦》", "type": "必读", "author": "迅迅", "public": "西安"},
2022-09-20 14:55:02
157
原创 Flask03_路由传参
C、利用url_map找到所请求URL对应的endpoint访问点(通过url地址映射到端点endpoint),利用view_functions表(默认空字典,存储endpoint:view_func键值对)查找到访问点对应的视图函数,最终匹配到函数,执行响应的功能函数。(1)Flask根据HTTP请求的URL在路由表中匹配定义好的路由规则,找到对应的函数处理请求,查询路由表的这个过程需要一个URL到函数的映射关系,这个映射关系就称之为路由。B、传递参数:传入在路由中已经定义的参数,路由直接拼接;
2022-09-20 14:53:05
1727
原创 Flask02_基本结构
(1)Web Application Framework(web应用程序框架)或简单的Web Framework(web)表示一个库和模块的集合,使Web应用程序开发人员能够编写应用程序,而不必担心协议,线程管理等低级细节。(4)在功能上没有欠缺,将好多模块开发的任务,给了开发者,对开发者的要求变高了,开发者能力直接决定了项目的性能,效果和基础能力有直接联系。(1)是基于python开发的轻量级的web开发微框架,适合更为轻量、自由、灵活、高度定制化的web项目开发,项目更加轻量,具有侧重性。
2022-09-20 14:51:02
368
原创 Flask01_web简单介绍
(1)使用HTML,CSS,JS,jQuery,BootStrap写的页面,数据是写死在页面中的。(4)数据支持要依赖一些语言,类似于PHP,Python,Java等等去操作数据库,获取数据。(3)需要根据不同的需求,频繁的卸载安装我们的环境,这样效率很低,而且不方便管理。(1)GET:明文,添加在url上,获取服务器资源的请求,编写方便,但不安全。(2)web网站需要动态数据的支持,需要链接数据库,数据是存储在数据库中的。(1)工作中会根据需求,开发不同的项目,不同的项目需要使用到不同的环境。
2022-09-20 14:42:54
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人