04 2020 档案
摘要:SringIO io模块中的类 from io import StringIO 内存中,开辟一个文本模式的buffer,可以向文件对象一样操作它 当close方法被调用时,这个buffer会被释放 getvalue()获取全部内容,跟文件指针没关系 from io import StringIO s
阅读全文
摘要:functools模块 reduce functools.reduce(function, sequence[, initial]) -> value 就是减少的意思 初始值没提供就在可迭代对象中取一个 from functools import reduce print(sum(range(10)
阅读全文
摘要:注解-annotation Python是动态强类型语言,变量可以随时被赋值并改变类型,也就是说Python的变量是运行时决定的 def add(x,y): ''' This is a add function x is int y is int ''' return x + y add(4,5)
阅读全文
摘要:1、求阶乘 方法一: s = 1 sum = 0 for i in range(1,3): s = s*i sum += s print(s) print(sum) def fn(n): if n == 1: return 1 else: return fn(n-1) * n print(fn(3)
阅读全文
摘要:高阶函数 函数在Python中是一等公民 函数也是对象,可调用的对象 函数可以作为普通变量,参数,返回值等 成为高阶函数的必要条件: 接收一个或多个函数作为参数 输出一个函数 示例: def counter(base): def inc(step=1): nonlocal base base +=
阅读全文
摘要:生成器 生成器指的是生成器对象,可以由生成器表达式生成,也可以使用yield关键字编写一个生成器函数,调用这个函数得到一个生成器对象。 生成器对象是一个可迭代对象,是一个迭代器 生成器对象是延时计算,惰性求值的对象 m = (i for i in range(10)) type(m)m (gener
阅读全文
摘要:函数的执行流程 如下函数调用存在创建栈针、print函数压栈、字符串变量压栈调用函数、弹出栈顶、返回值 def foo1(b,b1=3): print("foo1 called",b,b1) def foo2(c): foo3(c) print("foo2 called",c) def foo3(d
阅读全文
摘要:匿名函数 匿名:隐藏名字,即没有名称 匿名函数:没有名字的函数 lambda表达式 Python中使用lambda表达式构建匿名函数。 lambda 参数列表:表达式 调用:(lambda 参数列表:表达式)(参数) (lambda x : x + 1 )(4)foo = lambda x : x
阅读全文
摘要:import random def max_min_nums(x,y,*args): print(max(x,y,*args),min(x,y,*args)) max_min_nums(4,5,6),max_min_nums(*[random.randint(1,100) for i in rang
阅读全文
摘要:函数 Python函数: 由诺干个语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元,完成一定的功能 函数的作用: 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的是为了复用,减少冗余代码 代码更叫的简洁,易读性强 函数的分类: 内键函数,如:print()、max
阅读全文
摘要:内建函数 通过Python自带的帮助文档能查询到Python所有的内build-in function内置函数,下面主要介绍如下常用内置函数,帮助手册搜索随意存在的内键函数则能找到如下表。 常用内置函数剖析: 标识:id,返回对象的唯一标识,cpython的内存地址 哈希:hash(),返回一个对象
阅读全文
摘要:返回1-10平方的列表 [i ** 2 for i in range(1,11)] # [ (i+1) ** 2 for i in range(10)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 有一个列表[1,4,9,16,2,5,10,15]生成一个新的列表,
阅读全文
摘要:列表解析式 示例:生成一个列表,元素0~9,对每一个元素自增1后求平方返回新的列表 #使用for循环 lst = [] for i in range(10): lst.append((i+1)**2) print(lst) print(' ') lst = [None] * 10 for i in
阅读全文
摘要:数字统计 用户输入诺干个数字,打印每一位数字及重复的次数 nums = '001123220'.strip().lstrip('0') d = {} for i in nums: d[i] = d.get(i,0) + 1 print(d) dict1 = {} for c in nums: dic
阅读全文
摘要:问题:一只小猴子第一天摘下若干个桃子,并吃了一半。感觉到吃的还不瘾,于是又多吃了一个;第二天早上,又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上,都吃了前一天剩下的一半零一个。请问,到了第10天早上想再吃时,却发现只剩下一个桃子了。求第一天共摘了多少? a = 1 for i in range(
阅读全文
摘要:标准库datetime datetime模块: 对 日期、时间、时间戳的处理 datetime类方法: today():返回本地时区的datetime对象 now(tz = None):返回当前时间的datetime对象,时间到微妙,如果timezone为None返回和today一样 utcnow(
阅读全文
摘要:nums = '112233' lst = [None] * 10 for i in range(10): lst[i] = nums.count(str(i)) if lst[i]: print(i,lst[i]) print(' ') nums = '112233' lst = [None] *
阅读全文
摘要:随机产生2组10个数字列表 每个数字取值 [10 ,20 ] 统计20个数字中一共有多少个不同数字? 2组之间,不重复的数字有几个,分别是什么? 2组直接进行比较,重复的数字有几个?分别是什么? import random s1 = set([random.randint(10,20) for _
阅读全文
摘要:字典的定义 字典是key、value键值对的数据集合,字典是可变的、无序的、key值不重复。 字典dict初始化 d = dict()或者{},表示空字典 dict(**kwargs)使用name=value键值对初始化一个字典 dict(mapping) -> new dictionary ini
阅读全文
摘要:集合的定义 集合 set,collection翻译为集合类型或容器,是一个大概念。 集合特性: 可变、无序、不重复、可迭代的元素的集合。 示例: 集合元素 1、set集合的元素要求必须是可hash的 2、目前所学过的不可hash的类型有:list、set、bytearray、dict 3、元素不可以
阅读全文
摘要:封装 将多个值使用逗号分隔,组合在一起,本质上返回的是元组,只是省略了小括号; t1 = (1,2) t2 = 1,2,3 print(t1,t2) ((1,2),(1,2,3)) type(t1),type(t2) (tuple, tuple) a = 4 b = 5 temp = a a = b
阅读全文
摘要:bytes、bytearray Python3引入两个新的类型: bytes:不可变字节序列 bytearray:字节组数据,可变 字符串与bytes 字符串是字符组成的有序序列,字符可以使用编码来理解 bytes是字节组成的有序的不可变序列 bytearray是字节组成的有序可变序列 编码与解码
阅读全文
摘要:计算杨辉三角第六行 n = 6 triangle = [[1],[1,1]] for i in range(2,n): current = [1] pre = triangle[i-1] for j in range(i-1): current.append(pre[j]+pre[j+1]) cur
阅读全文

浙公网安备 33010602011771号