我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python复习笔记

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python复习笔记

#python复习笔记
<font color=blue>##基础</font>
<pre>
1.下划线(_)在解释器中有特别的含义,表示最后一个表达式的值。

<pre>
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>python
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on
n32
Type "help", "copyright", "credits" or "license" for more information.

print "hello world"
hello world

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '
' is not defined
mystring = "hello world"
print mystring
hello world
mystring
'hello world'<font color=red>
_
'hello world'</font>

</pre>

2.print语句也支持将输出重定向到文件。符号>>用来定向输出
<pre>

import sys
print >> sys.stderr, 'Fatal error: invalid input!'
Fatal error: invalid input!
print >> sys.stderr,'Fatal error: invalid input!'
Fatal error: invalid input!<font color=red>
logfile = open('D:/python_code/mylog.txt','a')
print >> logfile,'Fatal error: invalid input!'
logfile.close()</font>
</pre>
3.enumerate()函数
<pre>
In [4]: foo = 'abc'

In [5]: for i in range(len(foo)):
...: print foo[i],'(%d)'%i
...:
a (0)
b (1)
c (2)

In [6]: for i,ch in enumerate(foo):
...: print ch,'(%d)'%i
...:
a (0)
b (1)
c (2)

In [7]:
</pre>
4.列表解析
[运算式 参数列表 判断条件]
<pre>
In [7]: squared = [x**2 for x in range(4)]

In [8]: squared
Out[8]: [0, 1, 4, 9]

In [9]: sqdEvens = [x**2 for x in range(8) if not x%2]

In [10]: sqdEvens
Out[10]: [0, 4, 16, 36]

In [11]: sum = [x+y for x in range(3) for y in range(3) if x!=y]

In [12]: sum
Out[12]: [1, 2, 1, 3, 2, 3]

In [13]: sum2 = [x*y for x in range(3) for y in range(3) if x!=y]

In [14]: sum2
Out[14]: [0, 0, 0, 2, 0, 2]

