''' day1: ''' # print() 输出 # 变量 # 1.由字母,数字下划线任意组成,且不能以数字开头 # 2.不能使用python中的关键字 # 3.不能是中文和拼音 # 4.具有可描述性 # 5.不宜太长 # 6.变量名要区分大小写 # 7.推荐写法: # 下划线 -- 官方推荐 # 驼峰体: # 大驼峰 # 小驼峰 # 常量 # NAME = 1 # python2 python3区别 # python2 # 源码混乱 # 冗余 # 重复 # ascii 不支持中文 # python3 # 源码统一 # 不重复 # utf-8 # 注释 # 单行 # # 多行 """ 萨芬大师傅手动 """ ''' ''' # python是一个解释型语言 动态 强类 # 基础数据类型: # int 整型 # + - * / # str 字符串 # + 拼接 # * 坚强 # 在python中只要是用引号引起来的就是字符串 # bool 布尔值 # True 非零 ' ' (77) [1] # False 0 '' () [] # input('提示语句') py3 # raw_input() py2 # input() 输入什么是什么 # input接受的都是字符串 # 流程控制语句: # 5 # if 条件: # 条件成立后的结果 # if 条件: # 结果 # else: # 结果 # if 条件: # 结果 # elif 条件: # 结果 # elif 条件: # 结果 # elif 条件: # 结果 # elif 条件: # 结果 # if 条件: # 结果 # if 条件: # 结果 # if 条件: # 结果 # if 条件: # 结果 # if 条件: # 结果 # elif 条件: # 结果 # else: # 结果 # age = 18 # if age > 12: # if age < 20: # print('可以做一....') # day2 # 格式化输出 # %s %d -- %i # %% # s = '你好啊%s,%i %%'%('小粉',90) # print(s) # name = 'alex' # print(f'{name},真是个大佬') python3.6 # while True: (死循环) # print('循环语句') # while False: # print(1) # else: # print(2) # while True: # while True: # break # 终止当前循环 # continue # 跳出本次循环继续下次循环 # num = 0 # count = 1 # while count <= 100: # num+=count # count +=1 # print(num) # 运算符: # 算法 # + - * / // % ** # # 比较 # > < >= <= == != # # 赋值 # # = += -= *= /= %= //= **= # # 逻辑 # not and or # () > not>and >or # 1 or 4 # # 0 or False # # 1 and 5 # # 0 and False # 成员 # in not in # 身份 # is is not # 编码: # ascii 不支持中文 # utf-8 英文 1 欧洲 2 亚洲 3 # gbk 英文 1 中文 2 # unicode 英文 2 中文 4 # 字节转换: # 8bit = 1Bytes # 1024B = 1kb # 1024kb = 1mb # 1024mb = 1gb # 1024gb = 1tb # 1024tb = 1pb # day3: # 字符串 # num = 8 # print(num.bit_length()) #有效位 # 字符串: # 下标(索引) 01234 左右 -3-2-1 右左 # 切片 [起始位置:终止位置] 顾头不顾腚 # 步长 [起始位置:终止位置:步长] # s = 'alex_taibai_wusir' # # # # print(s[1:7:6]) # 常用方法: # s = '' # s.replace('旧','新',3) # s.strip() # 去除头尾两边的空格和换行符制表符 # s.upper() #全部大写 # s.lower() #全部小写 # s.title() #每个单词的首字母大写 'alex你wusir' # s = 'alexwusir' # print(s.title()) # s.capitalize() # 首字母大写 # s.swapcase() # 大写转换 # s.center() # 居中 # s.format() # print(','.join(['1','2','3'])) # s.split() # 分割 # for em in [1,2,3]: # print(i) # day4: # 列表 # [1,2,3,4,5] # list # for # 增删改查: lis = [1,2,3] # lis.append(1) # lis.insert(0,666) # print(lis) # lis.extend() # 迭代添加 for # print(lis) # lis.pop() # 返回值 # lis.remove() # 元素 # lis.clear() # 清空 # del lis # print(lis) # # del lis[0:5] # 改: # lis[0] = 55555 # lis[1:5:2] = 7777777,4444,12201151,1,54,5,5,5,5,55,5,5,5 # print(lis) # 查: # lis[0] # for i in lis # 其他操作: # len(lis) # lis = [9,2,3] # lis.sort(reverse=True) # 排序升序 降序 # new_lis = lis.reverse() # print(lis) # 报错,None,[3,2,1] # new_lis = lis.sort() # print(lis) # print(new_lis) # lis.count() # lis.index() # lis.copy() # 元组 # (1,2,3,4) (22) (23,) # 不可变 # 操作: # 查看 # tu = (1,2,32,4,5) # print(tu[1:4]) # count index # range() 范围 # li = range(22) #py3 范围 range(0,22) # print(li) # 列表 0-21 # # # # py2 range(22) 列表 # # xrange(22) 范围 # li = [1,23,4,56,[5,6,7,[54,6,87,['迭代',23,'你好',5436]]]] # print(li[4][3][3][0]) # print(li[-1][-1][-1][0]) # day5: # {'key':'v',} dict # 键: 唯一 ,可哈希(不可变) # 值:任意 # 可变的: # 列表,字典,集合 # 不可变的: # 字符串,数字,布尔值,元组 # 字典:增 # dic['key'] = 'b' 有就修改无添加 # dict.setdefault('键','值') # 有就不变,无就添加 # dic = {1:2,3:6} # print(dic.setdefault(2,5)) # 删 # dic.pop('键') 返回值 # dic.popitem() # 随机删除 python3.5之后最后一个后 # dic.clear() # del dic['键'] # 改: # dic['键'] = 'b' # dic = {'1':34,1:2} # dic2 = {1:4} # dic2.update(dic) # print(dic2) # 查: # dic.get() # dic['键'] # for i in dic: # print(i) # 其他: # keys # 键 高仿列表 索引 # valuse # items # dic = {'1':1,'2':2} # print(dic.keys()) # print(dic.values()) # print(dic.items()) # 解构 # a,b = (1,2) # a,b = [1,2] # a,b = {1,2} # a,b = '12' # a,b = 12,3 # a,b = {'1':2,'7':4} # a = 10 # b = 20 # a,b = b,a # print(a) # print(b) # d = dict.fromkeys([1,2,3],[]) # print(d) # d[1].append(44) # print(d) # d = dict.fromkeys([1,2,3],10) # print(d) # d[1] = 20 # print(d) # 字典嵌套: # dic = {'key':[{1:3,3:5,5:7,7:{'66':66}}]} # print(dic['key'][0][7]['66']) # 集合: # set {} 天然去重 # day6: # 小数据池 # 数字: -5 ~ 256 # 字符串: 相乘不超过20,且乘的是>1 # 代码块: # is == # is 判断是内存地址 # == 判断两边的值是否相等 # 基础数据类型补充 # li = [1,2,3] # for i in li: # li.append(i) # print(li) # lis = [1,2,3,4,5,6] # for i in range(len(lis)-1,-1,-1): # lis.pop() # print(lis) # # for i in lis: # lis.clear() # print(lis) # l1 = [1,2,3,4] # l2 = [1,2,3,4] # # for i in l1: # l2.remove(i) # print(l2) # dic ={'1':2} # s_dic = str(dic) # print(dict(s_dic)) # repr 给程序员用的 显示的原生数据 # print 给用户用的 做了一些美化 # 深浅拷贝 # 浅 只拷贝第一层 # l1 = [1,2,3,4,5,[43,56]] # 0101 # l2 = l1 # l2[0] = 99 # print(l2) # 0101 # print(l1) # 0101 赋值 # l1 = [1,2,3,4,5,[43,56]] #0101 # l2 = l1.copy() #0102 # l1[0] = 66 # print(l1) # print(l2) # l1 = [1,2,3,4,5,[43,56]] #0101 # l2 = l1.copy() #0102 浅拷贝 # l1[-1][0] = 66 # print(l1) # print(l2) # import copy # l1 = [1,2,3,4,5,[43,56]] # 0101 # l2 = copy.deepcopy(l1) # 0201 # l1[0] = 89 # print(l1) # print(l2) # 二次编码: # s = 'alex鱼香肉丝' # b1 = s.encode('utf-8') # print(b1) # print(b1.decode('gbk')) # day7: # r,w,a,r+,w+,a+,rb,ab,wb # r,r+ # 只读 # read # readline # readlines # 文件操作有个坑 读过了光标就停留 # seek() # 0,0 文件头部 # 0,1 当前 # 0,2 尾部 # read() r,rb # with open('t','r',encoding='utf-8')as f: # f.readline() # f.read(2) # print(f.read()) # w 覆盖写 # 清空文件后写内容 # a # 追加 # 文件末尾添加 # r+ # 读 写 # w+,a+ # with open('t','r+',encoding='utf-8')as f: # f.truncate(2) # li = [] # num_sum = 0 # with open('t','r',encoding='utf-8')as f: # for i in f: # name,price,num = i.split() # dic={'name':name,'price':int(price),'num':int(num)} # li.append(dic) # sum = int(price) * int(num) # num_sum += sum # print(li) # print(num_sum) # li = [] # with open('t','r',encoding='utf-8')as f: # title_list = f.readline().split() # for i in f: # em = i.split() # dic={title_list[0]:em[0], # title_list[1]:em[1], # title_list[2]:em[2], # title_list[3]: em[3], # title_list[4]: em[4],} # li.append(dic) # print(li) # with open('t','r',encoding='utf-8')as f: # for i in f: # if '⻛吹⾬打,都不怕,' in i: # print(i) # print(f.read())