Python学习过程笔记整理(四)】的更多相关文章

变量作用域 -分类 -全局(global):在函数外部定义:整个全局范围都有效 -局部(local):在函数内部定义:仅在局部范围有效 -提升局部变量为全局变量 -使用global -globals,locals内建函数 a = 1 b = 2 def fun(a,b): c = 3 print("Locals = {0}".format(locals())) print("Globals = {0}".format(globals())) #打印的不仅是a,b,还…
字符串是一个有序的字符集合,用于存储和表现基于文本的信息. 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3="""...""" 三重引号块 T4=r'\temp\diege' Raw字符串 抑制(取消)转义,完全打印\tmp\diege,而没有制表符 T5=u’diege' Unicode字符串 T1+T2     合并 T1*3    重复 T2[i]    索引 T2[i:j] 分片…
编码方式 -Utf8编码方式:# -*- coding: utf-8 -*- 注释 -行注释 # -块注释 '''...'''或"""...""" 基础语法 -print()输出默认换行,不换行需要末尾加end="" print("A",end="") print("B") -input()输入 something = input("请输入一些文字:&quo…
程序三大结构 -顺序 -分支 -循环 分支 -语法: if 条件表达式: 语句 ... -双向分支 if 条件表达式: 语句 ... else: 语句 ... -多路分支 if 条件表达式: 语句 ... elif 条件表达式: 语句 ... else 条件表达式: 语句 ... -elif可以多个,else可有可无 -python没有switch...case 循环 -for循环 for 变量 in 序列: 语句 ... for 变量1变量2 ... in多层序列: 语句 ... -range…
函数 -函数使用 -函数需要先定义,定义不会执行函数 -使用函数,俗称调用 -定义函数 -格式:def 函数名称(参数=默认值):,函数名称不能用大驼峰,参数可以没有 -调用函数 -格式:函数名(参数) -函数参数和返回值 -参数:给函数传递一些必要的数据或信息 -形参(形式参数):定义函数时的参数 -实参(实际参数):调用函数时的参数 -实参传递值给形参,本质是普通的变量赋值.有默认值的函数,调用时优先使用实参传递的值,没有传递值的情况下使用默认值 -返回值:函数的执行结果 -使用return…
高阶函数(Higher-order function) Input: 1 abs Output: 1 <function abs> Input: 1 abs(-10) Output: 1 10 abs是函数本书,abs(-10)是函数调用 Input: 12 f = absf Output: 1 <function abs> 变量可以指向函数 Input: 1 f(-10) Output: 1 10 函数名也是变量 函数名其实就是指向函数的变量,对于abs()这个函数,完全可以把a…
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返回元素个数 d[key] Return the item of d with key key. Raises a KeyError if key is not in the map. If a subclass of dict defines a method _missing_() and key…
Python学习笔记(四) 作业讲解 编码和解码 1. 作业讲解 重复代码瘦身 # 定义地图 nav = {'省略'} # 现在所处的层 current_layer = nav # 记录你去过的地方 parent_list = [] # 是否结束循环 not_quit = True while not_quit: for i in current_layer: print(i) print("输入对应项进入 | 输入 b 返回上一层 | 输入 q 退出") choice = input…
python学习整理笔记--集合 set 集合的用途:成员测试和消除重复的条目,进行集合运算 注意:花括号或set()函数可以用于创建集合. 注意:若要创建一个空的集合你必须使用set(),不能用{}:{}将创建一个空的字典 运算与用法 并集 a | b # letters in either a or b 交集 a & b # letters in both a and b 减 a - b # letters in a but not in b 对称 a ^ b # letters in a…
首先自我批评一下,说好的一天写一篇博客,结果不到两天,就没有坚持了,发现自己做什么事情都没有毅力啊!不能持之以恒.但是,这次一定要从写博客开始来改掉自己的一个坏习惯. 可是写博客又该写点什么呢? 反正是写给自己看的,就从梳理知识点开始吧,想想自己用python也有几年时间了,可是python相关的书籍就没有正儿八经地看过一本,相关知识点也不牢靠,经常遇到很多基础问题也要google一下, 导致自己平时工作效率也比较低,是时候好好整理一下了. <python核心编程>一直是我想看的一本书,打算趁…
一.变量赋值及命名规则① 声明一个变量及赋值 #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi name1="solo" name2=name1 print(name1,name2) name1 = "hehe" print(name1,name2) #name1的值为hehe,name2的值为solo ② 变量命名的规则 1.变量名只能是 字母.数字或下划线的任意组合 2.变量名的第一个字符…
一.map/reduce map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次 作用到序列的每个元素,并把结果作为新的Iterator返回. reduce reduce把 结果 继续 和序列 的 下一个元素 做 累积计算 str ===> int filter() Python内建的 filter()函数用于过滤序列. filter():接收一个函数和一个序列.和map()不同的是,filter()把传入的函数依次作用于每个元素,然后 根据返回值是Tru…
 一.Web框架概述  Web框架本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python # -*- coding:utf-8 -*- # _author_soloLi import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n".encode("utf-8&q…
