随笔分类 - Python学习
摘要:面向对象的重要概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如学生类Student,而实例是根据类创建出来的一个个具体的对象,每个对象都拥有相同的方法,单各自的数据可能不同。 以Student为列,在Python中,定义类是通过class关键字 class关键字后面紧
阅读全文
摘要:在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)
阅读全文
摘要:通过设定参数的默认值,可以降低函数调用的难度。偏函数可以做到这一点 int()函数可以把字符串转换成十进制整数,当传入字符串时,int()默认把字符串为十进制 但int()函数还提供额外的base参数,默认值为10。如果传入base参数,可以做N进制转换 PS:base=8把字符串作为8进制转换成1
阅读全文
摘要:参考:https://www.cnblogs.com/songyue/p/5196809.html 例如以前写了一个简单的函数sum1如下 运行结果为 假如需要新加一个功能查看该函数运行执行了多长时间,可以导入时间模块记录开始时间及结束时间,用结束时间减开始时间及可得到运行时间,修改函数如下 运行结
阅读全文
摘要:当我们在传入函数时,有些时候,不需要显式定义函数。直接传入匿名函数更方便,例如 效果等同于定义函数f(x)求平方 关键字lambda表示匿名函数,冒号前面的x表示函数参数 匿名函数有个限制,就是只能有一个表达式,不用写return,返回就是改表达式的结果。 匿名函数有个好处,因为函数没有名字,不必担
阅读全文
摘要:排序算法 Python内置的sorted()函数可以对list进行排序 此外,sorted也是一个高阶函数,它还可以接收一个key函数来实现自定义排序,例如按绝对值大小排序 key指定的函数将作用于list的每一个元素上,并根据返回的结果进行排序 然后sorted()函数按照keys进行排序,并按照
阅读全文
摘要:参考:https://www.cnblogs.com/jasmine0627/p/9510296.html 将字符串s="helloworld"反转为‘dlrowolleh’ fanzhuan.py 输出
阅读全文
摘要:参考:https://www.cnblogs.com/mzc1997/p/7641995.html Python中函数不仅可以作为参数还可以作为结果返回 如果在一个内部函数里对外部作用域(但不是全局作用域)的变量进行引用,内部函数称为闭包(closure) 函数fun2对fun1的参数n进行了引用,
阅读全文
摘要:Python内建的filter()函数用于过滤序列 和map()一样,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃改元素 例如,在一个list中,删掉偶数,保留奇数 把序列作为参
阅读全文
摘要:Python内建map()和reduce()函数 map()函数接收两个参数一个是函数一个是一个Iterable(迭代器),并把结果作为新的Iterator(生成器)返回 有一个函数f(x)=x*x作用于序列list[1,2,3,4,5,6,7,8,9] 使用python函数实现 map传递的第一个
阅读全文
摘要:Socket通长也称作"套接字",用于描述IP地址和端口,是一个通信的句柄. vim day8-16.py 运行,然后在开启一个客户端访问 本客户端返回 使用python建立一个socket的服务端和客户端 vim socket_server.py vim socket_client.py 运行服务
阅读全文
摘要:单例模式 内存中只存在一个实例 vim day.8-15.py 多次调用一个实例会在内存生成不同id,改变调用方法可以保证内存里面只有一个实例,节省内存空间
阅读全文
摘要:先模拟一个web页面的选择不同输出不同 vim day8-7.py vim home.py vim account.py 执行输入不同的会出现不同的结果,输入不对则返回404 如果针对一个网站所有的页面都通过这种方法来判断代码将会很长也不合理 可以使用mvc框架 models 数据库 views h
阅读全文
摘要:当一个程序运行时报错,可以通过Python异常处理机制忽略错误或者以友好的方式提示错误 vim day8-2.py 错误有很多种可以定义对于某一种异常进行处理 PS:可以在最后加 except Exception,e:处理所有无法预测到的错误 以上的捕获异常代码异常,还有一种异常是主动触发异常,如果
阅读全文
摘要:isinstance判断一个变量的类型 >>> n1 = 10>>> isinstance (n1,int)True 判断n1是否是数字类型,如果是返回True如果不是防护False 同理可以判断是否是字符串 或者其他类型 也可以通过isinstance判断一个函数是否是从某个类的派生类 vim d
阅读全文
摘要:对于这些类成员有修饰符 之前定义字段country任何对象都可以访问,是公有的 可以定义为私用属性,只有类内部的方法可以调用,外部不能直接调用,但是可以间接调用 vim day7-10.py 如果直接在外部调用Foo.__country会报错 同样在方法前面加两个下划线在类的外部的无法调用 PS:私
阅读全文
摘要:属性的定义和调用 1,定义时,在普通方法的基础上添加@property装饰器 2,定义时,属性仅有一个self参数 3,调用时,无需括号 vim day7-8.py 使用以上方法可以根据页数取得需要查询的数据的序号开始和结束值 这里使用属性的方法是为了调用看起来更加合理 取消属性装饰器,调用的时候就
阅读全文
摘要:普通方法要执行类里面的方法是通过对象触发的 触发的时候把自己赋值给self 类方法 vim day7-7.py 类的执行触发者是类,把自身赋值给cls,触发的时候是把类当成参数传递. 静态方法 静态方法的调用者是类,类加上静态方法其实就等于一个函数(java使用这种方法模拟函数) 类方法是对静态方法
阅读全文
摘要:类成员: 字段,方法,属性 属性是在一个函数方法前面加一个装饰器,伪造成为一个字段,调用的时候不需要加括号() 目的是把一个方法伪造成为一个字段,属性也是方法的一种,对这个方法进行改造就可以以 字段的方法进行访问,访问一个方法是一系列动作返回一个结果,访问属性相当于自身特有 的一个特质而不是一个动作
阅读全文

浙公网安备 33010602011771号