02 2020 档案

摘要:xx: 公有变量 _x: 单前置下划线,私有化属性或⽅法, from somemodule import *禁⽌导⼊,类对象和⼦类可以访问 __xx: 双前置下划线,避免与⼦类中的属性命名冲突, ⽆法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,⽤户名字空间的魔法对象或属性。 阅读全文
posted @ 2020-02-29 10:20 GumpYan 阅读(277) 评论(0) 推荐(0) 编辑
摘要:类型判断要使用type或isinstance, 并不能通过判断print输出是否带引号来判断输出值的类型。 str()与repr()都是python中的内置函数,是直接用来格式化字符串的函数; 而__str__与__repr__ 是在类(对象)中对类(对象)本身进行字符串处理。 注意:__repr_ 阅读全文
posted @ 2020-02-27 10:08 GumpYan 阅读(625) 评论(0) 推荐(0) 编辑
摘要:1.python中对象赋值 # 对象赋值 # python中对象的赋值是地址的赋值 n = 5 n1 = n # 查看变量的内存地址 print(id(n)) print(id(n1)) 将n指向5的地址给了n1 p = Person('Jack') p1 = p # 将p的地址给了p1 print 阅读全文
posted @ 2020-02-26 22:38 GumpYan 阅读(453) 评论(0) 推荐(0) 编辑
摘要:魔术方法: 魔术方法就是一个类/对象中的方法,和普通方法唯一的不同时,普通方法需要调用!而魔术方法是在特定时刻自动触发。 1.__init__ 初始化魔术方法 触发时机:初始化对象时触发(不是实例化触发,但是和实例化在一个操作中) 参数:至少有一个self,接收对象 返回值:无 作用:初始化对象的成 阅读全文
posted @ 2020-02-25 17:01 GumpYan 阅读(335) 评论(0) 推荐(0) 编辑
摘要:静态方法:很类似类方法 1.需要装饰器@staticmethod 2.静态方法是无需传递参数(如,cls,self) 3.静态方法里面也只能访问类的属性和方法,而对象的是无法访问的(即,用self.xx访问属性和访问方法是不可以的) 4.加载时机同类方法,即在对象还没有创建时,就已经加载了 clas 阅读全文
posted @ 2020-02-25 16:27 GumpYan 阅读(447) 评论(0) 推荐(0) 编辑
摘要:类方法:在普通方法上面加一个@classmethod(装饰器) 一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 类方法对象也是可以调用的 # 类方法 class Dog: d 阅读全文
posted @ 2020-02-24 20:06 GumpYan 阅读(299) 评论(0) 推荐(0) 编辑
摘要:方法 种类:普通方法,类方法,静态方法,魔术方法 1.普通方法格式: def 方法名(self[,参数,参数]): pass 函数和方法的区别: 类里面定义的就是方法,用法和函数是一模一样的 单独定义的就是函数 1 # 关于self 2 class Phone: 3 brand = 'huawei' 阅读全文
posted @ 2020-02-23 21:26 GumpYan 阅读(849) 评论(0) 推荐(0) 编辑
摘要:1.可迭代对象,迭代器和生成器之间的关系 可迭代对象与迭代器 刚开始我认为这两者是等同的,但后来发现并不是这样;下面直接抛出结论: 1)可迭代对象包含迭代器。 2)如果一个对象拥有__iter__方法,其是可迭代对象;如果一个对象拥有next方法,其是迭代器。 3)定义可迭代对象,必须实现__ite 阅读全文
posted @ 2020-02-23 15:41 GumpYan 阅读(170) 评论(0) 推荐(0) 编辑
摘要:1.生成器(generator) 通过列表生成式(列表推导式),我们可以直接创建一个列表 但是,受到内存限制,列表容量肯定是有限的,而且创建一个100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间就白白浪费了。 所以,如果列表元素可以按照某种算 阅读全文
posted @ 2020-02-22 21:32 GumpYan 阅读(493) 评论(0) 推荐(0) 编辑
摘要:%:表示取模,相当于mod,即计算除法的余数,如5 % 2 == 1 经常用来判断能否整除,如:i % 3 == 0 //:表示整数除法,即返回一个不大于结果的最大整数 /:表示浮点数除法,即返回浮点结果 8%10 = 8 8-[8//10]*10 = 8-0*10 = 8 -1 % 10 = 9 阅读全文
posted @ 2020-02-22 17:38 GumpYan 阅读(7753) 评论(0) 推荐(0) 编辑
摘要:1 列表推导式 旧列表 > 新列表格式:[表达式 for 变量 in 旧列表] 或 [表达式 for 变量 in 旧列表 if 条件]例子: 1 # 例子:过滤掉长度小于等于3的人名 2 names = ['lily', 'tom', 'bob', 'steven', 'james', 'ha'] 阅读全文
posted @ 2020-02-22 17:26 GumpYan 阅读(340) 评论(0) 推荐(0) 编辑
摘要:next()函数的作用是返回迭代器下一个项目 形式: next(iterator[, default]) 参数说明: iterator -- 可迭代对象 default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。 如果 阅读全文
posted @ 2020-02-21 09:54 GumpYan 阅读(441) 评论(0) 推荐(0) 编辑
摘要:1.常用形式 range(1, 5) 结果是[1, 2, 3, 4],注意:没有5 解释:range中的第一个参数是开始,第二个参数是结尾,python中range是不包括结尾的,[arg1, arg2) 2.range(1, 5, 2)这样的三个参数 range(1, 5, 2)中,第三个参数是s 阅读全文
posted @ 2020-02-20 11:11 GumpYan 阅读(31662) 评论(1) 推荐(2) 编辑
摘要:一个*,会把输入参数打包成一个tuple 两个*,会把输入参数打包成一个字典 1 """ 2 可变参数 3 """ 4 5 6 def add(*args): 7 print(args) 8 9 10 add() # 空元组 11 add(1) # (1,) 12 add(1, 2, 3) # (1 阅读全文
posted @ 2020-02-11 10:17 GumpYan 阅读(288) 评论(0) 推荐(0) 编辑
摘要:拆包与装包 1 t1 = (9, 4, 8, 6) 2 x, *y = t1 3 print("x:", x) 4 print("y:", y) 5 print("*y:", *y) *的作用就是将散列值4,8,6放到列表中(装包) 只要拿一个序列给这两个变量复制,底层就将元组给拆了,拆成散列值 原 阅读全文
posted @ 2020-02-10 17:43 GumpYan 阅读(378) 评论(0) 推荐(0) 编辑
摘要:1.装饰器的特点: 1.函数A作为参数出现的(函数B就接收函数A作为参数) 2.要有闭包的特点 1 """ 2 装饰器的特点: 3 1.函数A作为参数出现的(函数B就接收函数A作为参数) 4 2.要有闭包的特点 5 """ 6 7 8 # 可以将函数作为参数传进另一个函数里面去 9 def func 阅读全文
posted @ 2020-02-10 11:06 GumpYan 阅读(139) 评论(0) 推荐(0) 编辑
摘要:1.闭包一个闭包就是你调用了一个函数A,这个函数A返回了一个函数B给你。这个返回的函数B就叫做闭包。你在调用函数A的时候传递的参数就是自由变量。例子: def func(name): def inner_func(age): print("name:", name, "age:", age) ret 阅读全文
posted @ 2020-02-06 23:12 GumpYan 阅读(440) 评论(0) 推荐(0) 编辑
摘要:1.pycharm基本设置: (1)脚本头设置:File > Editor > File and Code Templates>Python Scripts #! /usr/bin/env python# -*- coding:utf-8 -*-# __author__ = "XXX" (2)右侧竖 阅读全文
posted @ 2020-02-06 20:12 GumpYan 阅读(203) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2020-02-04 20:11 GumpYan 阅读(1) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示