IDE:集成开发环境
1.str = r'C:\Program Files\FishC\Good''\\' ?? ?? ?(结尾加反斜杠,用转义字符,r就是直接把\作为输入而不是转义) file1 = open(r'C:\windows\temp\readme.txt', 'r') 表示以只读方式打开 2.跨行:(1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3) ?? ?str = """ ? ? ? ? ? ?? ??? ?str = ' ? asdasasd\ ?? ??? ?str = ('asdasd' ?? ??? ??? ??? ? ? ? ? ? ? ?sadasdas\?? ??? ? ? ? ? ? ?'asdasd'?? ??? ??? ??? ??? ??? ? ?? ? ? ? ? """ ? ? ? ? ? ?? ??? ? ? ? ? ? ? ? asdasds'?? ??? ? ? ? ? ? ?' sadas') (单、双引号都可以,可以做多行注释) 3.input 输入的是字符串类型 ?, int是向下取整 ?? ?prompt = ('请输入用户名:') ?? ?name = input(prompt) 4.?? ?s为字符串 ?? ?s.isalnum()??所有字符都是数字或者字母,为真返回 Ture,否则返回 False。 ?? ?s.isalpha()???所有字符都是字母,为真返回 Ture,否则返回 False。 ?? ?s.isdigit()?????所有字符都是数字,为真返回 Ture,否则返回 False。 ?? ?s.islower()????所有字符都是小写,为真返回 Ture,否则返回 False。 ?? ?s.isupper()???所有字符都是大写,为真返回 Ture,否则返回 False。 ?? ?s.istitle()??????所有单词都是首字母大写,为真返回 Ture,否则返回 False。 ?? ?s.isspace()???所有字符都是空白字符,为真返回 Ture,否则返回 False 5.(1)type() 和 isinstance() ? e.g.type(1) ; ?isinstance(1,int) ? ?(2)索引函数index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) ? ? ? ? ? ?和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样, ? ? ? ? ? ?只不过如果str不在 string中会报一个异常。 ?? ?index()方法语法: ?? ?str.index(str, beg=0, end=len(string)) ?? ?参数: ?? ?str -- 指定检索的字符串 ?? ?beg -- 开始索引,默认为0。 ?? ?end -- 结束索引,默认为字符串的长度。 ? ?(3)find:str.find(str, beg=0, end=len(string)) ? 有返回开始的索引值,否则返回-1 ? ?(4)split(分割:):?? ?data = '1000,小甲鱼,男' ?? ??? ??? ?(mydict['id'], mydict['name'], mydict['sex'] = data.split(',')) 6.temp.isdigit() : 判断temp是否是数字,是则true 7.一个语句分多行输入 ?? ?反斜杠:3 > 4 and \ ?? ??? ?1 < 2 ??? ?括号: ?( 3 > 4 and? ??? ??? ?1 < 2 ) 8. print('*', ?end=' ') ? # 打印的结尾为空白 9. // :整数除法 ?3//2 = 1 ?, 3.0//2.0 = 1.0 ?? ?not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 = 4(not > and > or) 10. assert 0:assert后面条件为假的话就报错AssertionError ?? ?直接交换:x, y, z = z, y, x 11. 三元操作符: ?? ? (x < y and [x] or [y])[0] = 2 (x=2, ?y=3, z=4) ?? ?small = x if (x < y and x < z) else (y if y < z else z) = 2 12. 列表(随时可以添加和删除), 元组(封闭的列表,不可改变): ?? ?列表:[];元组:();字典:{} ?。 (字典要有映射关系,不能只大括号,不然是set类型) ?? ??? ??? ? ?dict((())) ? ?set([]) or set{} ?? ?mix = [1, ‘小甲鱼’, 3.14, [1, 2, 3]] ?? ?? ?添加元素:append()、extend() 和 insert() ?? ?mix.append(['o', 'm']) ?? ?mix.extend(['o', 'm']) ?? ?mix = [1, '小甲鱼', 3.14, [1, 2, 3], ['o', 'm'], 'o', 'm'] ?? ?name.insert(2, 's') ? # 在第2,3个元素之间插入s ?? ?temp=mix.pop(): 把mix列表的最后一个元素拿出来赋给temp 13. list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18] ? ? ?list1[1][2][0] = '小鱿鱼' ? # 修改小甲鱼为小鱿鱼 14. 顺序、逆序排序:?? ?列表名.sort() ?? ??? ?列表名.reverse() ?? ? ? ? ? ? ? ? or列表名.sort(reverse=True) ? ? ?拷贝、清空:?? ?list2 = list1.copy() 、 list2.clear()?? ? 15. (1) ?temp = (‘小甲鱼’, ‘黑夜’, ‘迷途’, ‘小布丁’) ?? ?# 如果我想在“黑夜”和“迷途”之间插入“怡静”,我们应该: ?? ?temp = temp[:2] + (‘怡静’,) + temp[2:] ? ? ?(2) ? x, y, z = 1, 2, 3 ?? ?(所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组) ?? ?type(x) ?? ?h = x, y, z ?? ?type(h) ? ?# ?<class 'tuple'> 16. 没有类似列表推导式的元组推导式,而是生成器 ??? ?tuple1 = (x**2 for x in range(10)) ?? ?type(tuple1) ?? ?<class 'generator'> ?? ?tuple1.__next__() ? ? ? ? ? ?# 生成下一个:即0,1,4,9,16……81 17. str1 = '<a href="http://www.fishc.com/dvd" target="_blank">鱼C资源打包</a>' ?? ?提取出子字符串:'www.fishc.com':str1[16:29] ?or ?str1[-45:-32] ?? ?提取出:'fishc':str1[20:-36] 18.?? ?符???号?? ????说?????明 ????? ? ?%c?? ????格式化字符及其ASCII码 ????? ? ?%s?? ????格式化字符串 ???? ???%d?? ????格式化整数 ???? ???%o?? ????格式化无符号八进制数 ???? ? ?%x?? ????格式化无符号十六进制数 ???? ???%X?? ????格式化无符号十六进制数(大写) ????? ? ?%f?? ????格式化定点数,可指定小数点后的精度 ????? ? ?%e?? ????用科学计数法格式化定点数 ????? ? ?%g?? ????根据值的大小决定使用%f或者%e ????? ? ?%G?? ????根据值的大小决定使用%F或者%E 19. ?? ?(1)"{{1}}".format("不打印","打印") ?? ? ? ? ? ? {1}是占位符,表示打印打印第二个 ?? ?(2)"{a} love {b}.{c}".format(a="I", b="FishC", c="com") ? # 关键字参数 ?? ? ? ? ? ? 'I love FishC.com' ?? ?(3)"{0} love {1}.{2}".format("I", "FishC", "com") ? ? ? ? ? ? ? ?# 位置参数 ?? ? ? ? ? ? 'I love FishC.com' ?? ?(4)'{0}{1:.2f}'.format('Pi = ', 3.1415) ?? ? ? ? ? ? 'Pi = 3.14' 20. 进制转换:print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num)) ? ? ? ? ?? ? ? ? print('十进制 -> 八进制 : %d -> 0o%o' % (num, num)) ? ? ? ? ?? ? ? ? print('十进制 -> 二进制 : %d -> ' % num, bin(num)) ?? ?print('子字符串在目标字符串中共出现%d次' % count) 21.转换: ?temp = 'I love FishC.com!' ?? ?list(temp) ?? ?['I', ' ', 'l', 'o', 'v', 'e', ' ', 'F', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm', '!'] ?? ?str(temp) ?? ?'I love FishC.com!' ?? ?list([temp]) ?? ?['I love FishC.com!'] ?? ?tuple([temp]) ?? ?('I love FishC.com!',) 22. ? def MyFun(x, y): ? ? ? ??return x[0] * x[1] - y[0] * y[1] 23. 函数文档(为了让别人理解你的函数): ?? ? ? ? ? ? ? ?def Dec2Bin(dec): ?? ??? ?'函数文档' ? ? ?访问函数文档: Dec2Bin.__doc__ ?? ??? ? '函数文档' ? ? ?help(Dec2Bin):查看函数的默认参数和函数文档 24. (1)全局变量:global ? ? ?(2)在内部函数修改外部函数的局部变量:nonlocal 25. 闭包(可用于游戏的角色移动): ?? ?def funX():?? ??? ??? ?可得6 7 8 ?? ??? ?x = 5 ?? ??? ?def funY(): ?? ??? ??? ?nonlocal x ?? ??? ??? ?x += 1 ?? ??? ??? ?return x ?? ??? ?return funY ?? ? ?? ?a = funX() ?? ?print(a()) print(a()) print(a()) ? ? ? ? ? ? ? ?(只要a没被重新赋值funX()就没有被释放) 26.(1) 匿名函数:lambda x, y = : x * y ? ? ?(2)filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表, ? ?可以使用 list() 来转换。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传 ? ?递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 ?? ?e.g. list(filter(lambda n : not (n % 3), range(1, 100)) ?# 计算100以内的3的倍数) ?? ? ? ? =[ i for i in range(1, 100) if not (i % 3)] ? ?# ?filter(function, iterable) 27. (1)zip:将两式以元组形式绑定在一起:list(zip([1,3,5,7,9], [2,4,6,8,10])) ?? ??? ??? ? ? ? ? ? ? ? ? ? ?[(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)] ? ? ? (2)map() 函数语法:map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数 序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. ?? ?map(function, iterable, ...) ?? ?e.g. list(map(lambda x, y : [x, y], [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))?? ? ?? ? ? ? ?[[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]] 28. 字典: mydict = dict((('F', 70), ('i', 105))) ? or ? dict() ?? ?{'F': 70, 'i': 105} ? ?? ?? ?mydict['F'] -> 70 ?? ?直接mydict['G'] = 123就可添加字典元素 29. 集合:集合是无序的(num_set[0]会报错) ?set1 = {1, 1.0} -> set1 = 1 ? ? ?(1)集合:num_set = set([1, 2, 3, 4]) ?? ??? ?num_set -> {1, 2, 3, 4} ? ? ?(2)不变的集合:num_set = frozenset([1, 2, 3, 4]) ?? ??? ?num_set -> frozenset({1, 2, 3, 4}) ? ? ?(3)添加和删除元素:num1.add(6) ? ? ? ?:添加6 ?? ??? ? ? ? ? num1.remove(6) ?:去除6 30. 打开文件:f = open('E:/test.txt', 'w') ? ? ? # A ? √ ?? ? ? ? f = open('E:\test.txt', 'w') ? ? ? # B ? ×(用反斜杠需要用双反斜杠进行转义) ?? ? ? ? f = open('E://test.txt', 'w') ? ? ?# C ? √ ?? ? ? ? f = open('E:\\test.txt', 'w') ? ? ?# D ? √ ?? ?(默认打开模式为:rt,即可读、文本模式) ?? ?‘xb’:可写入及二进制模式 ?? ?‘w’ :可写入模式打开,若存在文件名相同的文件会覆盖 ?? ?‘x’ ?:可写入模式打开,若存在文件名相同的文件会抛出异常
|