![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python基础
simple1_6
会的不一定不忘。
展开
-
Pyhton 字典 dict 和 set
不变对象dict(字典)和 setdict:1. dict基本用法2.dict如何避免key不存在编译3.将两个列表组合成一个字典4.字典有序排列--模块:`OrdereDict`5. 先进先出dictset基本用法原创 2017-12-19 22:52:19 · 257 阅读 · 0 评论 -
python 线程 Thread
启动线程- threading将函数传入并创建Thread实例,然后调用start()threading.Thread(group=None,target=None,name=None,args=(),kwsrgs{})group为None被保留用来未来实现ThreadGroup类的扩展target为被run()``方法调用的对象。默认为None`,表示不调用任何东西。n...原创 2018-04-09 11:59:24 · 239 阅读 · 0 评论 -
python urllib
urlopen()方法 urlib.urlopen(url[,data[,proxies]]):创建一个表示远程url的类文件对象,然后就相当于本地的文件对象,可以来获取远程数据。 url表示远程数据的路径,一般为网址data表示已post请求提交到url的数据proxies表示设置代理urlopen返回一个类文件对象、方法:–read() 文件读操作/ reanline()...原创 2018-04-09 12:00:17 · 338 阅读 · 0 评论 -
python with
读写文件时使用with可以很好地避免文件读写出错或者是忘记写关闭文件的情况 例如,打开一个文件读写:f=open('F:\python\mytest\mytest\.idea\contextlib_code.py')f.read()f.close()或者是:try: f=open('F:\python\mytest\mytest\.idea\contextlib_...原创 2018-04-09 12:01:07 · 185 阅读 · 0 评论 -
python 序列化 pickle
序列化:把变量从内存中变为可储存或者可传输的过程叫做序列化,序列化之后就可将已序列化过的数据写入磁盘,或者通过网络传输到别的机器上。python中使用pickle进行序列化1.dumps()json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls...原创 2018-04-09 12:02:06 · 130 阅读 · 0 评论 -
python tuple和list
tuple创建一个元组:temp=(1,) #创建的元组只有一个元素,一定要加,不然会被默认为temp是整形更新一个元祖#!/usr/bin/env python3# -*- coding: utf-8 -*-classmates = ('Michael', 'Bob', 'Tracy') print('classmates =', classmates)...原创 2018-04-09 12:03:24 · 162 阅读 · 0 评论 -
python 摘要算法 hashlib
学习:廖雪峰python3教程概念:通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 类似一种加密的方法例如:>>> import hashlib>>> str1='I\'m zaq'>>> str1"I'm zaq">>> md5 = hashlib.md原创 2018-04-09 12:04:21 · 480 阅读 · 0 评论 -
python 随机数 random
python 中的random模块提供多种方法产生随机数或者一些需要随机的操作。 需要导入包:import random1. random.random:用于生成0到1的随机浮点数:0 <= n < 1.02. random.uniform:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a...原创 2018-05-26 14:18:08 · 572 阅读 · 0 评论 -
Python 高阶函数:map和reduce
map(函数,可迭代对象(Iterable)),作用是把可迭代的对象中的每一个原素作用在函数中,生成一个新的迭代器(Iterator)。例如: 将一个列表中的所有数字转化为为平方跟,并将其放在另外一个列表中。def f(x):x=x*xreturn xfirst=[1,2,3,4,5,6]second=map(f,first)for s in second:print(s)...原创 2018-04-01 22:34:34 · 143 阅读 · 0 评论 -
python 单元测试
单元测试就是对某一块代码编写测试代码,通过正确或者不正确的例子,检查被测代码编写的正确性。举例:'''一个获取学生姓名和成绩拍段学生等级的类 Student__init__ 定义属性tryError 检查输入的学生姓名和分数数据是否合理get_grade 根据成绩判断等级'''# -*- coding: utf-8 -*-class Student(object):...原创 2018-05-09 23:20:06 · 142 阅读 · 0 评论 -
python 使用文档注释来测试 doctest
在代码前加入注释,不仅用来测试,还可以用作示例代码。举个例子:# -*- coding: utf-8 -*-def fact(n):#加注释,可以在控制台时输入命令执行,但是不会在运行时执行 '''#这句只是解释 Calculate 1*2*...*n#当给函数fact,1时,他要返回1 >>> fact(1) 1 &g...原创 2018-05-09 23:21:30 · 802 阅读 · 0 评论 -
python IO 文档读写
文件读写分为如下几个步骤:打开文件:open(‘文件路径和文件名’,’参数’) 例如:打开一个路径为:F:\python\table.md 文件,只读,则代码为:f=open('F:\python\\table.md','r') 其中\一个是转义字符。调用读方法(read())或者写方法(write()):f.read( )使用close()关闭文件。 为了保证文件被成功关闭:使用...原创 2018-05-09 23:23:08 · 225 阅读 · 0 评论 -
python if __name__=='__main__'
python是脚本语言,其特性不像c/c++/java语言一样需要有一个入口编译器才能一步一步执行,他是动态语言,他的执行是从脚本的第一行开始,没有统一的入口。 所以为了让程序只执行我们想让他执行的代码,就有了:if __name=='__main__' 意思就是告诉编译器,你可以从这个模块开始执行。 看一段代码: file1.py:def func(): print('t...原创 2018-05-09 23:28:26 · 166 阅读 · 0 评论 -
python datetime 内建模块
python中处理时间和日期的标准库是datetime1. 获取当前时间首先导入模块:from datetime import datetime获取当前时间:now=datetime.now()打印:print(now)2. 获取指定日期和时间直接用参数构造一个时间:from datetime import datetimedt=datetime(201...原创 2018-05-09 23:30:42 · 150 阅读 · 0 评论 -
pycharm 使用文档注释定义参数类型
pycharm有一个会帮助检查参数类型的功能,大部分时候这个功能可以帮助code更加完善,但是一些时间,他不能识别我们想要给参数传递的类型,而导致编译不通过。 这个时候在确定自己已传参数类型正确时,可以使用文档注释法,定义参数类型。参考:使用文档来指定类型使用方法将光标置于需要指定的参数位置上,按下Alt+Enter,选择: Insert documentation strin...原创 2018-05-26 11:36:52 · 7569 阅读 · 0 评论 -
python yield 与 yield from
转载至:https://blog.csdn.net/chenbin520/article/details/78111399?locationNum=7&fps=1 1、yield使用 1)函数中使用yield,可以使函数变成生成器。一个函数如果是生成一个数组,就必须把数据存储在内存中,如果使用生成器,则在调用的时候才生成数据,可以节省内存。 2)生成器方法调用时,不会立即执行。需...转载 2018-05-27 09:29:35 · 377 阅读 · 0 评论 -
python 数据库 SQLite3
python 有一套自带的数据库API接口 SQLite 上代码:#导入驱动import os, sqlite3#创建一个cursor,我的理解是创建一个可以操作数据库的实例cursor=conn.cursor()#创建一个user表,使用的语法就是.execute('SQL 语法')#如果有数据库就连接,没有就创建一个然后再连接db_file = os.path.join...原创 2018-04-09 11:57:34 · 198 阅读 · 0 评论 -
python 正则表达式
[x] 1.基本匹配表达式(\d\s*+…)[x] 2. re基本函数(re.match/re.search)[x] 3. 全解匹配表达式(一个大列表)[x] 4.切分字符串[x] 5.分组[x] 6.贪婪匹配[x] 7.编译 正则表达式是用来匹配字符串的终极武器1.基本匹配表达式(\d\s*+…) 匹配值 表达式 数字 \d 字...原创 2018-04-09 11:55:41 · 198 阅读 · 0 评论 -
python socket
socket是一组用于网络编程的模块,意思就是两个端点程序之间的信息通道。 要建立一个信息通道一般至少需要一个服务器和一个客户端。sequenceDiagram participant 客户端 participant 服务器 服务器->>客户端:创建scoket,监听 客户端-->>服务器:连接,完成事务,断开连接1. ...原创 2018-04-09 11:53:56 · 135 阅读 · 0 评论 -
python 非IDE debug
两种非ide debug方法1.在python解释器中使用:$ python -m pdb my_script.py2. pdb.set_trace()原创 2017-12-19 22:56:39 · 230 阅读 · 0 评论 -
python 错误处理 assert
Python assert原创 2017-12-19 23:01:36 · 10394 阅读 · 1 评论 -
Python format 格式化函数 转载菜鸟教程
Python format格式化函数转载 2017-12-18 22:09:13 · 2434 阅读 · 1 评论 -
Python 装饰器简单介绍
装饰器定义:作用在代码运行期间动态的增加功能。本质上是返回函数的高阶函数。#一个已有的代码def Hello(): print(' Word!')函数对象中,可以拿到函数名字的一个属性是:__name__注意这里是前后两个下划线:._ _name_ _(我将中间放一个空格为了方便看清楚,实际使用时不用中间的空格)>>> Hello.__name__'Hello...原创 2018-02-11 10:06:01 · 139 阅读 · 0 评论 -
python filter 过滤序列
Python内建的filter()函数用于过滤序列。 filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素1.求素数的例子: ①先构造一个从3开始的奇数序列:def _odd_iter(): n = 1 while True: n = n + 2 yield n②定义一个筛选...原创 2018-02-11 10:39:23 · 470 阅读 · 0 评论 -
python map出错:map object at 0x0000000002B35588
这是因为在map中不能传入非iterators的参数。 例如一个出错的代码:def str2float(s): def char2num(s): return{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5,'6': 6, '7': 7, '8': 8, '9': 9 }[s]print(s) return ...原创 2018-02-11 10:50:33 · 2030 阅读 · 0 评论 -
python nonlocal/global ---内部作用域中改变外部变量
nonlocal,作用:使外层函数中的变量能被内层函数中被查找到,使用,或更改。 global,作用:在外层函数中使用和改变全局变量原因:在python中,局部作用域里面的代码可以读取外部作用域(包括全局作用域)的变量,但是规定一般情况不能更改外部作用域的变量的值。一旦更改,会报错。为改变这种状态,引入关键字:nonlocal。 例如: 1.用全局变量,在内层函数中修改值,不使用nonl...原创 2018-02-11 10:59:35 · 1020 阅读 · 3 评论 -
python 动态绑定方法 MethodType()
动态绑定方法 MethodType()在动态语言中,有一种方法可以使类或者实例在没有方法或者没有想要的方法时,动态的加上一个方法。使用的就是 MethodType()其使用方法是:form types import MethodType需要绑定的类或实例.需要被绑定的方法=MethodType(方法名,类名/属性名)1.绑定方法到实例中class Student (o...原创 2018-02-11 11:15:15 · 1797 阅读 · 0 评论 -
python 动态建立类 type()
动态建立类1. type()使用方法:类名=type(类名,继承的父类集合)使用type()创建出mood类,无需定义class mood(object):>>> def now(who): #创建一个方法 print('anxious') #使用type动态创建一个类 ...原创 2018-02-11 11:16:37 · 1126 阅读 · 1 评论 -
python 使用@propety 装饰器将一个方法变成属性
使用@property 改变get和set方法–>属性'''使用@propety 装饰器将一个方法变成属性'''# -*- coding: utf-8 -*-class Screen(object): @property def width(self): return self._width @width.setter ...原创 2018-02-11 11:17:48 · 347 阅读 · 0 评论 -
python 使用原有函数构建新函数(偏函数)
偏函数 —>functools.partial相当于自己使用已有的函数,将其某一个参数的值,或者自己需要固定的值,固定在一个新的函数中,从而构造一个新的函数出来。借用廖雪峰的例子,原文:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184474...原创 2018-02-11 11:28:59 · 276 阅读 · 0 评论 -
python 装饰器 运行时动态增加功能
装饰器定义:在不改变原有函数的情况下,增加额外的功能。其返回值也是一个python函数。装饰函数,用于在已经定义好的某一个函数(或代码段)使用时,输入或者操作自己想要的数据。#一个已有的代码:def Hello(): print(' Word!')函数对象中,可以拿到函数名字的一个属性是:__name__ 注意这里是前后两个下划线:._ _name_ _(我将中间放...原创 2018-02-11 11:30:57 · 1462 阅读 · 0 评论 -
Python 匿名函数 lambda
python为了能够足够简单,其有一种机制是不用告诉解释器函数的名字是什么。就是匿名函数 —lambda lambda只能封装有限的模块进去。且其有自己的名字空间,不能访问参数列表之外和全局命名空间的参数。 语法:lambda [arg1 [,arg2,.....argn]]:expressionlambda [参数]:表达式例如:#!/usr/bin/env pyth...原创 2018-03-07 21:43:21 · 194 阅读 · 0 评论 -
Python 函数的参数
python作为一个动态语言其函数的参数也很“动态”。参数可能有的情况:必选参数、默认参数、可变参数、关键字参数、命名关键字参数function(a,b=1,*c,**d,*,e)1.位置参数(正常传参)就是固定的参数,函数中定义多少个参数,调用函数的时候后就传递多好个参数。 例如:# 位置参数def power(x,n): num=0 wh...原创 2018-03-05 23:07:57 · 1500 阅读 · 1 评论 -
Python yield
yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator,调用 fab(5) 不会执行 fab 函数,而是返回一个 iterable 对象!在 for 循环执行时,每次循环都会执行 fab 函数内部的代码,执行到 yield b 时,fab 函数就返回一个迭代值,下次迭代时,代码从 yield ...原创 2018-04-09 11:52:30 · 100 阅读 · 0 评论 -
logging模块
快速入门基础知识日志的作用是跟踪,django项目中不可缺少。派出:控制台输出:print()报告事件,发生在一个程序的正常运行:logging.info() 或 logging.debug()发出警告关于一个特定的运行时事件:warnings.warn() 或 logging.warning()报告一个错误对于一个特定的运行时事件:异常处理报告一个错误当没有引发...转载 2018-06-05 15:59:57 · 122 阅读 · 0 评论