Python
个人学习笔记
Howdu
这个作者很懒,什么都没留下…
展开
-
Anaconda修改国内镜像源
1、通过 conda config 命令生成配置文件这里,我们使用清华的镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/首先,在CMD命令行输入以下两条命令:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes此时,目录 C:\Us转载 2020-06-03 19:54:10 · 1454 阅读 · 0 评论 -
Anaconda创建Python虚拟环境
以前都是用virtualenv创建虚拟环境然后用virtualenvwrapper管理。现在发现Anaconda自带的conda工具创建虚拟环境非常的方便。安装Anaconda后:conda create --name myEnv 你要安装的包的名字 #myEnv是环境名激活环境:activate myEnv退出环境deactivate myEnv删除环境:conda remove --name flowers --all查看所有环境:conda info --envs.转载 2020-06-03 16:50:20 · 189 阅读 · 0 评论 -
Mac安装pycharm专业版激活报错,错误代码为1653219。
解决办法:把hosts文件里面的 0.0.0.0 account.jetbrains.com 注释掉!把hosts文件里面的0.0.0.0 www.jetbrains.com 也要注释掉。修改mac的hosts文件:sudo vi /etc/hosts原创 2020-05-11 21:36:36 · 462 阅读 · 0 评论 -
IDLE如何实现调试功能
1、代码进入调式界面步骤首先在shell页面Debug中模块中点击Debugger进入如下页面。然后在运行自己所写的.py文件,就进入了调式页面。如下:2、调试页面字段解释Go直接运行代码Step类似于VS的F11,就是一层一层的进入代码Over类似于VS的F10,就是一行一行的查看代码Out有点类似于Go的作用,这个地方我还要继续研究下...原创 2020-04-10 16:21:39 · 1316 阅读 · 0 评论 -
Python中进制转换函数的使用
Python中进制转换函数的使用关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制)、bin()(十进制转换到二进制)、oct()(十进制转换到八进制)、hex()(十进制转换到十六进制)。下面我们逐个说下每个函数的用法。binbin()函数,是将十进制的数字转换成二进制的数字。其中bin()函数中传入...转载 2020-04-08 23:37:45 · 756 阅读 · 0 评论 -
IDLE快捷键
Ctrl + [ 、Ctrl + ] 缩进代码Alt+3 Alt+4 注释、取消注释代码行Alt+5 Alt+6 切换缩进方式 空格<=>TabAlt+/ 单词完成,只要文中出现过,就可以帮你自动补齐。多按几次可以循环选择Alt+M 打开模块代码,先选中模块,然后按下此快捷键,会帮你打开改模块的py源码供浏览Alt+C 打开类浏览器,方便在源码文件中的各个方法体之间切换Al...转载 2020-04-08 21:56:51 · 1100 阅读 · 0 评论 -
对于pycharm中设置断点却不能调试的问题
这个问题很简单,调试的文件需放在项目的一级子目录下!!!放在其他项目中包或者文件下会调试会直接运行出结果,调试对开发人员是透明的。原创 2020-03-24 23:22:34 · 2659 阅读 · 1 评论 -
Python中协程
1、简单理解协程其实就是微线程,针对耗时操作,高效利用CPU。完成多任务操作,一般用于耗时操作:网络请求 网络下载(爬虫) 文件读写 阻塞等。进程、线程、协程大致是一个"进程 > 线程 > 协程"关系。2、生成器->协程import timedef task1(): for i in range(1,5): print('A'*i) ...原创 2020-03-21 23:57:17 · 83 阅读 · 0 评论 -
Python中线程
1、概念线程: 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程...原创 2020-03-21 23:49:25 · 159 阅读 · 0 评论 -
Python中进程
1、概述进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。多进程模式是实现多任务模式的一种,同时还有多线程、协程!参考:百度百科—进程2、进程创建...原创 2020-03-21 10:18:51 · 80 阅读 · 0 评论 -
Python中正则表达式
1、简单定义正则表达式就是使用一些抽象出来用来代表某类字符的特定字符组成的字符串。正则表达式是用来在大量字符中匹配(寻找)符合自身字符规则的字符串。正则表达式是一种规则(人为定义的用某些字符表示一类字符的规则)。正则表达式是对字符串操作的一种逻辑公式。2、作用和特点给定一个正则表达式和另一个字符串,我们可以达到如下的目的:给定的字符串是否符合正则表达式的过滤逻辑(称作’匹配’)。...原创 2020-03-21 09:24:50 · 282 阅读 · 0 评论 -
Python中random模块 & hashlib模块 & 第三方库安装
1、random模块基础语法import randomran = random.random() #得到0~1之间的随机小数print(ran)ran = random.randrange(1,10)print(ran)ran = random.randrange(1,10,2)print(ran)ran = random.randint(1,10) #1~10数字...原创 2020-03-20 10:47:38 · 3803 阅读 · 0 评论 -
Python中time模块 & datetime模块
1、time模块import timet = time.time()print(t)#输出结果为:1584671364.1967118time.sleep(3)t1 = time.time()print(t1)#输出结果为:1584671367.1969154#将时间戳转成字符串s = time.ctime(t)print(s)#输出结果为:Fri Mar 20 10:...原创 2020-03-20 10:36:20 · 93 阅读 · 0 评论 -
Python中模块 & 文件夹与包 & 循环导入
1、简单定义理解: 在Python中,模块是代码组织的一种方式,把功能相近的函数放到一个文件中,一个文件(.py)就是一个模块(module)。模块名就是文件名去掉后缀py。好处 :提高代码的可复用、可维护。一个模块编写完成后,可以更方便的在其他项目中导入。解决了命名冲突,不同模块中相同的命名不会冲突。2、自定义模块import 模块名 #调用 模块名.变量 、模块名.函...原创 2020-03-20 10:22:30 · 334 阅读 · 0 评论 -
Python中的单例模式
1、概念:这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。也可以说是多个对象共用一个地址。优点在于在相应的场景下可使用,并节省空间。不是所有类都适合。2、单例模式的实现#单例的实现class Singleton: #私有化 __instance = None #重写 ...原创 2020-03-19 19:30:33 · 77 阅读 · 0 评论 -
Python中多继承 & 类的搜索顺序 & 多态
1、多继承Python中的多继承跟java中的多继承不一样。Python中多继承可以继承多个基类。个人看法:Java多继承类似传统的繁殖模式(单个基类),Python符合现代的繁殖模式(基因工程,存在多个基类)。示例:class Person: def __init__(self,name,age): self.name = name self.age...原创 2020-03-19 16:52:50 · 175 阅读 · 0 评论 -
Python中has a与is a
可参考链接:is-a和has-a的区别1、has a 关系has a :一个类中使用了另外一种自定义的类型类型:系统类型str、 int、 float、 list 、dict 、 tuple、 set自定义类型算是自定义的类,都可以将其当成一种类型。类也可以看成一种类型。2、is a 关系(继承)简单说:就是继承关系。如果类中不定义__ini...原创 2020-03-19 16:32:58 · 2166 阅读 · 0 评论 -
Python中私有化(封装)
1、简单定义封装:1、私有化属性。 2、定义公有set和get方法。__属性 :就是将属性私有化,访问权限仅在类中。2、封装的好处隐藏属性不被外界随意修改。也可以修改:通过函数完成。#使用set函数def setXXX(self,xxx) #筛选赋值的内容 if xxx是否符合条件 赋值 else: 不赋值...原创 2020-03-19 16:09:34 · 403 阅读 · 0 评论 -
Python中类和对象的属性 & 方法
1、类的格式类:所有类名要求首字母大写,多个单词使用驼峰式命名,所有类都默认继承Objectclass 类名[(父类)]: 属性:特征 方法:动作注: python与其他语言不一样,可以动态的加载对象的属性和方法。2、类属性 & 对象属性类属性#定义类和属性class Student: # 类属性 name = 'Jason' ...原创 2020-03-18 19:53:47 · 633 阅读 · 0 评论 -
Python中可迭代对象 & 迭代器
1、简单定义可迭代对象:是访问集合元素的一种方式,可以简单的理解为能被遍历的对象就可称为可迭代对象。可迭代的对象: 生成器 、元组 、列表 、集合 、字典、 字符串。迭代器:迭代器是一个可以记住遍历的位置的对象,迭代器对象从集合的第一元素访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 可以被next()函数调用并不断返回下一个值的对象成为迭代器:Iterator迭代器: 生...原创 2020-03-17 21:56:55 · 191 阅读 · 0 评论 -
Python中生成器
1、定义通过列表生成式(列表推导式),我们可以直接创建一个列表,但是,受到内存的限制,列表容量是有限的,而且,创建一个包含100万元素的列表,不仅占用很大的内存空间。如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?那样就不必创建完整的list,从而节省大量的空间,在pyt...原创 2020-03-17 21:39:26 · 138 阅读 · 0 评论 -
Python中集合推导式 & 字典推导式
集合推导式和字典推导式类似列表推导式,首先可以参考Python中列表推导式集合推导式,在列表推导式的基础上添加了一个去重功能。#集合推导式: {} 类似列表,在列表推导式的基础上添加了一个去除重复项list1 = [1,3,5,6,1,3,2,4]set1 = {x for x in list1}print(set1)字典推导式,需要注意的是字典的元素用key:valu...原创 2020-03-17 19:36:29 · 198 阅读 · 0 评论 -
Python中列表推导式
1、简单定义理解:旧的列表通过相应的逻辑生成新的列表。列表推导式:格式:[表达式 for 变量 in 旧列表] 或者[表达式 for 变量 in 旧列表 if 条件]2、实例过滤掉长度小于或者等于3的人名。names = ['tom','jason','jack','ha','hey','lilala']result = [name for name in names if le...原创 2020-03-17 19:20:53 · 373 阅读 · 0 评论 -
Python中异常机制
1、语法错误和异常语法错误:写的时候发现问题异常:运行的时候发生错误示例:#异常def chu(a,b):sum = a/breturn sumprint(chu(1,0))#ZeroDivisionError: division by zero2、异常处理格式:try: 可能出现异常的代码except: 如果有异常执行的代码[fina...原创 2020-03-17 16:51:24 · 322 阅读 · 0 评论 -
复制文件夹(python中os模块应用)
1、文件夹中不含文件夹import os#一个文件里面含多个文件(不含文件夹)src_path = r'c:\p1'target_path = r'c:\p2'#封装成函数def copy(src,target): if os.path.isdir(src) and os.path.isdir(target): filelist = os.listdir(sr...原创 2020-03-16 23:18:47 · 1585 阅读 · 0 评论 -
Python中os模块
1、os.path中的函数isabs() 判断是否为绝对路径。isfile() 判断是否为文件。isdir() 判断是否为文件夹。dirname(_file_) 获取当前文件所在文件夹路径。abspath() 通过相对路径得到绝对路径。abspath() 获取当前文件得绝对路径。split() 分割文件夹路径和文件名splitext() 分割文件扩展名getsize() 获...原创 2020-03-16 23:11:49 · 75 阅读 · 0 评论 -
Python中文件操作
1、文件类型纯文本文件:只有文字。 对应open函数model参数为t。纯文本:图片、音乐、电影等。对应open函数model参数为b。2、文件的读取#文件的读取stream = open('aa.txt','rt') #返回值: stream(管道)container = stream.read() #读取管道中的内容print(container)#注意:如果传递的p...原创 2020-03-16 15:59:23 · 154 阅读 · 0 评论 -
Python中匿名函数及结合内置函数的应用
1、匿名函数作用:简化函数定义。格式:lambda 参数1,参数2:运算实例:# 1.简单例子s = lambda a,b: a+bprint(s(1,2))#输出结果为:3# 2.匿名函数作为参数def fun1(x,y,func): print(x,y) print(func) s = func(x,y) print(s)#调用fun1f...原创 2020-03-16 00:26:50 · 284 阅读 · 0 评论 -
Python中装饰器
1、简单定义装饰器:允许向一个现有的对象添加新的功能,同时又不改变其结构。(遵循开放封闭原则)特点:只要使用装饰器,就是拿函数地址作为参数。并且要有闭包的特点。2、单层装饰函数(不带参数)#定义一个装饰器def decorate(func): def wrapper(): func() print('---刷漆---') print...原创 2020-03-15 22:17:44 · 110 阅读 · 0 评论 -
Python中内部函数 & 闭包
1、内部函数def func(): # 声明变量 n = 100 list1 = [1,2,3,4] #声明内部函数 def inner_fnc(): #对列表list1里面的元素进行加5操作 for index,i in enumerate(list1): nonlocal n ...原创 2020-03-15 11:28:40 · 138 阅读 · 0 评论 -
Python中函数的用法
1、简单定义必须使用关键字 def函数体注意缩进函数名与()需绑定应用:将重复的代码封装到函数,增强代码模块化print(函数名),输出的结果为函数地址。2、函数之可变参数def add(*args): print(args)add() #输出结果空元组()add(1) #输出结果为(1)add(1,2) # 输出结果为 (1,2)add(1,2,4) #输出结果...原创 2020-03-14 23:49:51 · 523 阅读 · 1 评论 -
Python中可变与不可变类型
不可变类型:int 、str 、float 、元组a = 1print(id(a))a = 2print(id(a))#两次删除的结果不一样注: 由于两地址不一样,则表示不在原地址上修改,而是开辟了新空间。可变类型: 字典(dict) 、 列表(list)可变类型是在原地址上做修改。...原创 2020-03-13 23:30:31 · 98 阅读 · 0 评论 -
Python中集合的用法
1、简单定义关键字:set特点:元素无序、不重复(重点在不重复)集合声明:# 第一种s1 = set()#第二种s1 = {} #可以是字典,也可以是集合应用:如何将一个列表快速去重list1 = [1,4,3,5,3,2,1,4]s3 = set(list1)print(s3)#输出结果为:{1,4,3,5,2}2、增、删、查、改增加,主要...原创 2020-03-13 23:24:20 · 127 阅读 · 0 评论 -
Python中字典的用法
1、字典简单定义符号 : {}关键字: dict保存元素: key:valuekey :valuekey:value常常用于描述一个实体。2、元组转换为字典只有[(key_1,value_1),(key_2,value_2),…,(key_n,value_n)]格式才能将元组转成字典。dict1 = dict(dict[('name','lucky'),('age',18)])...原创 2020-03-13 22:53:40 · 590 阅读 · 0 评论 -
Python中元组的用法
1、元组简单定义类似列表,当成容器使用定义的符号为:()元组中内容不可修改(不可增、删、改)关键字为:tuple2、查询跟字符串查询一样,详见: 字符串中 [ ] & [ : ] & [ : : ]3、求最值和总和跟求列表最值和总和一样的,都是使用系统函数max()、min()、sum()。可以参考:python中列表的用法4、列表转元组list1 = [1...原创 2020-03-13 22:05:24 · 294 阅读 · 0 评论 -
python中列表的用法
1、简单定义list 表 : 容器,可以存放多个字符串、数值、列表等类型值。2、增、删、改和查改brands = ['hp','dell','thinkpad','mac','神舟']brands[-1] = 'HASEE'print(brands)#输出结果为: ['hp','dell','thinkpad','mac','HASEE']删主要有系统函数del 和 列...原创 2020-03-13 08:58:35 · 248 阅读 · 0 评论 -
Python的字符串常用内置函数
1、何谓字符串内建函数只要创建了字符串,就默认可以调用内建函数(系统准备的一些函数)。2、与大小写相关主要的函数有capitalize() 、title() 、upper() 、lower()等capitalize() :将字符串第一个字母变大写message = 'you are a beautiful girl!'msg = message.capitalize()print...原创 2020-03-12 19:09:18 · 469 阅读 · 0 评论 -
字符串中 [ ] & [ : ] & [ : : ]
1、[ ]字母与下标对应表:Jason01234-5-4-3-2-1name = 'Jason'print(name[1])#输出结果为'a'通过[ ]可以结合位置获取字母,特点:只能获取一个字母。2、[ : ]eg1:name = 'Jason'print(name[1:3])#输出结果为:'as'注: 包前不包后。...原创 2020-03-11 22:31:17 · 164 阅读 · 0 评论 -
判断语句 & 循环语句 & range() & pass & 跳转语句
1、判断语句if ____: 语句elif ____: 语句else: 语句2、for循环for 变量名 in 集合: 语句3、range()函数range(n) 表示 0 ~ (n-1)的整数集合range(m,n) 表示 m ~ (n-1) 的整数集合4、passpass:表示空语句,只要有缩进而缩进的内容还不确定的时候,此时为了保证语法的正确性,就可以使用pa...原创 2020-03-11 21:16:36 · 278 阅读 · 0 评论 -
运算符(Operator)
1、算术运算符常见的算术运算符如: + (加),-(减),*(乘),/(除),%(取余)等。需注意的是:a ** b = aba^bab (a的b次幂)// 表示整除/ 除法(结果可含小数点)% 取余(求模)2、关系运算符常见的关系运算符如: >=、> 、== 、<、 <=、 is 、is notis/ is not 需注意:is/is no...原创 2020-03-11 13:00:02 · 326 阅读 · 0 评论