python基础
文章平均质量分 80
胆小鬼゛
这个作者很懒,什么都没留下…
展开
-
python面试
python基础 3+4j不是合法的Python表达式。(错) Python集合可以包含相同的元素。(错) 在UTF-8编码中一个汉字需要占用3个字节。(错) 注意: UTF-8 是变长的,1-6个字节。 少数是汉字每个占用3个字节,多数占用4个字节。 占用3个字节的汉字: 52156 个 占用4个字节的汉字: 64029 个 Python 3.x 支持使用中文作为变量名。(对) 函数中必原创 2021-01-19 00:06:07 · 1407 阅读 · 2 评论 -
python高阶函数+排序组合
一、高阶函数如果一个函数的参数是另外一个函数,那么这个函数就可以称为高阶函数1.1 mapmap是系统内置函数,map函数接收两个参数,一个是函数,一个是可迭代对象(Iterable),map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。"""map(function,iterable)参数1:function,函数,函数的参数个数取决于后面序列的个数参数2:iterable,一个序列或多个序列功能:将传入的函数依次作用于序列中的每一个元素,并把结果作为新的I原创 2021-01-19 00:05:40 · 238 阅读 · 0 评论 -
json
一、单元测试和文档测试1.1 单元测试作用:对一个函数,模块或者一个类进行正确性的校验工作1.2 文档测试作用:可以提取注释中的代码执行doctest严格Python交互模式下的写法二、json模块JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。json的组成:数据保存在键值对中:‘name’:'tom数据项由逗号分隔{}表示对象(字典)[]表示列表实例:{ “省”: “北原创 2021-01-19 00:05:31 · 158 阅读 · 0 评论 -
python线程池+协程
线程池Python的线程虽然是真正的线程,但解释器执行代码时,有一个GIL锁:Global Interpreter Lock,任何Python线程执行前,必须先获得GIL锁,然后,每执行100条字节码,解释器就自动释放GIL锁,让别的线程有机会执行。这个GIL全局锁实际上把所有线程的执行代码都给上了锁,所以,多线程在Python中只能交替执行,即使100个线程跑在100核CPU上,也只能用到1个核。但是对于IO密集型的任务,多线程还是起到很大效率提升,这是协同式多任务当一项任务比如网络 I/O启动,而原创 2021-01-19 00:04:52 · 1349 阅读 · 0 评论 -
Python多线程
多线程线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程有三种基本状态:就绪、阻原创 2021-01-19 00:04:20 · 199 阅读 · 0 评论 -
多进程
多进程和多线程一、多任务生活中,你可能一边听歌,一边写作业;一边上网,一边吃饭。。。这些都是生活中的多任务场景。电脑也可以执行多任务,比如你可以同时打开浏览器上网,听音乐,打开pycharm编写代码…。简单的说多任务就是同一时间内运行多个程序单核CPU实现多任务原理:操作系统轮流让各个任务交替执行,QQ执行2us,切换到微信,在执行2us,再切换到陌陌,执行2us……。表面是看,每个任务反复执行下去,但是CPU调度执行速度太快了,导致我们感觉就行所有任务都在同时执行一样多核CPU实现多任务原原创 2021-01-12 19:45:18 · 186 阅读 · 0 评论 -
正则
一、栈和队列1.栈抽象成一个开口向上的容器【羽毛球球筒】在列表一端进行操作(添加,删除)。特点:先进后出#创建一个栈【列表】my_stack = []#入栈【向栈中存数据】:appendmy_stack.append(23)print(my_stack)my_stack.append(30)print(my_stack)my_stack.append(4)print(my_stack)#出栈【从栈中取数据】:pop#pop每调用一次,则取出一个数据,先添加进去的最后被取原创 2021-01-12 19:44:49 · 142 阅读 · 0 评论 -
异常和文件
错误、异常和文件1. 异常处理***错误***指的是代码有语法问题,无法解释运行,必须改正后才能运行如果代码没有语法问题,可以运行,但会出运行时的错误,例如除零错误,下标越界等问题,这种在运行期间检测到的错误被称为***异常*** ,出现了异常必须处理否则程序会终止执行,用户体验会很差。Phthon支持程序员自己处理检测到的异常。可以使用try-except语句进行异常的检测和处理1.1 try-except语句语法: try: 【代码块A】 #可能会出错误的代码 异常检测 exce原创 2021-01-12 19:44:17 · 94 阅读 · 0 评论 -
python多态
多态1.多态其他语言中所谓多态,指的是一个方法多种实现,在继承前提下,父类规定了子类的接口,使得可以相同的方式调用子类的方法,但会获得不同的功能。Python崇尚的是“鸭子类型”(Duck typing),这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试,“鸭子测试”可以这样表述:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”。“鸭子类型”中不关心对象的类型,只关心对象的行为。鸭子类型是动态类型的一种风格。在这种风格中,一个对象原创 2021-01-12 19:43:41 · 1057 阅读 · 0 评论 -
Python多态
1.多态其他语言中所谓多态,指的是一个方法多种实现,在继承前提下,父类规定了子类的接口,使得可以相同的方式调用子类的方法,但会获得不同的功能。Python崇尚的是“鸭子类型”(Duck typing),这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试,“鸭子测试”可以这样表述:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”。“鸭子类型”中不关心对象的类型,只关心对象的行为。鸭子类型是动态类型的一种风格。在这种风格中,一个对象有效的原创 2021-01-19 00:05:13 · 153 阅读 · 0 评论 -
Python继承
面向对象三大特征:封装、继承、多态1.继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”,所谓继承就是使现有的类无需编码便可以拥有原有类的方法和属性。被继承的类可以称之为***父类、基类、超类***。继承的类可以称之为***子类、派生类***。派生和继承是一体两面,从父类向子类看就是派生,从子类向父类看就是继承。子类和父类的关系可以用“is a”类表示,即子类是父类的一种,是一个更具体、更加强大的父类。python支持单继承和多继承。继承的优点:可以简化代码,减少冗余度提高了代码的可原创 2020-11-22 03:14:02 · 157 阅读 · 1 评论 -
Python类和对象
1 面向对象的思想面向过程:面向处理,更多的是从计算机角度思考,注重计算每一个步骤,程序更像是一本cpu操作手册。面向对象:以日常生活的角度思考问题的解决,更接近人的思维方式,让人可以从更高的层面考虑系统的构建以你请朋友吃饭为例:面向过程面向对象自己买菜和朋友一块到饭店自己摘菜叫服务员点菜自己洗菜和朋友一块吃自己做菜和朋友一块吃面向对象的优点:面向对象更加适合做应用的开发面向对象可以使你的代码更加优雅和紧凑面向对象开发效率更高面向原创 2020-11-22 03:13:11 · 110 阅读 · 0 评论 -
Python包和模块
1. 包包是为了解决模块重名问题,python引入了以目录方式组织模块,称之为包(package),一个包中可以包含模块、包。python的包中必须包含一个特殊文件,被命名为__ init__.py,这文件告诉解释器这是一个包,而目录则不要求一定要有,这是目录和包的区别2.模块在python中,模块是代码组织的一种方式,把功能相近的函数放到一个文件中,一个文件(.py)就是一个模块(module),模块名就是文件名去掉后缀py。这样做的好处是:提高代码的可复用、可维护性。一个模块编写完毕后,可以很原创 2020-11-22 03:12:21 · 326 阅读 · 1 评论 -
Python函数
一、函数引入前面我们写过九九乘法表,但如果我要七七乘法表或五五乘法表的话,你会看到三者代码极其类似,只是循环变量不同,那么如何做到代码重用,而不是简单拷贝黏贴修改呢,其实可是使用函数完成这一功能def table(row,col,sep=3): for i in range(1, row + 1): for j in range(1, col + 1): if j <= i: print("%d*%d = %2d" %原创 2020-11-22 03:11:05 · 536 阅读 · 0 评论 -
Python字符串、元组和字典、集合
一、字符串字符串就是由若干个不同的unicode字符组成的不可变序列1 .字符串创建#单引号字符串str1 = '天要下雨,娘要嫁人,由他去吧'str2 = str() #空串str3 = str([10,20,30])#双引号字符串str2 = "天要下雨,娘要嫁人,由他去吧"#三引号字符串 多行字符串str3 = '''好雨知时节当春乃发生'''str4 = """随风潜入夜润物细无声""2.获取字符因为是不可变序列,所以不能修改单个字符;凡是修改字符串的操原创 2020-11-22 03:07:54 · 369 阅读 · 0 评论 -
Python列表
一、列表在python中,有这样一些类型,它们的成员是有序排列的,并且可以通过下标访问成员,这些类型称之为序列,包括:列表、range、元组和字符串;其中列表的成员可修改,属于可变序列,字符串和元组,成员不可修改,属于不可变序列。序列有共同操作:成员关系运算(in,not in)连接操作(+)重复操作(*)切片操作([::])1 概述引出:存储一个数据可以采用变量问题:需要同时存储多个数据,该怎么做?#需求:有5个人的年龄,求平均年龄age1 = 10age2 = 32age3原创 2020-11-22 03:06:18 · 420 阅读 · 0 评论 -
Python循环
1. 流程控制语句(if分支(***))1.1 单一分支if 条件表达式: 【代码块】【后续代码】执行流程:如果条件表达式为真,则执行【代码块】。否则不执行,直接执行if语句后面的【后续代码】注意: 【代码块】必须缩进 单if语句可以嵌套1.2 双向分支if 条件表达式: 【语句块A】else: 【语句块B】【后续代码】执行流程:如果条件表达式为真,执行【语句块A】然后执行【后续代码】,否则执行【语句块B】,然后再执行【后续代码】,二选一,不可能既原创 2020-11-22 03:05:33 · 135 阅读 · 0 评论 -
Python运算符和表达式
1. 运算符的优先级尽量不要把一个表达式写的过于复杂,如果遇到复杂的需求,则最好分步运算不要过多的依赖于运算符的优先级,否则代码的可读性太差,在实际的项目开发中,一般采用()2 .数据类型的转换python是一种强类型语言:要求运算符两边的操作数必须是同一个类型的,否则必须转换函数名函数值int(x,[基数])将数字或字符串转换为整数,如果x为浮点数,则自动截断小数部分float(x)将x转换成浮点型str(x)将x转换成字符串,适合人阅读bool(原创 2020-11-22 03:04:39 · 155 阅读 · 0 评论 -
Python数据类型
1 数据类型不同类型的变量可以进行的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为:内置类数值类型:整型int,浮点型float,复数(complex) 3+5jstr:字符串bool:布尔值【True,False】None:空值,表示变量没有确定的值list:列表tuple:元组dict:字典set:集合自定义类型class :类1.1 基础类型数值类型:整型(int): python3中只有int一种,可以表示整数,例如:10,原创 2020-11-22 03:03:36 · 1227 阅读 · 0 评论 -
Python编程基础
python编程基础1. 程序为了完成某种特定功能,以某种程序设计语言编写的有序指令的集合。程序是指挥cpu工作的“工作手册”。计算机只能执行二进制代码,程序设计语言一般类似英文,想要让计算机理解你写的程序,必须把程序代码“翻译”成计算机能理解的二进制代码,根据翻译形式的不同,可以分为:编译 将程序代码翻译成计算机能理解的二进制目标代码,会生成特定的可执行代码(在window上是exe文件),可执行代码是二进制的,无法看到源代码。然后执行可执行代码就可以得到想要的结果c、c++、oc等原创 2020-11-22 03:01:14 · 304 阅读 · 0 评论