</pre>
5.实用的内建函数
<pre>
dir([obj]) 显示对象的属性,如果没有提供参数,则显示全局变量的名字。
help([obj]) 以一种整齐美观的形式,显示对象的文档字符串,如果没有
提供任何参数,则会进入交互式帮助。
int(obj) 将一个对象转换为整型
len(obj) 返回对象的长度
open(fn,mode) 以mode('r'=读,'w'=写,'a'=追加)的方式打开一个文件名
为fn的文件。
range([[start,] stop[,step]])返回一个整型列表。起始值为start,
结束值为stop-1,start默认值为0,step默认值为1
raw_input(str)等待用户输入一个字符串,可以提供一个可选的参数
str用作提示信息。
str(obj) 将一个对象转换为字符串
type(obj) 返回对象的类型(返回值本身是一个type对象)
</pre>
</pre>
##语句和语法
<pre>
1.井号(#)表示之后的字符为python注释
2.换行(\n)是标准的行分隔符(通常一个语句一行)
3.反斜线()继续上一行
<pre>
有两种例外情况一个语句不使用反斜线也可以跨行。在使用闭合操作符时,
单一语句可以跨多行。
例如:在含有小括号、中括号、花括号时可以多行书写。
另外就是三引号包括下的字符串也可以跨行书写。
</pre>
4.分号(;)将两个语句连接在一行中
5.冒号(:)将代码块的头和体分开
6.语句(代码块)用缩进块的方式体现
7.不同的缩进深度分隔不同的代码块
8.python文件以模块的形式组织。
</pre>
##变量和内存管理
<pre>
<pre>
1.变量无需事先声明
2.变量无需指定类型
3.程序员不用关心内存管理
4.变量名会被"回收"
5.del语句能够直接释放资源
</pre>
<pre>
变量定义,变量生命可以在代码块的中间,不过仍然必须在变量
被使用前声明变量的名字和类型。
在Python中,无需此类显式变量声明语句,变量在第一次被赋值时自动声明。
和其他大多数语言一样,变量只有被创建和赋值后才能被使用。
</pre>
del语句
<pre>
del语句会删除对象的一个引用,它的语法如下:
del obj1[,obj2[,...objN]]
del会删除当前对象的引用,将引用计数器减1,如果引用计数器为0
则会导致该对象从此无法访问或无法抵达,从此刻起,该对象就成为垃圾回收机制的回收对象。
注意任何追踪或调试程序会给一个对象增加一个额外的引用,这会推迟
该对象被回收的时间。
</pre>
垃圾收集
<pre>
不再使用的内存会被一种称为垃圾收集的机制释放。虽然解释器跟踪对象
的引用计数,但垃圾收集器负责释放内存。垃圾收集器是一块独立代码,
它用来寻找引用计数为0的对象。它也负责检查那些虽然引用计数大于0
但也应该被销毁的对象。特定情形会导致循环引用。
一个循环引用发生在当你有至少两个对象互相引用时,也就是说所有
的引用都消失时,这些引用仍然存在,这说明只靠引用计数是不够的。
python的垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器。
当一个对象的引用计数变为0,解释器会暂停,释放掉这个对象和仅有这个对象可访问(可到达)的其他对象。作为引用计数的补充,垃圾收集器也会
留心被分配的总量很大的(及未通过引用计数销毁的那些)对象。
在这种情况下,解释器会暂停下来,试图清理所有未引用的循环。
</pre>
</pre>
##序列
<pre>
切片
<pre>
In [52]: s = 'abcde'

In [53]: i = -1

In [54]: for i in range(-1,-len(s),-1):
...: print s[:i]
...:
abcd
abc
ab
a

In [55]: s = 'abcde'

In [56]: for i in [None] + range(-1,-len(s),-1):
...: print s[:i]
...:
abcde
abcd
abc
ab
a

使用None作为索引值,这样一来就可以满足你的需要,比如说,在你
想用一个变量作为索引来从第一个到遍历最后一个元素的时候。

In [57]: for i in [None].extend(range(-1,-len(s),-1)):
...: print s[:i]
...:

TypeError Traceback (most recent call last)
<ipython-input-57-e791611ff738> in <module>()
----> 1 for i in [None].extend(range(-1,-len(s),-1)):
2 print s[:i]
3

TypeError: 'NoneType' object is not iterable
可变对象的内建函数extend()根本没有返回值,所以这个方法是行不通的。
这个错误发生的原因是[None].extend(...)函数返回None,None既不是
序列类型也不是可迭代对象。
在这种情况下使用上面提到的列表连接操作来实现是唯一不需要添加额外
代码的方法。
</pre>
</pre>
##字符串内建函数
<pre>

  1. string.capitalize() 把字符串的第一个字符大写
  2. string.center(width) 返回一个原字符串居中,并使用空格填充
    至长度width的新字符串
  3. string.count(str,beg=0,end=len(string)) 返回str在string
    里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数
  4. string.decode(encoding='UTF-8' errors='strict')
    以decoding指定的编码格式解码string,如果出错默认报一个ValueError的异常,
    除非errors指定的是'ignore'或者'replace'
  5. string.encode(encoding='UTF-8',errors='strict')
    以encoding指定的编码格式编码string,如果出错默认报一个ValueError的异常,
    除非errors指定的是'ignore'或者'replace'
  6. string.endswith(obj,beg=0,end=len(string))
    检查字符串是否是以obj结束,如果beg或者end指定则检查指定的范围
    内是否以obj结束,如果是,返回True,否则返回False.
  7. string.expandtabs(tabsize=8) 把字符串string中的tab符号
    转换为空格,默认的空格数tabsize是8
  8. string.find(str,beg=0,end=len(string)) 检测str是否包含
    在string中,如果beg和end指定范围,则检查是否包含在指定范围内,
    如果是返回开始的索引值,否则返回-1
  9. string.index(str,beg=0,end=len(string)) 跟find()方法一样,
    只不过如果str不在string中会报一个异常。
  10. string.isalnum() 如果string至少有一个字符并且所有字符
    都是字母或数字则返回True,否则返回False
  11. string.isalpha() 如果string至少有一个字符并且所有字符
    都是字母则返回True,否则返回False
  12. string.isdecimal() 如果string只包含十进制数字则返回True
    否则返回False
  13. string.isdigit() 如果string只包含数字则返回True,否则返回False
  14. string.islower() 如果string中包含至少一个区分大小写的字
    符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False。
  15. string.isnumeric() 如果string中只包含数字字符,则返回True
    否则返回False
  16. string.isspace() 如果string中只包含空格,则返回True,
    否则返回False
  17. string.istitle() 如果string是标题化的(见title())则
    返回True,否则返回False
  18. string.isupper() 如果string中包含至少一个区分大小写的
    字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False
  19. string.join(seq) 以string作为分隔符,将seq中所有的元素
    (字符串表示)合并为一个新的字符串
  20. stirng.ljust(width) 返回一个原字符串左对齐,并使用空格
    填充至长度width的新字符串
  21. string.lower() 转换string中所有大写字符为小写
  22. string.lstrip() 截掉string左边的空格
  23. string.partition(str) 有点像find()和split()的结合体
    ,从str出现的第一个位置起,把字符串string分成一个3元组(string_pre_str,str,string_post_str),
    如果string中不包含str则string_pre_str = string
  24. string.replace(str1,str2,num=string.count(str1))
    把string中的str1替换成str2,如果num指定,则替换不超过num次
  25. string.rfind(str,beg=0,end=len(string)) 类似于
    find()函数,不过是从右边开始查找。
  26. string.rindex(str,beg=0,end=len(string)) 类似于index()
    不过是从右边开始。
  27. string.rjust(width) 返回一个原字符串右对齐,并使用
    空格填充至长度width的新字符串
  28. string.rpartition(str) 类似于partition()函数,不过
    是从右边开始查找。
  29. string.rstrip() 删除string字符串末尾的空格。
  30. string.split(str="",num=string.count(str))
    以str为分隔符切片string,如果num有指定值,则仅分隔num个子字符串
  31. string.splitlines(num=string.count('\n')) 按照行分隔,
    返回一个包含各行作为元素的列表,如果num指定则仅切片num行。
  32. string.startswith(obj,beg=0,end=len(string))
    检查字符串是否是以obj开头,是则返回True,否则返回False
    如果beg和end指定值,则在指定范围内检查
  33. string.strip([obj]) 在string上执行lstrip()和rstrip()
  34. string.swapcase() 翻转string中的大小写
  35. string.title() 返回“标题化”的string,就是说所有单词都是
    以大写开始,其余字母均为小写(见istitle())
  36. string.translate(str,del="") 根据str给出的表(包含256个字符)
    转换string的字符,要过滤掉的字符放到del参数中
  37. string.upper() 转换string中的小写字母为大写
  38. string.zfill(width) 返回长度为width的字符串,原字符串string
    右对齐,前面填充0
    <pre>

In [79]: string1 = "akdsg;lkajsd"

In [80]: import string

In [81]: string.capitalize(string1)
Out[81]: 'Akdsg;lkajsd'

In [82]: string.capitalize(string1)
Out[82]: 'Akdsg;lkajsd'

In [83]:

In [83]: quest = 'what is your favorite color?'

In [84]: quest.capitalize()
Out[84]: 'What is your favorite color?'

In [85]: quest.center(40)
Out[85]: ' what is your favorite color? '

In [86]: quest.count('or')
Out[86]: 2

In [87]: quest.endswith('blue')
Out[87]: False

In [88]: quest.endswith('color?')
Out[88]: True

In [89]: quest.find('or',30)
Out[89]: -1

In [90]: quest.find('or',22)
Out[90]: 25

In [91]: quest.index('or',10)
Out[91]: 16

In [92]: ':'.join(quest.split())
Out[92]: 'what:is:your:favorite:color?'

In [93]: quest.replace('favorite color','quest')
Out[93]: 'what is your quest?'

In [94]: quest.upper()
Out[94]: 'WHAT IS YOUR FAVORITE COLOR?'

In [95]:
</pre>
</pre>
##集合的所有方法
<pre>
方法,所有的集合方法
<pre>

  1. s.issubset(t) 如果s是t的子集,则返回True,否则返回False
  2. s.issuperset(t) 如果t是s的超集,则返回True,否则返回False
  3. s.union(t) 返回一个新集合,该集合是s和t的并集
  4. s.intersection(t) 返回一个新集合,该集合是s和t的交集
  5. s.difference(t) 返回一个新集合,该集合是s的成员,但不是t的成员
  6. s.symmetric_difference(t) 返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员
  7. s.copy() 返回一个新集合,它是集合s的浅复制
    </pre>
    方法,仅适用于可变集合
    <pre>
  8. s.update(t) 用t中的元素修改s,即,s现在包含s或t的成员
  9. s.intersection_update(t) s中的成员是共同属于s和t的元素
  10. s.difference_update(t) s中的成员是属于s但不包含在t中的元素
  11. s.symmetric_differece_update(t) s中的成员更新为那些包含在s或t中,但不是s和t共有的元素
  12. s.add(obj) 在集合s中添加对象obj
  13. s.remove(obj) 从集合s中删除对象obj;如果obj不是集合s中的元素(obj not in s) 将引发KeyError错误
  14. s.discard(obj) 如果obj是集合s中的元素,从集合s中删除对象obj
  15. s.pop() 删除集合s中的任意一个对象,并返回它
  16. s.clear() 删除集合s中的所有元素
    </pre>
    </pre>

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python复习笔记

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python复习笔记

#python复习笔记##基础
1.下划线(_)在解释器中有特别的含义,表示最后一个表达式的值。
Microsoft Windows [版本 6.1.7601]版权所有 (c)
2023-01-31
2024-04-02

Python学习笔记

Python介绍Python是一种解释型、面向对象的语言。官网:www.python.orgPython环境解释器:www.python.org/downloads运行方式:交互模式。在IDLE中运行。脚本模式。文件的后缀名为.py。
2023-01-30

Python 学习笔记

rs=Person.objects.all()all返回的是QuerySet对象,程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据。print rs.query 会打印出原生sql语句rs=Person
2023-01-31

Python学习笔记四(Python

Python os模块提供了一个统一的操作系统接口函数,通过python os模块可以实现对系统本身的命令,文件,目录进行操作,官方参考文档( http://docs.python.org/library/os)。1)os.sep 可以取代
2023-01-31

Python学习笔记(1)

1 def sum_args(*args):2 return sum(args))3 4 def run_with_positional_args(func, *args):5 return func(*args)6
2023-01-31

Python 学习笔记 - SQLAlc

继续上一篇SQLAlchemy的学习之旅。多对多表的创建表Host和表HostUser通过表HostToHostUser关联在一起from sqlalchemy import create_enginefrom sqlalchemy.ext
2023-01-31

python scapy学习笔记

1. ubuntu下安装gnuplot 转自:http://blog.163.com/gz_ricky/blog/static/182049118201362501316961/2.安装PyX sudo pip install pyx==0
2023-01-31

python scrapy学习笔记

scrapy是python最有名的爬虫框架之一,可以很方便的进行web抓取,并且提供了很强的定制型。一、安装scrapy# pip install scrapy二、基本使用1、初始化scrapy项目# scrapy startproject
2023-01-31

python egg学习笔记

原文链接:http://www.worldhello.net/2010/12/08/2178.html经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_install
2023-01-31

Python 学习笔记 - Memcac

Memcached是一个分布式内存对象缓存系统,他把数据缓存在内存里面来减少对数据库的访问,从而提高动态网页的访问速度。他的基本结构是key/value(键值对)。下面看看在Python里面如何使用。首先来安装一下服务器端,豆子直接在一个C
2023-01-31

Python学习笔记(matplotli

Python学习笔记--在Python中如何调整颜色和样式  参靠视频:《Python数据可视化分析 matplotlib教程》链接:https://www.bilibili.com/video/av6989413/?p=6所用的库及环境:
2023-01-30

python-memcached学习笔记

介绍:  memcached是免费、开源、高性能、分布式内存对象的缓存系统(键/值字典),旨在通过减轻数据库负载加快动态web应用程序的使用。  数据类型:只用一种字符串类型1:安装sudo apt-get install memcache
2023-01-31

Python学习笔记五(Python

Python urllib模块提供了一个从指定的URL地址获取网页数据,然后对其进行分析处理,获取想要的数据。1.查看urllib模块提供的urlopen函数。help(urllib.urlopen)urlopen(url, data=No
2023-01-31

Python学习笔记-SQLSERVER

环境 : python3.6 / win10 / vs2017 / sqlserver2017一、需要安装的包pymssqlpip install pymssql二、pymssql模块的介绍pymssql 包 有modules:pymssq
2023-01-30

Python Paste 学习笔记

一、写在前面这篇文章主要介绍了Python的Paste库的使用,学习过程中主要参考官网文档以及自己的理解,整理成笔记以便后续自己查阅。 如果转载,请保留作者信息。 邮箱地址:jpzhang.ht@gmail.com Python Pa
2023-01-31

python学习笔记 --- prin

print 输出直接到文件里主要是python版本问题,语法不一样,这里记录一下。python 3.x#!/usr/bin/env python3 #coding:utf-8K = 10f = open("./output/recard"
2023-01-31

Python学习笔记 --- pprin

使用 pprint 模块pprint 模块( pretty printer )用于打印 Python 数据结构. 当你在命令行下打印特定数据结构时你会发现它很有用(输出格式比较整齐, 便于阅读).import pprintdata = (
2023-01-31

【Python学习笔记】-Python中

python中的格式为为真时的结果 if 判定条件 else 为假时的结果 实例:print(1 if 5>3 else 0) 是先输出结果,再判定条件 输出1,如果5大于3,否则输出0一般用于判断赋值中,例如:x,y = 50,25sm
2023-01-31

python——Matplotlib学习笔记

  Matplotlib是pyhon中一个强大的绘图图,可以理解为 MatLab 开源替代,鉴于MatLab的内存之大及安装之复杂,决定先学学Matplotlib这个库。  1Matplotlib的安装  window:  打开cmd,: 
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录