python 练习 17】的更多相关文章

十七. Python基础(17)--正则表达式 1 ● 正则表达式 定义: Regular expressions are sets of symbols that you can use to create searches for finding and replacing patterns of text. 零宽断言(zero width assertion): 零宽断言--不是去匹配字符串文本,而是去匹配位置(开头, 结尾也是位置). 常见的: ① 起始位置^(单行)和/A(多行), ②…
python day 17 UML:unified modeling languages,是一种基于面向对象的可视化建模语言. 画图语言:画图要合理.即符合逻辑. 历史: 3.1. 软件功能越来越强大,导致不可维护性,出现了软件危机,国际组织,召集了50个顶尖程序员解决这个问题. 3.2. 软件工程:用工程学的方法论来指导软件开发,目的是来解决软件危机. 3.3. 按照工程学的角度,最重要的一步就是建模. 3.4. 建模:建立模型.图纸+沙盘.模型分为很多种角度. 3.5. 在中国,软件的大多数…
17.1 Object-oriented featuresPython is an object-oriented programming language, which means that it provides features that support object-oriented programming.It is not easy to define object-oriented programming, but we have already seen some of its…
#!/usr/bin/python # -*- coding: UTF-8 -*- f1 = 1 f2 = 1 for i in range(1,21): print '%12d %12d' % (f1,f2) if (i % 2) == 0: print '' f1 = f1 + f2 f2 = f1 + f2…
每天一点linux命令:新建文件夹…
实际开发中,我们会经常用到数据库. Python里对数据库的操作API都很统一. SQLite SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成. Python内置了sqlite3. #coding:utf-8 import sqlite3 conn = sqlite3.connect('test.db') cursor = conn.cursor() # sql…
线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 进程 fork调用 通过fork()系统调用,就可以生成一个子进程. 下面先了解下关于fork()的相关知识: Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊.普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回. 子进程永…
1.random模块(取随机数模块) # 取随机小数 : 数学计算 import random print(random.random())# 取0-1之间的小数 print(random.uniform(1,2))# 取1-2之间的小数 # 取随机整数 : 彩票 抽奖 import random print(random.randint(1,2)) #头和尾都取得到 print(random.randrange(1,2)) # 取不到尾部 print(random.randrange(1,20…
os 1.作用: 因为客户基本都是使用不同的操作系统,在不同的系统下,要完成一个项目,那必须跨平台操作,而python本来就是一个跨平台的语言,而有了os模块,则不需要在意什么系统.并且os模块是用于文件/目录的操作,在很多时候,我们需要对磁盘上的目录或者文件进行操作,如果手动操作那么就已经违背我们的宗旨了,要开发就整个过程都开发,整个过程都自动化完成,所以,os模块在这里作用很大 2.函数: 老规矩,还是只讲解常用函数: os.listdir(dirname):列出dirname下的目录和文件…
平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面.那么怎么访问自己创建的页面呢? 因为django是类MVC的开发模式.这里面就涉及到配置URL的问题.创建一个自己的APP(也可以称为一个模块),包含的文件内容如下图: 然后需要在setting.py的文件INSTALLED_APPS中注册新创建的App: 新创建项目的默认url配置如下: fro…
http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过程抽象和数据抽象.过程抽象有时也称控制抽象. 子程序在1950年以前就发明了,作为一种抽象那时候并未被完全接受.相反,最初它被看做是一种节省代码的机制,但很快子程序就被认可为过程抽象的一种方式.意识到子程序…
绑定和方法调用现在我们需要再次阐述Python中绑定(binding)的概念,它主要与方法调用相关联.方法是类内部定义的函数,这意味着方法是类属性而不是实例属性.其次,方法只有在其所属的类拥有实例时,才能被调用.当存在一个实例时,方法才被认为是绑定到那个实例了,没有实例时,方法就是未绑定的.任何一个方法定义中都有一个参数是变量self.它表示调用此方法的实例对象. 核心笔记:self变量用于在类实例方法中引用方法所绑定的实例.方法的实例在任何方法调用中总是作为第一参数传递的,self代表方法的实…
类:一类事物的抽象化.概念: 类的变量(属于类的变量,定义在类的开始处)  成员变量(self.变量) 类的方法( @classmethod,cls参数)   成员方法( self参数 )  静态方法(@staticmethod ) 私有变量 私有方法 (__打头的变量或方法,外部不可调用.类定义内部可调用) 对象:类的实例化,调用构造函数__init__() #coding:utf-8 #/usr/bin/python """ 2018-11-17 dinghanhua 类…
一.继承的顺序 1.在python中的类可以集成多个类,既然是继承多个类就有类的寻找顺序这么一说.其寻找方法就有广度优先和深度优先两种. 2.当类是新式类,多继承的情况下会按照广度优先的顺序查找. 如图: 当H这个类是新式类也就是说它的父类中有object这个类,那么他要查找某个属性,会先从自己的类中查找,如果没有再查找父类的,查找顺序为:H->E->B->F->C->G->D->A.注意父类A是最后查找的,所以说他是广度优先. 当H这个类是经典类也就是说它的父类…
什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象:实现了迭代器协议的对象(如何实现:对象内部定义一个__iter__()方法) 3.协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具(如for循环,sum,min,max函数等)使用迭代器协议访问对象. #序列类型 字符串,列表,元组都有下标,你用上述的方式访问 #非序列类型 字典…
一.名称空间 名称空间有内置名称空间,全局名称空间,局部名称空间.它是用来存放名字与值对应关系的地方. test.py文件: num = 10 def fn(): print("fn run") def func(): a = 10 print(locals()) # 以字典类型返回当前位置的全部局部变量{'a': 10} func() print(func.__dict__) # {} a = 10 # print(a.__dict__) # 'int' object has no…
1. 类命名空间 在类的代码中,当python 解释器在 运行的那一刻.就会在内存中开辟一个类空间,在类的空间中会加载静态变量,以及类方法的内存地址. 当类名+()(也就是实例化过程中),内存中会再次开辟一个实例(对象)的空间,此时该对象空间中生成一个类对象指针,类对象指针指向 类空间.然后自动执行_ _init_ _的方法,将此方法中的属性添加到对象空间中. 查询顺序 如何计数实例化对象的数量. 2.组合 组合是给一个类的对象封装一个属性,这个属性是另一个类的对象. 版本一:虽然能实现功能,但…
前言 相信大家小时候都玩过神奇的乐高积木, 只要通过想象力和创造力我们可以拼凑很多神奇的东西,那么随着我们学习的深入,我们编写的Python代码也将日益增加,并且也越来越复杂, 所以呢,我们需要找寻一种方法,对这些复杂的方法进行重新的组织,目的就是为了使代码的逻辑更加简单易懂. 我们说了,优秀的东西永远是经典的,而经典的东西永远是简单的,不是说复杂不好,而是复杂的东西简单化,而之就会成为经典.为了实现我们的程序代码更加的简单,我们要学着把程序成为越来越小组成部分,在这里呢,小甲鱼会教大家三种方法…
这两天 有小伙伴问小帅b 为什么我爬取 xx 网站的时候 不返回给我数据 而且还甩一句话给我 “系统检测到您频繁访问,请稍后再来” 小帅b看了一下他的代码 ): requests.get(url) 瞬间震惊了 这就感觉 被连续 fxxk 了 1w 次 你说对方受得了? 不封你 IP 封谁? 要会伪装 要想想看 人是怎么访问网站的 这次我们来说说伪装 Header 那么 接下来就是 学习python的正确姿势 当你要去爬取某个网站的数据的时候 你要想想看 如果是别人爬取你的数据 你会做什么操作 你…
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变量基础操作 小白学 Python(5):基础运算符(上) 小白学 Python(6):基础运算符(下) 小白学 Python(7):基础流程控制(上) 小白学 Python(8):基础流程控制(下) 小白学 Python(9):基础数据结构(列表)(上) 小白学 Python(10):基础数据结构(…
1. 正则表达式 1.1 正则表达式是什么 正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 一说规则我已经知道你很晕了,现在就让我们先来看一些实际的应用.在线测试工具 http://tool.chinaz.com/regex/ 首先你要知道的是,谈到正则,就只和字符串相关了.在我给你提供的工…
目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.split()方法 @3.join()方法 @4.capitalize()方法 @5.title()方法 @6.lower()方法 @7.upper()方法 @8.lstrip()方法 @9.rstrip()方法 @10.strip()方法 @11.ljust()方法 @12.rjust()方法 @1…
一.CSS 1.概述 CSS(Cascading Style Sheets),层叠样式表,用来控制网页数据的表现,使网页的表现与数据内容分离. 2.引入方式 (1)行内式 <body> <div style="color: chartreuse;background-color: bisque">Hello,world!</div> </body> (2)嵌入式 <!DOCTYPE html> <html lang=&q…
先说一下IO发生时涉及的对象和步骤.对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的process (or thread),另一个就是系统内核(kernel).当一个read操作发生时,该操作会经历两个阶段: 1)等待数据准备 (Waiting for the data to be ready) 2)将数据从内核拷贝到进程中(Copying the data from the kernel to the process) 阻塞IO(block…
错误是多种多样的,在 except 语句中,可以捕获指定的异常 修改代码如下: import io path = r'' mode = 'w' try: file = open(path,mode) str = file.read() print(str) except FileNotFoundError as e: print(e) except io.UnsupportedOperation as e: print(e) finally: print('end') 那么,现在只有在 path…
10 Minutes to pandas Concat df = pd.DataFrame(np.random.randn(10, 4)) print(df) # break it into pieces pieces = [df[:3], df[3:7], df[7:]] print(pd.concat(pieces)) # 0 1 2 3 # 0 0.879526 -1.417311 -1.309299 0.287933 # 1 -1.194092 1.237536 -0.375177 -0…
写出来的代码,若有部分不想运行,可注释掉. 看跑出来的结果,再加进来调试.…
# 1. 选择嵌套列表里的元素(内部进行了for循环) li = [1,2,",45]],"abc",True] a = li[3][2][1] print(a) 运行结果: 45 Process finished with exit code 0 #2. 字符串转换列表 a = "iamchinese" b =list(a) print(b) 运行结果: ['i', 'a', 'm', 'c', 'h', 'i', 'n', 'e', 's', 'e']…
Calendar-2017年微信步数情况 import datetime import random from pyecharts import options as opts from pyecharts.charts import Calendar begin = datetime.date(2017, 1, 1) end = datetime.date(2017, 12, 31) data = [ [str(begin + datetime.timedelta(days=i)), rand…
1.今日内容 迭代器(3*) 生成器(4*) 装饰器(5*) 项目结构 logging模块 2.内容回顾 & 作业 2.1 内容回顾 2.1.1 函数(内置/自定义) 基本函数结构 def func(a1,a2): pass 参数 返回值 执行函数 函数小高级 函数做变量 函数做参数 函数中高级 函数做返回值 函数的嵌套 装饰器 & 闭包 递归 匿名函数 内置函数 2.1.2 模块(内置/第三方/自定义) 定义模块 内置:time/json/datetime/os/sys ... [re模…