Python 文档学习笔记2 数据结构--元组和序列 元组 元组在输出时总是有括号的 元组输入时可能没有括号 元组是不可变的 通过分拆(参阅本节后面的内容)或索引访问(如果是namedtuples,甚至可以通过属性) 特例(仅含0,1个元素) >>> empty = () >>> singleton = 'hello', # <-- note trailing comma >>> len(empty) 0 >>> len(sin…
Python 文档学习笔记 数据结构--列表 列表的方法 添加 list.append(x) 添加元素 添加一个元素到列表的末尾:相当于a[len(a):] = [x] list.extend(L) 并入一个列表 将指定列表中的所有元素附加到另一个列表的末尾:相当于a[len(a):] = L list.insert(i,x) 指定位置i插入一个元素x 在给定位置插入一个元素.第一个参数是插入的元素的索引,所以 a.insert(0, x) 在列表的最前面插入,a.insert(len(a),…
列表和字段,这两种类型几乎是Python所有脚本的主要工作组件.他们都可以在原处进行修改,可以按需求增加或缩短,而且包含任何种类的对象或者被嵌套. 一.列表 列表的主要属性: *任意对象的有序集合 从功能上看,列表就是收集其他对象的地方,可以把它看作组.列表所包含每一项都保持了从左到右的位置顺序(它们是序列) *通过偏移读取 和字符串一样,可以通过列表对象的偏移对其进行索引,从而读取对象的某一部分内容.可以自行分片和合并之类的任务. *可变长度,异构以及任意嵌套 列表可以实地增长或者缩短,并且可…
一.异常基础 try/except:捕捉由代码中的异常并恢复,匹配except里面的错误,并自行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常后,不会中断程序,继续执行try语句后面的程序) try/finally: 无论异常是否发生,都执行清理行为 (发生异常时程序会中断程序,只不过会执行finally后的代码) raise: 手动在代码中接触发异常. assert: 有条件地在程序代码中触发异常. with/as 在Python2.6和后续版本中实现环境管理器…
while语句,提供了编写通用循环的一种方法,而for语句是用来遍历序列对象内的元素,并对每个元素运行一个代码块.break,continue用在循环内,跳出整个循环或者跳出一次循环. 一.while循环 1.一般格式 格式:首行以及测试表达式,有一列或多列缩进语句的主体以及一个选用的else部分(控制权离开循环时而没有碰到break语句时会执行) python会一直计算开投的测试,然后执行循环主体内的语句,直到测试返回假值为止. while <test>:     <statement…
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要用到的字符进行了编码 GB2312->GBK->CP936 用2个字节表示中文 Unicode 常用指定方法 #coding=utf-8 #coding:GBK #-*-coding:utf-8-*- 2.x与3.x区别 2.x没有很好的支持,len(中文)=2或3 3.x很好的支持了,len(中…
一.Memcached1.简介Memcached 是一个高性能的分布式内存对象缓存系统,一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性.用来存储小块的任意数据(字符串.对象).比如:数据库调用.API调用或者是页面渲染的结果. 2.本质它是一个简洁的key-value存储系统.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 3.特征 ①协议简单 ②基于libevent的事…
一.HTML HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记).相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器根据标记语言的规则去解释它. 浏览器负责将标签翻译成用户"看得懂"的格式,呈现给用户!(例:djangomoan模版引擎) 翻译成人话:一套规则,浏览器认识的规则. 标准模板: <!DOCTYPE html> #标准规范 <html lang="en&q…
一.动态语言与静态语言 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C#.JavaScript.PHP.Python.Erlang 1.2 动态类型语言 在运行期间检查数据类型的语言 数据类型不是在编译阶段决定的,而是把类型绑定延后到了运行阶段 常见的动态类型语言:Python.Ruby.Erlang.JavaScript.swift.PHP.Perl 1.3 强类型…
一.tuple(元组) tuple和list非常类似,但是tuple一旦初始化就不能修改,如: classmates = ('Michael', 'Bob', 'Tracy') 1 classmates这个tuple不能变了,它也没有append(),insert()这样的方法.其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素 不可变的tuple有什么意义?因为tuple不可变,所以代码更安全.如果可能,能用t…
(一) Test Suite测试套件 一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行. 应用unittest的TestSuites特性,可以将不同的测试组成一个逻辑组,然后设置统一的测试套件,并通过一个命令来执行测试.这都是通过TestSuites.TestLoader和TestRunn类来实现的. (二) 类级别的setUp()方法和tearDown()方法 使用setUpClass()方法和tearDownClass…
收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上.收取邮件最常用的协议是POP协议,目前版本号是3,俗称POP3. Python内置一个poplib模块,实现了POP3协议,可以直接用来收邮件. 注意到POP3协议收取的不是一个已经可以阅读的邮件本身,而是邮件的原始文本,这和SMTP协议很像,SMTP发送的也是经过编码后的一大段文本. 要把POP3收取的文本变成可以阅读的邮件,还需要用email模块提供的各种类来解析原始文本,变成可阅读的邮件对象. 所以,收取邮件分…
一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 二.使用函数的好处: 1.简化代码 2.提高代码的复用性 3.代码可扩展 三…
一.模块简介 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 导入模块 import module #导入模块 from module import fun as fun_ct #导入模块中的方法起别名 from module import * #导入模块中所有方法,慎用 from module import fun1,fun2,fun3 #导入模块中多个方法 模块分类: 标准库:python内置的 pytho…
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 一开始是没有打算写工具这篇的,后来发现在某些情况下会遇到一些奇怪的问题,这里记录一下. 环境基础我是用的是windows 10操作系统python版本:python2.7  地址-->https://www.python.org/downloads/ Sublime Text3:地址-->https://www.sublimetext.com/ 安装python的坑:直…
 一.中间件  中间件是一类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法:在django项目的settings模块中,有一个 MIDDLEWARE 变量,其中每一个元素就是一个中间件.# MIDDLEWARE = [# 'django.middleware.security.SecurityMiddleware',# 'django.contrib.sessions.middleware.SessionMiddleware',#              …
Model操作(一) 一.Django ORM基本配置 ORM:关系对象映射(Object Relational Mapping,简称ORM)db Frist:到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞:1.创建数据库,设计表结构和字段;2.使用 MySQLdb 来连接数据库,并编写数据访问层代码;3.业务逻辑层去调用数据访问层执行数据库操作.Code Frist:根据代码中定义的类来自动生成数据库表.django遵循此类原则. 1.修改project数据库配置(程序主目…