iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python复习笔记
  • 837
分享到

python复习笔记

笔记python 2023-01-31 02:01:19 837人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

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

#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>

--结束END--

本文标题: python复习笔记

本文链接: https://www.lsjlt.com/news/186255.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • python复习笔记
    #python复习笔记<font color=blue>##基础</font><pre>1.下划线(_)在解释器中有特别的含义,表示最后一个表达式的值。 <pre>Microsoft Wind...
    99+
    2023-01-31
    笔记 python
  • Python学习笔记
    Python介绍 Python是一种解释型、面向对象的语言。 官网:www.python.org Python环境 解释器:www.python.org/downloads 运行方式: 交互模式。在IDLE中运行。 脚本模式。文件的后缀...
    99+
    2023-01-30
    学习笔记 Python
  • Python 学习笔记
    rs=Person.objects.all() all返回的是QuerySet对象,程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据。 print rs.query 会打印出原生sql语句 rs=Pe...
    99+
    2023-01-31
    学习笔记 Python
  • Python Paste 学习笔记
    一、写在前面 这篇文章主要介绍了Python的Paste库的使用,学习过程中主要参考官网文档以及自己的理解,整理成笔记以便后续自己查阅。 如果转载,请保留作者信息。 邮箱地址:jpzhang.ht@gmail.com ...
    99+
    2023-01-31
    学习笔记 Python Paste
  • python OpenCV学习笔记
    目录图像翻转图像轮廓排序图像轮廓排序颜色识别基础颜色识别根据BGR获取HSV阈值编辑器图像翻转 使用Python的一个包,imutils。使用下面的指令可以安装。 pip in...
    99+
    2024-04-02
  • Python学习笔记(1)
    Python开发框架:       a.Python基础;       b.网络编程;       c.WEB框架;       d.设计模式+算法;       e.项目阶段; 开发:   开发语言:       高级语言:Python...
    99+
    2023-01-30
    学习笔记 Python
  • Python学习笔记(二)
    学完了基础中的基础后,我们准备深入基础中的函数、类和对象。 function函数: 正如英文单词描述的,函数就是“功能”的意思,把完成一个功能所需要的代码打包起来放在一个函数下可以方便以后程序的重复调用,也能使整体代码条理清晰。正如前...
    99+
    2023-01-30
    学习笔记 Python
  • python-memcached学习笔记
    介绍:   memcached是免费、开源、高性能、分布式内存对象的缓存系统(键/值字典),旨在通过减轻数据库负载加快动态web应用程序的使用。   数据类型:只用一种字符串类型 1:安装 sudo apt-get install me...
    99+
    2023-01-31
    学习笔记 python memcached
  • python egg学习笔记
    原文链接:http://www.worldhello.net/2010/12/08/2178.html经常接触Python的同学可能会注意到,当需要安装第三方python包时,可能会用到easy_install命令。easy_instal...
    99+
    2023-01-31
    学习笔记 python egg
  • Python学习笔记 --- pprin
    使用 pprint 模块 pprint 模块( pretty printer ) 用于打印 Python 数据结构. 当你在命令行下打印特定数据结构时你会发现它很有用(输出格式比较整齐, 便于阅读). import pprin...
    99+
    2023-01-31
    学习笔记 Python pprin
  • python学习笔记(1
    关于随笔 python随笔只是个人笔记,可能会有遗漏或错误,仅供参考 学习文档地址 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e5...
    99+
    2023-01-30
    学习笔记 python
  • Python 学习笔记 - socket
    前面学习的例子都是单线程的socket收发;如果有多个用户同时接入,那么除了第一个连入的,后面的都会处于挂起等待的状态,直到当前连接的客户端断开为止。通过使用socketserver,我们可以实现并发的连接。socketserver的使用很...
    99+
    2023-01-31
    学习笔记 Python socket
  • Python 学习笔记 - SQLAlc
    继续上一篇SQLAlchemy的学习之旅。多对多表的创建表Host和表HostUser通过表HostToHostUser关联在一起from sqlalchemy import create_engine from sqlalchemy.ex...
    99+
    2023-01-31
    学习笔记 Python SQLAlc
  • Python学习笔记(2)
    Unicode字符串: GB2312编码为表示中文产生 python内部编码是unicode编码Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填0 就可以以Unicode表示的字...
    99+
    2023-01-31
    学习笔记 Python
  • Python 学习笔记 - Memcac
    Memcached是一个分布式内存对象缓存系统,他把数据缓存在内存里面来减少对数据库的访问,从而提高动态网页的访问速度。他的基本结构是key/value(键值对)。下面看看在Python里面如何使用。首先来安装一下服务器端,豆子直接在一个C...
    99+
    2023-01-31
    学习笔记 Python Memcac
  • 【Python学习笔记】-Python中
    python中的格式为 为真时的结果 if 判定条件 else 为假时的结果 实例: print(1 if 5>3 else 0) 是先输出结果,再判定条件 输出1,如果5大于3,否则输出0 一般用于判断赋值中,例...
    99+
    2023-01-31
    学习笔记 Python
  • Python学习笔记四(Python
    Python os模块提供了一个统一的操作系统接口函数,通过python os模块可以实现对系统本身的命令,文件,目录进行操作,官方参考文档( http://docs.python.org/library/os)。1)os.sep 可以...
    99+
    2023-01-31
    学习笔记 Python
  • python——Matplotlib学习笔记
      Matplotlib是pyhon中一个强大的绘图图,可以理解为 MatLab 开源替代,鉴于MatLab的内存之大及安装之复杂,决定先学学Matplotlib这个库。  1Matplotlib的安装  window:  打开cmd,: ...
    99+
    2023-06-02
  • python学习笔记(3)
    在大概了解了程序之后,我也买了本python书学习一下,因为现在新版的python3.4.0已经不再兼容2.x.x的内容,书虽然很新,但是有些例子还是用的过去的。1.比如在3.0中print 42不能再产生输出了,要改成print(42)&...
    99+
    2023-01-31
    学习笔记 python
  • Python学习笔记(matplotli
    Python学习笔记--在Python中如何调整颜色和样式   参靠视频:《Python数据可视化分析 matplotlib教程》链接:https://www.bilibili.com/video/av6989413/p=6 所用的库及环...
    99+
    2023-01-30
    学习笔记 Python matplotli
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作