1.列举布尔值为False的常见值
{} () set({}) '' int() [] 0 None False
分别是 字典 元组 集合 字符串 整型 列表 0 空
这些为空的数据结构
检验方法如下
test = set({})
print(bool(test))
2.lambda表达式格式以及应用场景
这是一个匿名函数
result = lambda x : 2*x
print( result(1) )
第一个是参数 冒号后是返回结果
3.python的可变类型和不可变类型
判断此类型是否可变
即是判断其内存地址是否发生改变
结论
整型 字符串型 元组 是不可变类型
列表 字典 集合 是可变类型
4.字符串、列表、元组、字典每个常用的5个方法
字符串:repleace, strip, split, upper, lower, join...
列表: append, pop, insert, remove, sort, count,reversed, index.....
元组: index, count, len(), dir()
字典: get, keys, values, pop, popitems, clear, update, items...
5.property
插曲
s=[1,2,3,4]
print(s[~2]) 输出为 2
获得反向索引为 2 的数值
@property作用:
将类方法变为类属性
并且需要有返回值, 若没有则默认为None
6.类方法与静态方法
类方法
class Test(object):
def __init__(self, age):
self.age = age
@classmethod
def hello(cls):
print('hello')
Test.hello()
输出 hello
类方法不用实例化对象,第一个参数是 cls
直接类名.方法名就能调用方法
静态方法
没有 self 参数
@staticmethod
def hello():
print('hello')
Test.hello()
输出 hello
正常调用类方法
Test('12').hello()
也不用实例化
这三个是 python的内置装饰器
7.字典特点
get 方法
test = {'username':'li', 'id':1}
test.get('username') 和 test['username'] 得到的都是 li
不同之处:第一个若未找到返回 None,第二个报错
且第一个方法速度较快
8.Nginx作用
正向代理、反向代理、动态分离,负载均衡
正:代理客户端访问服务器
反:相反
负载均衡:决解高并发
9.Mysql与Redis应用场景
mysql关系型数据库,开源,表格式存储,支持事务,数据关联较多时使用
redis非关系型数据库,动态存储,可以缓存数据,适用于高并发,读写频率大,数据量大
但关联不多的场景