python基础
python必学基础知识
凤求凰的博客
人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活!!!
展开
-
python基础(三十):异常处理
文章目录一、什么是异常二、异常处理1、异常处理完全形式(总结性)2、处理的子形式之try+accept3、处理的子形式之try+accept+else4、处理的子形式之try+finally、try+except+finally5、主动触发异常(raise语句)6、自定义异常类7、断言(assert语句)三、何时使用异常处理1、可预知异常的处理2、不可预知异常的处理一、什么是异常异常是程序发生错误的信号。程序一旦出现错误,便会产生一个异常,若程序中没有处理它,就会抛出该异常,程序的运行也随之终止。在Py原创 2020-06-01 14:01:17 · 2969 阅读 · 3 评论 -
python基础(二十九):定制元类的经典编程练习题
文章目录1、在元类中控制把自定义类的数据属性都变成大写2、在元类中控制自定义的类无需__init__方法3、在元类中控制自定义的类产生的对象相关的属性全部为隐藏属性4、单例模式的实现(1)定义一个类方法实现单例模式(2)定制元类实现单例模式(3)定义一个装饰器实现单例模式1、在元类中控制把自定义类的数据属性都变成大写class Mymeta(type): def __new__(cls,class_name,class_bases,class_namespace_dic): up原创 2020-05-31 18:47:24 · 583 阅读 · 1 评论 -
python基础(二十八):元类
下面是小凰凰的简介,看下吧!????人生态度:珍惜时间,渴望学习,热爱音乐,把握命运,享受生活????学习技能:网络 -> 云计算运维 -> python全栈( 当前正在学习中)后期会不断更新python全栈学习笔记,秉着质量博文为原则,写好每一篇博文。有相关技能问题的可以私聊,我们一起学习,一起进步,认可我的话,不妨点个关注!文章目录一、元类介绍二、class关键字创建类的流程分析四、自定义元类1、自定义元类控制类StanfordTeacher的创建2、自定义元类控制类Stanfo原创 2020-05-31 14:53:42 · 3697 阅读 · 1 评论 -
python基础(二十七):反射与内置方法
文章目录一、反射1、引言2、根据现有知识实现反射机制(反射应用的具体场景)3、采用反射机制的专用方法实现反射二、内置方法1、_\_str__2、_\_del__一、反射1、引言首先假设我们要搞一个程序项目对接,对方向你扔过来了一个对象数据,但是他并不会告诉你这个对象数据有哪些数据属性、函数属性,如果试的话就会出现报错的情况。我们怎样解决这种情况呢?这就要用到反射了,然而说反射之前,我先说下动态语言这一概念!python是一门动态语言,如何理解?答:举个例子,python:x = 10,java:原创 2020-05-30 19:32:10 · 1773 阅读 · 0 评论 -
python基础(二十六):常用内置函数详解
根据上述图中的函数,我对他们进行了分类:文章目录一、数学运算(7个)1、abs2、divmod3、max4、min5、pow(了解)6、round7、sum二、类型转换(24个)1、bool2、int3、float4、complex(了解)5、str6、bytearray(了解)7、bytes8、memoryview(了解)9、ord10、chr(重点)11、bin12、oct13、hex14、tuple15、list16、dict17、set18、frozenset19、enumerate20、rang原创 2020-05-26 14:01:27 · 2308 阅读 · 1 评论 -
python基础(二十五):多态性与鸭子类型、绑定方法与非绑定方法
文章目录一、多态性二、鸭子类型三、绑定方法1、问题引入2、绑定给类的方法四、非绑定方法一、多态性多态指的是一类事物有多种形态,比如动物有多种形态:猫、狗、猪class Animal: # 同一类事物:动物 def talk(self): passclass Cat(Animal): # 动物的形态之一:猫 def talk(self): # 重写父类talk方法 print('喵喵喵')class Dog(Animal): # 动物的形态之二:狗原创 2020-05-26 11:04:49 · 2504 阅读 · 3 评论 -
python基础(二十四):继承、派生
文章目录一、继承介绍二、继承与抽象三、属性查找四、继承的实现原理1、菱形问题2、继承原理(MRO列表详解)3、多继承属性查询顺序(不查询MRO,看出查询顺序)(1)多继承结构为非菱形结构(2)多继承结构为菱形结构4、Mixins机制五、派生与方法重用六、组合一、继承介绍继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,新建的类可称为子类或派生类,父类又可称为基类或超类class ParentClass1: #定义父类 passclass ParentClass2:原创 2020-05-25 16:53:17 · 2558 阅读 · 0 评论 -
python基础(二十三):面向对象编程精髓演练(选课系统)、封装
文章目录一、面向对象编程实战演练1、学校类(关联班级)2、班级类(关联课程)3、课程类4、学生类(关联学校、班级)二、封装1、引入2、隐藏属性3、为什么要隐藏属性呢?(1)为什么隐藏数据属性?(2)为什么隐藏函数属性?4、property一、面向对象编程实战演练1、学校类(关联班级)# 一、学校---# 校区创建完毕后,可以为每个校区创建班级# 定义学校类class School: school_name = 'OLDBOY' def __init__(self, nicknam原创 2020-05-24 08:30:43 · 1790 阅读 · 0 评论 -
python基础(二十二):面向对象编程
文章目录一、对象二、类与对象三、面向对象编程四、属性访问1、类属性和对象属性2、属性查找顺序与绑定方法(1)类的数据属性(2)类中定义的函数一般都至少有一个参数,且一般叫self(3)类使用类中函数的传参问题(4)类的函数属性与对象的绑定问题一、对象”面向对象“的核心是“对象”二字,而对象的精髓在于“整合“,什么意思?# 所有的程序都是由”数据”与“功能“组成,因而编写程序的本质就是定义出一系列的数据,然后定义出一系列的功能来对数据进行操作。在学习”对象“之前,程序中的数据与功能是分离开的,如下#原创 2020-05-22 22:27:22 · 2604 阅读 · 0 评论 -
python基础(二十一):常用模块详解
文章目录1、time与datetime模块2、random模块3、os模块4、sys模块5、shutil模块6、json&pickle模块7、shelve模块8、xml模块9、configparser模块10、hashlib模块11、suprocess模块12、logging模块13、re模块1、time与datetime模块2、random模块3、os模块4、sys模块5、shutil模块6、json&pickle模块7、shelve模块8、xml模块9、configpa原创 2020-05-17 20:48:54 · 3206 阅读 · 6 评论 -
python基础(二十):包
文章目录一、包介绍二、包使用1、导入包与_init_.py2、绝对导入与相对导入(1)绝对导入:以顶级包为起始(2)相对导入(3)一点建议,两点强调3、from 包.模块 import *一、包介绍随着模块数目的增多,把所有模块不加区分地放到一起也是极不合理的,于是Python为我们提供了一种把模块组织到一起的方法,即创建一个包。包就是一个含有__init__.py文件的文件夹,文件夹内可以组织子模块或子包,例如pool/ #顶级包├── __init__.py原创 2020-05-12 22:03:17 · 725 阅读 · 1 评论 -
python基础(十九):模块
文章目录一、模块介绍二、模块的使用1、import语句(1)基本用法(2)三种模块2、from ... import ... 语句(1)基本用法(2)from 模块名 import *3、其他导入语法(as别名)4、循环导入问题(1)测试一(采用执行run.py文件)(2)测试二(采用执行两个模块文件中其中之一)(3)循环导入报错的解决方案5、搜索模块的路径与优先级(1)模块查询及sys.path的介绍(2)sys.path的使用6、区分py文件的两种用途7、编写一个规范的模块一、模块介绍在Python原创 2020-05-12 13:25:31 · 13932 阅读 · 32 评论 -
python基础(十八):函数式、递归调用
文章目录一、函数式1、函数式简介2、匿名函数与lambda二、递归调用1、递归调用要点透析2、递归调用的两个过程:回溯与递推3、递归经典例题练习(1)嵌套多层的列表,要求打印出所有的元素(2)二分法递归实现一、函数式1、函数式简介函数式编程并非用函数编程这么简单,而是将计算机的运算视为数学意义上的运算,比起面向过程,函数式更加注重的是执行结果而非执行的过程,代表语言有:Haskell、Erlang。而python并不是一门函数式编程语言,但是仍为我们提供了很多函数式编程好的特性,如lambda,map原创 2020-05-10 20:37:47 · 1580 阅读 · 2 评论 -
python基础(十七):三元表达式、列表生成式、生成器生成式
文章目录一、三元表达式二、列表生成式(1)列表生成式语法(2)列表生成式案例(3)字典生成式案例(4)集合生成式案例三、生成器生成式一、三元表达式三元表达式是python为我们提供的一种简化代码的解决方案,语法如下res = 条件成立时返回的值 if 条件 else 条件不成立时返回的值二、列表生成式(1)列表生成式语法列表生成式是python为我们提供的一种简化代码的解决方案,用来快速生成列表,语法如下:list1 = [value for item in iterable if cond原创 2020-05-09 17:07:27 · 1725 阅读 · 0 评论 -
python基础(十六):迭代器、生成器
文章目录一、迭代器介绍1、可迭代对象2、迭代器对象二、for循环原理三、迭代器的优缺点1、优点2、缺点一、迭代器介绍迭代器即用来迭代取值的工具,而迭代是重复反馈过程的活动,其目的通常是为了逼近所需的目标或结果,每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值,单纯的重复并不是迭代goods=['mac','lenovo','acer','dell','sony']index=0while index < len(goods): print(good原创 2020-05-08 21:53:15 · 1521 阅读 · 0 评论 -
python基础(十五):装饰器
文章目录一、引言二、装饰器介绍三、装饰器实现1、无参装饰器的实现(1)在不改变函数体源代码和调用方式的前提下,我们能想到下面的办法(2)封装成函数,解决代码冗余(3)把函数名写活2、有参装饰器的实现(1)把函数参数写活了(2)把返回值写活了3、装饰器实现总结4、语法糖5、一个函数叠加多个装饰器(即添加多个附加功能)一、引言软件的设计应该遵循开放封闭原则,即对扩展是开放的,而对修改是封闭的。对扩...原创 2020-05-07 18:46:52 · 3337 阅读 · 7 评论 -
python基础(十四):函数对象与闭包
一、函数对象在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量、可以作为元素添加到集合对象中、可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的。1、函数可以被引用>>> def add(x,y):... return x+y... >>> func=add>>>...原创 2020-05-06 13:12:07 · 731 阅读 · 1 评论 -
python基础(十三):名称空间与作用域
文章目录一、名称空间1、内置名称空间2、全局名称空间3、局部名称空间二、作用域1、作用域与名字查找的优先级2、LEGB(四种名称空间)3、global关键字4、nonlocal关键字一、名称空间首先我们应该知道,栈一般存变量名和变量值所在的内存地址,堆一般存变量值。名称空间就是依据某种判断对栈中的不同种变量进行分区。如图:printname = '吴晋丞'def func(): ...原创 2020-05-05 21:30:48 · 711 阅读 · 0 评论 -
python基础(十二):函数的参数
文章目录一、形参和实参是什么?二、形参与实参的具体使用1、两种形参的区别(1)位置形参(2)默认形参2、两种实参的区别(1)位置实参(2)关键字实参3、可变长参数(1)可变长位置参数在形参和实参中的应用(2)可变长关键字参数在形参和实参中的应用4、命名关键字参数5、组合使用一、形参和实参是什么?函数的参数分为形式参数和实际参数,简称形参和实参:形参即在定义函数时,括号内声明的参数。形参本质就...原创 2020-05-04 23:49:12 · 1741 阅读 · 1 评论 -
python基础(十一):函数
一、函数存在的意义函数存在就是解决以下问题的: 程序组织结构不清晰,可读性差 代码冗余 可维护性、可扩展性差二、定义函数函数的定义:就相当于事先将函数体代码保存起来,然后将内存地址赋值给函数名,函数名就是对这段代码的引用,这和变量的定义是相似的。定义函数的语法:def 函数名(参数1,参数2,...): """文档描述""" 函数体 return 值...原创 2020-05-04 22:24:35 · 1430 阅读 · 0 评论 -
python基础(十):文件处理
文章目录一、引言二、python实现操作文件流程1、操作文件的流程2、资源回收与with上下文管理3、指定操作文本文件的字符编码三、文件操作模式1、控制文件读写操作的模式2、r模式的使用(1)r模式基本知识及使用案例(2)read方法使用:3、w模式的使用4、a 模式的使用5、+ 模式的使用(了解)(1)r+模式的使用(2)w+模式的使用(3)a+模式的使用6、+模式整体总结四、控制文件读写内容的...原创 2020-05-02 20:40:57 · 11667 阅读 · 15 评论 -
python之字符编码、存取文件乱码问题、python2字符串乱码问题
一、文本编辑器存取文件的原理(nodepad++,pycharm,word)#1、打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失#2、要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上。#3、在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。三、python解释器执行py...原创 2020-04-30 23:20:53 · 1166 阅读 · 1 评论 -
python基础(九):集合、数据类型分类与总结
文章目录一、集合1、定义集合2、创建集合3、优先掌握的操作4、去重(1)不可变类型去重(2)可变类型的去重二、数据类型分类与总结1、按存值个数区分2、按照访问方式区分3、按可变与不可变区分一、集合集合的应用场景:关系运算、去重1、定义集合集合:可以包含多个元素,用逗号分隔集合的元素遵循三个原则: 每个元素必须是不可变类型(可hash,可作为字典的key) 没有重复的元素 无序...原创 2020-04-30 22:52:48 · 681 阅读 · 0 评论 -
python基础(八):进制转换及python中的进制转换方法
文章目录一、心算法1、二进制转换十进制2、八进制转换十进制3、十六进制转换十进制如何快速的进行 2进制,16进制 的 相互转换二、python转换方法binocthexint一、心算法首先我们只需要知道二进制和十进制,二进制和16进制之间的转换方法即可。其他不用知道!1、二进制转换十进制2、八进制转换十进制3、十六进制转换十进制如何快速的进行 2进制,16进制 的 相互转换先...原创 2020-04-29 20:32:29 · 10055 阅读 · 1 评论 -
python基础(七):短路运算、深浅copy
文章目录一、短路运算二、深浅copy存在的必要性二、浅copy三、深copy一、短路运算短路运算涉及到了隐式布尔值和显示布尔值的区别,这个我在前面条件判断处就已经又说过:https://blog.csdn.net/weixin_44571270/article/details/105673741一般显式布尔值参与逻辑运算没有什么问题,得到的结果无非就是True或False这两种情况,当隐式...原创 2020-04-28 21:57:50 · 1480 阅读 · 0 评论 -
python基础(六):可变与不可变类型、字典中k-v类型限制
文章目录一、定义二、验证1、int2、str3、list三、总结四、字典了解补充一、定义可变类型:值改变,id不变,证明了改变的是原值,证明原值是可以被改变不可变类型:值改变,id改变,证明是产生的新值,并没有改变原值,证明原值是不能被改变二、验证1、intx = 10print(id(x))x = 100print(id(x))id不一致故为不可变类型!2、strstr...原创 2020-04-27 20:54:54 · 1766 阅读 · 2 评论 -
python基础(五):与用户交互、格式化输出
一、与用户交互交互的本质就是输入、输出1、输入# 在python3中input功能会等待用户的输入,用户输入任何内容,都存成字符串类型,然后赋值给等号左边的变量名>>> username=input('请输入您的用户名:') 请输入您的用户名:jack # username = "jack">>> password=input('请输入您的密码:')...原创 2020-04-26 22:00:41 · 1010 阅读 · 0 评论 -
python垃圾回收机制
文章目录一、引入二、堆区和栈区三、直接引用和循环引用四、垃圾回收机制原理分析五、引用计数六、标记清除1、循环引用问题2、解决方案(标记清除)七、分代回收1、效率问题2、解决方案(分代回收)一、引入 解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,那什么样...原创 2020-04-26 21:21:40 · 6145 阅读 · 9 评论 -
python小特性:is和==、变量的内存管理、小整数对象池、intern机制
文章目录一、is和"=="二、python垃圾回收机制简单介绍三、变量内存管理四、小整数池五、python自带和pycharm一、is和"==" is比较的是内存地址的大小是否相等 ==表示的是值(或者说内容是否相等) id()函数,可以获取内存地址不论什么数据类型这两个都是这样子的。二、python垃圾回收机制简单介绍引用计数:内存中的值被变量名引用的次数三、变量内存管理变...原创 2020-04-24 18:44:37 · 1035 阅读 · 3 评论 -
python基础(四):元组(Tuple)、字典、字符串、序列
文章目录一、元组1、创建元组2、访问元组3、修改元组4、删除元组5、元组内置函数6、元组特点二、字符串1、去除空格2、连接字符串3、查找字符串4、比较字符串5、是否包含指定字符串6、字符串的长度7、字符串中大小写转换8、将字符串放入中心位置可指定长度以及位置两边字符9、字符串统计10、字符串的测试、判断函数,这一类函数在string模块中没有,这些函数返回的都是bool值11、字符串切片12、分割...原创 2020-04-23 20:49:34 · 1207 阅读 · 5 评论 -
python基础(三):列表
文章目录一、数组二、列表1、append方法(追加元素)2、extend方法(数组拼接)3、insert方法(固定位置插入元素)4、删除元素三种方法 5、列表分片6、列表支持比较运算符7、列表支持逻辑运算符8、列表的➕号拼接9、列表的*号10、count方法11、index方法12、reverse方法(列表反转)13、sort方法(列表中的元素排序)一、数组我们都知道数组就是一群相同数据类型的...原创 2020-04-22 21:43:59 · 1084 阅读 · 0 评论 -
python基础(二):变量的数据类型、常量、操作符、分支、循环、条件判断
一、数据类型二、操作符三、分支四、循环五、数组和列表原创 2020-04-22 20:36:56 · 1644 阅读 · 0 评论 -
python基础(一):三重引号、[:-1]
文章目录第一天学习python,掌握了两个比较让我耳目一新的知识第一天的编程题(猜数字游戏实现)最近在找运维实习offer,因为自己java编程前期忽视了其重要性,发现好多大厂都需要运维有比较强悍的编程能力,所以最近打算好好学习一下当前最火的python编程,因为我对于程序设计语言这并不是学的第一个,所以做的一系列的python编程学习笔记,都将从实操和与java做对比的不同进行学习。第一天学...原创 2020-04-20 17:47:40 · 2848 阅读 · 7 评论