Python3学习笔记——类】的更多相关文章

#!/usr/bin/env python #-*- coding:utf-8 -*- #面向对象(类+对象) 三大特性:封装.继承.多态 类的成员: 字段: 普通字段:保存在对象(实例)中,执行只能通过对象访问 静态字段:保存在类中,执行时可以通过对象访问,也可以通过类访问 方法: 普通方法:保存在类中,由对象调用 静态方法:@staticmethod,保存在类中,通过类可以直接调用,且不需要self参数 类方法:@classmethod,保存在类中,由类直接调用,需要一个cls参数,代指当前…
Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) -         url:  需要打开的网址 -         data:Post提交的数据 -         timeout:设置网站的访问超时时间 直接用urllib.request模块的urlopen…
前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程是参考了廖雪峰的官方网站,教程非常详细,一步步照着学习就行了,我在自己的文章中就尽量不重复了.我会在自己后续的文章中会结合一些实例来学习Python3. 环境介绍 系统:Centos 7.4 编辑器:Vim 工具:Docker CE v17.09.0 & Docker Compose v1.17.0…
#python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一般是容量小的list #导入os模块,模块的概念后面讲到 import os #生成[1,2,3,4,5,6,7,8,9,10] l1 = list(range(1,11)) print("1-10",l1) # 生成[1*1, 2*2,...10*10] l2 = [] for x in…
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # for ... in #通过collections模块的 Iterable 类型判断一个对象是否可以迭代 from collections import Iterable from collections import Iterator #list 有下标可以迭代,dict 没有下标,也可以迭代 d…
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits = ["apple","origin","pear"] print("fruits",fruits) # 取前三个元素 索引从0开始,取到2(不包括2). part0_2 = fruits[0:2] print("par…
<python基础教程(第二版)>学习笔记 类和对象(第7章) 定义类class Person:    def setName(self,name):        self.name=name    def getName(self):        return self.name foo=Person()foo.setName('AAA')foo.getName()foo.namefoo.name='BBB' 私有属性,名字前面加上两个下划线.class Person:    def _…
最近在学习Python3,想写一些自己的学习笔记.方便自己以后看,主要学习的资料来自菜鸟教程的Python3教程和廖雪峰官方网站的Python教程. 1.下载 1)打开https://www.python.org/downloads/ 当前最新版本3.6.5 2.安装 下载完成之后,运行exe文件,第一个页面底部,记得勾选add Python to path,这样会自动把Python加到系统变量里面去,然后默认安装即可 我的安装路径: C:\Users\ms\AppData\Local\Prog…
#python 学习笔记 2017/07/13 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #从高阶函数的定义,我们可以知道,把函数作为参数的函数,把函数作为返回值的参数都是高阶函数 #可变参数求和 def calc_sum(*args): sum = 0 for n in args: sum = sum + n return sum #这个函数会立即返回求和结果,如果不要立即返回求和结果,而是需要在计算,可以返回求和函数,当再次调用时才给出计…
# python学习笔记 2017/07/13 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #python 内置sorted()函数 可以对list进行排序 l = [1,4,-7,13] print(sorted(l)) #sort() 函数是一个高阶函数,它可以接收一个key函数来实现自定义的排序 #按绝对值大小排序 print(sorted(l, key = abs)) #字符串排序 ,按照ascii 的大小写比较 sl = ["abc&q…
#python学习笔记 17/07/10 # !/usr/bin/evn python3 # -*- coding:utf-8 -*- import math #函数 函数的 定义 #定义一个求绝对值函数 def abstruct(a): if not isinstance (a, (int, float)): raise TypeError("param must be a int or float type") if a >= 0: return a else: return…
#python学习笔记 17/07/07 # !/usr/bin/evn python3 # -*- coding:utf-8 -*- #r"" 引号当中的字符串不转义 #练习 #打印 '\\\t\n' print(r'\\\t\n') #打印 n = 123 print('n = 123') # 打印 f = 456.789 print("f = 456.789") #打印 s1 = 'Hello, world!' print("s1 = 'Hello,…
由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(object): def __init__(self,name): self.name = name s = Student('Bob') s.score = 90 但是,如果Student类本身需要绑定一个属性呢?可以直接在class中定义属性,这种属性是类属性,归Student类所有 class Student1(object): name…
一.内置函数补充1.callable()检测传递的参数是否可以被调用.def f1() pass可以被调用f2 = 123不可以被调用2.chr()和ord()chr()将ascii码转换成字符,ord()将字符转换成acsii码在2.7中chr()和ord()用来翻译参数和ascii码的对应关系.例:r = chr(65)print(r)和r = ord("B")print(r)实例:随机验证码import random #用来生成随机数的模块li = []for i in rang…
一.面向对象(初识)由类和方法组成,类里面封装了很多功能,根据这个类,可以创建一个这个类的对象,即对象是根据这个类创建的,以后这个对象要使用某个功能的时候就从这个类里面的找.例:str -功能一 -功能二 -功能三 -...s1 = 'alex'str即是类,s1即是根据这个类创建的一个对象.二.set集合set是一个无序.不重复.可嵌套的集合.1.语法:se = {}或se = set()或se = set((11,22,33,33)),set()时其实是调用这个类里面的__init__方法写…
之前一直使用python2.7,最近打算学习下python3教程,再此记录下一些要点(未完待续...) 1.缩进 缩进有利有弊.好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab.按照约定俗成的管理,应该始终坚持使用4个空格的缩进. 缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码. 缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方.当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确. 2.数据类型 整数:任意…
变量作用域 参考http://www.runoob.com/python3/python3-function.html Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的. 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称.Python的作用域一共有4种,分别是: L (Local) 局部作用域 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用域 B (Built-in) 内建作用域 以 L –> E –> G…
参考http://www.runoob.com/python3/python3-iterator-generator.html 迭代器 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 迭代器有两个基本的方法:iter() 和 next(). 字符串,列表或元组对象都可用于创建迭代器: list = [1,2,3,4]it = iter(list) # 创建迭代器对象print(next(it)) # 输出迭代器的下一个元素print(next(it))…
ConfigParser模块在Python3修改为configparser,这个模块定义了一个ConfigeParser类,该类的作用是让配置文件生效.配置文件的格式和window的ini文件相同,大致如下: [section] name = value name:value 用 = 或 : 来赋值 section可以理解为一个模块,比如登录的时候,这个section可以叫login,下面放着username和password 该模块主要使用模块中RawConfigParser(),Config…
前言 本文不是一篇系统的从零开始学习Python的教程,如果你需要从零开始学习Python,廖雪峰的官方网站中Python教程这部分将是比较好的一种选择,如果你英语比较好,也可以在国外的一些网站上找到优质的教学视频(比如某油管视频网站). 阅读本文的前提可能需要你有一定的编程基础,并最好了解一种以上其他主流的面向对象的编程语言,比如Java.C#.PHP等. 首先需要了解的是,Python与PHP类似,是一种解释型的编程语言,与之对应的是Java.C#这类编译型的语言.我自己有比较丰富的C#和P…
logging模块,Python自带用来记录日志的模块. 因为工作需要用到关于日志的,最近一直都在看关于日志模块的东西,百度了很多文章,可惜都是看的让人一头雾水,最后运气不错,找到一篇很详细的文章.传送门:https://www.cnblogs.com/testdjt/p/7834856.html logging模块默认定义了以下几个日志等级 日志等级 (level) 描述 DEBUG 最详细的日志信息,典型应用场景是 问题诊断 INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用…
注释 单行注释,用#开头即可 多行注释,用''' ''' 或""" """ 缩进 python不能像其他语言一样采用{}或者begin...end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次. 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始.类和函数入口之间也用一行空行分隔,以突出函数入口的开始. # -*- coding: UTF-8 -*-if True: print("Hello girl!")els…
1.介绍面向对象的编程          面向对象是现在主流的编程样例,它替代了以前C语言使用时的“结构体”,Java是一门面向对象的语言,所以需要熟悉面向对象的概念.面向对象的程序由很多对象组成,每个函数对于用户而言,都有特殊的功能.程序里面的很多对象都可以直接从公共库里面拿来直接用.不用去研究这些功能怎么去实现的.传统的结构的编程由一系列算法步骤来解决问题.一旦这些步骤确定下来,也要同时确定存储数据的方式.也就是数据结构一开始学习的:算法+数据结构=程序. 先决定算法,再决定使用什么样的结构…
不是所有的方法都可以被覆盖的!比如:intValue就不能被覆盖!! 原因正在查找中! 别人的电脑上却可以! 类目.h件 #import <Foundation/Foundation.h> @interface NSString (Email) - (BOOL)stringEmail; @end 类目.m文件 #import "NSString+Email.h" @implementation NSString (Email)//类目 - (BOOL)stringEmail…
基础语法关于Scala程序,这是非常要注意以下几点. 区分大小写 - Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义. 类名 - 对于所有的类名的第一个字母要大写. 如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写. 示例:class MyFirstScalaClass 方法名称 - 所有的方法名称的第一个字母用小写. 如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写. 示例:def myMethodName() 程序…
封装 一个封装的简单例子 封装就是把对象的属性(状态)和方法(行为)结合在一起,并尽可能隐蔽对象的内部细节,成为一个不可分割的独立单位(即对象),对外形成一个边界,只保留有限的对外接口使之与外部发生联系. 封装的原则:使对象以外的部分不能随意存取对象的内部数据,从而有效的避免了外部错误对它的"交叉感染".数据隐藏特性提升了系统安全性,使软件错误能够局部化,减少查错和排错的难度.如:微波炉,将线路板(属性)封装在微波炉内部,使用者无法接触到,而通过面板按钮(方法)简单的操控线路板工作.…
一.模块初识(接上篇)模块(库)分为两种:1.标准库:不需要安装直接可以导入的库,例:getpass.2.第三方库:必须要下载安装才可以使用.注:编辑的模块文件名不能与导入的模块名重复. 在模块文件中导入其他模块时,程序会先在本目录下查找模块,如果文件本身的名称和导入的模块名相同,则会找到并导入自身. 此操作在python2.x时会报错,在python3.x中可以正常运行.但不建议出现这样的情况.标准库模块:1.sys:import syssys.path:python全局变量的路径,打印此方法…
一.编程语言主要从以下几个角度分类:1.编译型和解释型2.静态语言和动态语言3.强类型定义语言和弱类型定义语言编译型:程序运行前先由负责翻译的程序将代码转换成可执行代码进行执行.例如C/C++.Pascal/Delphi.VB.其优点为运行速度快,对系统要求低,适用于开发操作系统.大型应用程序.数据库系统等.解释型:程序运行时每直行到一条指令就由解释程序将所执行到的代码转换成可执行代码进行执行,如此反复,直至程序直行完毕.例如Java.JavaScript.VBScript.Perl.Pytho…
开发环境 基础语法那章的内容我是在Docker容器中玩的,但是真正做项目的时候,没有IDE的强大辅助功能来协助的话是很累人的一件事.因此从本文中,我选择使用Jetbrain的Pycharm这个IDE来开发.调试代码.IDE的好处多多,比如: 强大的智能提示 强大的断点调试 性能追踪 方便好用的各种插件 各种自定义配置 需求 为了实践Python,最先想到的就是要完成一个爬虫程序,大概需求如下: 实施 可配置化我本身是计划通过DI(Dependency Injection)这个技术来完成,不过查了…
2018-03-01数据结构与算法(4) 1.16过滤序列元素 最简单的过滤序列元素的方法就是使用列表推导.比如: >>> mylist = [1, 4, -5, 10, -7, 2, 3, -1] >>> [n for n in mylist if n > 0] [1, 4, 10, 2, 3] >>> [n for n in mylist if n < 0] [-5, -7, -1] >>> 用列表推导的一个潜在缺陷就…