5.13作业
1.列举字符串,列表,元组,字典每个常用的五个方法
字符串
msg='hello world'
print(msg[0])
res=msg[0:5]
print(len(msg))
res=msg.strip() 去左右空格
split()分割
msg='AbbbCCCC'
print(msg.lower())
print(msg.upper())
abbbcccc
ABBBCCCC
print("alex is sb".startswith("alex"))
print("alex is sb".endswith('sb'))
True
True
info="egon:18:male"
print(info.split(':',1)) # ["egon","18:male"]
print(info.rsplit(':',1)) # ["egon:18","male"]
l=['egon', '18', 'male']
res=":".join(l) # 按照某个分隔符号,把元素全为字符串的列表拼接成一个大字符串
print(res)
egon:18:male
print('123'.isdigit())
print('12.3'.isdigit())
True
False
列表
l=[111,'egon','hello']
l.append(3333)
[111, 'egon', 'hello', 3333]
l=[111,'egon','hello']
l.insert(0,'alex')
['alex', 111, 'egon', 'hello']
l = [1, 'aaa', 'bbb','aaa','aaa']
print(l.count('aaa'))
3
l = [1, 'aaa', 'bbb','aaa','aaa']
print(l.index('aaa'))
1
# print(l.index('aaaaaaaaa')) # 找不到报错
l.clear() 清空
l.reverse():不是排序,就是将列表倒过来
l.sort(): 列表内元素必须是同种类型才可以排序
元祖
取值 切片 长度 循环 in
t=(2,3,111,111,111,111)
print(t.index(111)) 位置
# print(t.index(1111111111)) 报错
print(t.count(111)) 个数
2
4
字典
按key存取值:可存可取
长度
循环
in
d={'k1':111,'k2':2222}
del d['k1']
>>> d.items()
[('k2', 2222), ('k1', 111)]
d.get() :根据key取值,容错性好
d.clear()
d.update()更新d.update({'k2':222,'k3':333,'k1':111111111111111})
2.描述下列常见内置函数的作用可用代码说明map,zip,filter,sorted,reduce
l=['egon','jason'] i=[1,2]
# map:
res=map(lambda name:name+'_dsb', l) # ['egon_dsb', 'jason_dsb']
# zip:
res=zip(i,l) # [(1, 'egon'), (2, 'jason')]
# filter:
res=filter(lambda name:name.endswith('n'), l) # ['egon', 'jason']
# sorted:
num=[1,4,3,5,2]
res=sorted(num) # [1, 2, 3, 4, 5]
res=sorted(num, reverse=True) # [5, 4, 3, 2, 1]
# reduce:
from functools import reduce
res=reduce(lambda x,y:x+y,[1,2],10) # 13
res=reduce(lambda x,y:x+y,['egon','jason'],'tank')
# ['t', 'a', 'n', 'k', 'e', 'g', 'o', 'n', 'j', 'a', 's', 'o', 'n']
3.列举你所知道的面相对象中的__开头__结尾的方法及作用,越多越好
__new__:初始化对象
__init__:实例化对象
__call__:返回实例化好的对象
__str__:当对象被调用时会自动将其返回值作为结果打印
__del__:当对象被销毁时,先执行__del__中的代码
__dict__:查看对象下的所有属性
__class__:获取对象所在的类名
__name__:获取对象的名字
os.__file__:获取当前文件路径
4.写出form标签几个关键性的属性及作用
# 能够获取用户数据并且发送到后端
<form action='' method='' enctype=''></form>
"""
action 控制数据的提交路径
1.不写默认朝当前页面所在的地址提交
2.写全路径
3.只写后缀 /index/ 能够自动补全当前页面所载的后端服务器ip:port(暂时不考虑)
method 控制请求方式
默认是get请求
也可以携带数据 但是数据是直接破解在url后面的 不安全并且大小有限制
url?username=jason&password=123
可以修改为post请求
携带的数据放在请求体里面的
enctype 控制数据的编码方式
默认是urlencoded 只能发送普通的文本 不能发送文件
如果你要发送文件 必须改为 formdata
发送文件必须要修改的两个参数
method = 'post'
enctype='...formdata'
"""
input标签 获取用户数据的(输入 选择 上传...)
<input type=''></input>
type可以书写的类型
text 普通文本
password 展示密文
date 日期
radio 单选
默认选择可以用checked(属性名和属性值一样的时候就可以简写)
checkbox 多选
默认选择可以用checked
file 获取文件
了解:可以加multiple 支持传多个文件
submit 触发form表单提交动作
button 什么功能都没有 就是一个普通的按钮
reset 重置按钮
select标签 下拉框 默认是单选 可以加multiple成多选
一个个下拉框选项是一个个的option标签
option标签默认选中可以加selected
<select>
<option value=''>111</option>
<option value=''>222</option>
<option value='' selected>333</option>
</select>
textarea标签 获取大段文本内容
label标签 给input加上对于的注释信息 不写其实也没有关系
input写在lable里面
label的for关联input的id值 可以不嵌套
"""
获取用户数据的标签都应该都name属性
因为你需要给后端发送数据并且需要标明数据到底表示什么
name 字典的key
value 字典的value(用户数据)
需要用户选择的标签 你需要自己加上value值
radio
checkbox
option
ps:如果你给获取用户输入的标签加了value值 那么就类似于默认值
"""
ps:hidden、disable、readonly、placeholder
# 触发form表单提交数据的两种方式
type=submit
button按钮
5.列举你所知道的css选择器
1.基本选择器
id选择器
#d1 {}
类选择器
.c1 {}
标签选择器
div {}
通用选择器
* {}
p#d1.c1 <p id="d1" class="c1"></p> emmet插件
2.组合选择器
我们将前端标签的嵌套定义为父亲 儿子 后代 兄弟等等关系
后代选择器
div p {} 只要是div内部的p都拿到
儿子选择器
div>p {} 只拿内部第一层级的p
毗邻选择器
div+p {} 紧挨着我的同级下一个
弟弟选择器
div~p {} 同级别下面所有的p
3.属性选择器 []
[username]
[username='jason']
input[username='jason']
ps:标签既可以有默认的书写 id class...
还可以有自定义的书写并且支持多个
<p id='d1' username='jason'></p>