Python学习笔记.doc

上传人:b****1 文档编号:231737 上传时间:2022-10-07 格式:DOC 页数:50 大小:142KB
下载 相关 举报
Python学习笔记.doc_第1页
第1页 / 共50页
Python学习笔记.doc_第2页
第2页 / 共50页
Python学习笔记.doc_第3页
第3页 / 共50页
Python学习笔记.doc_第4页
第4页 / 共50页
Python学习笔记.doc_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

Python学习笔记.doc

《Python学习笔记.doc》由会员分享,可在线阅读,更多相关《Python学习笔记.doc(50页珍藏版)》请在冰豆网上搜索。

Python学习笔记.doc

Python学习笔记

Python学习笔记一

(数据类型)

 

1.数字

   可以使用+-*/进行运算,支持浮点数运算,参与运算的数中有浮点数,则结果即为浮点数。

可以使用float(),int(),long()来强制转换。

   range(i[,j[,k]]),返回值为0-i(或i到j-1,间隔为k)的整数序列。

 其他数字常用函数:

   abs(x):

返回x的绝对值

   divmod(a,b):

返回a除以b的商和余数

   hex(x):

返回x的16进制值字符串

   int(x[,radix]):

转化int值,若指定radix进制值,转为该进制的整数

   max(s[,..]):

返回一组中的最大值

   min(s[,..]):

返回一组中的最小值

   oct(x):

返回x的8进制

   ord(c):

返回字符c的ASCII码

   round(x[,n]):

将x四舍五入到小数点后n位

 

2.字符串

   字符串可以使用单引号或双引号标示。

使用反斜杠加单引号或双引号在字符串中进行转意(\'\")。

两个反斜杠可以转意为反斜杠。

   字符串可以使用结尾加反斜杠来换行续写。

   使用反斜杠加n(\n)表示换行。

   如果在字符串常量前加r,则不转意,表示是一行数据,如:

a=r"hello\nworld!

"。

   字符串还可以用三重引号标示,其中允许包含换行。

   字符串可以用+号连接(字符串值甚至可以直接连接,如a="hello"'world'),还可以用*号重复,如a="hi"*5。

   字符串可以使用下标索引,如a="hello",则a[0]="h",a[1:

4]="ell"。

按字符串索引的结果是常量,是不能赋值的。

索引为负数,表示从后往前数。

   len(s)返回字符串s的长度。

   os.urandom(n):

可以返回长度为n的随机字符串。

字符串操作函数:

   lower():

转为小写;

   upper():

转为大写;

   strip()/lstrip()/rstrip():

截断;

   replace(old,new,[max]):

替换,最多max次,默认替换全部;

   split([expr,[max]]):

用expr分隔,返回列表;

   join(L):

连接列表L的内容;

   ljust/rjust(width[,fillchar]):

左/右填充字符

   chr(i):

将ASCII码转为一个字符

   ord(ch):

将字符转为ASCII码

   使用正则表达式:

    importre

    t1='Thisisadog!

'

    rstr='dog'#正则

     t2=re.sub(rstr,'cat',t1)

URL地址字符串操作:

   importurllib

   urllib.quote(s[,sf])#把s转成URL地址,sf指定的内容不转换

   urllib.unquote(url)#把url转回普通地址

转义字符串:

   x='thisis%s,sizeis%d'%(name,size)

 

3.Unicode字符串

   定义unicode字符串,只要在普通字符串前加u定义即可。

   可以使用反斜杠加u来转意字符,如"\u0020"就表示空格字符""。

 

4.链表

   链表(Lists)的元素可以是不同的类型,如a=['a','b',1,2],甚至某个元素就是一个Lists。

可以对切片进行赋值,以实现添加如a[2:

2]=[6],修改a[2:

3]=7,删除a[2:

3]=[]。

   链表的方法:

   append(x):

添加一个元素到链表最后;

   extend(L):

添加一个链表的所有元素到链表最后;

   insert(i,x):

插入一个元素到元素i之前;

   remove(x):

删除第一个值为x的元素;

   pop([i]):

返回元素i,并在列表中将其删除,若未指定i,返回最后一个元素,并在列表中将其删除;

   index(x):

返回值为x的元素索引;

   count(x):

返回值为x的元素的个数;

   sort():

链表排序;

   reverse():

链表排序(倒序);

   链表的相关函数:

   filter(f,L):

把L中的所有元素,放入f函数运行,返回执行结果为非0的所有元素;

   map(f,L):

把L中的所有元素,放入f函数运行,返回执行结果组成的链表;

   reduce(f,L,[x]):

把L中的元素依次作为f函数的参数运行,执行结果也作为f函数参数,返回最终的执行结果,x可以作为初始参数,若无则使用第一个元素;若L只有一个元素,返回该元素;

   del(L[i:

e]):

把L中的i:

e的元素删除,如del(a[2])、del(a[1:

3]);

 

5.元组

   元组(Tuples):

元组生成后,不可对其元素赋值,但是若元素是可变元素,则可以修改此元素的内容,如a=(1,[2,3]),执行a[1][1]=4,则a=(1,[2,4]);

   定义空元组:

a=()

   定义单元素元组:

a=(1,)或a=1,

   定义元组:

a=(1,2,3)或a=1,2,3

   元组拆封:

如x,y,z=a,则x=1,y=2,z=3,拆封可适用用任何序列;

 

6.字典

   字典(Dictionaries):

可以看作是无序的(关键字:

值)对,序列以数字为索引,字典以关键字为索引,关键字可以是任何不可变类型,通常上字符串和数值。

   构造字典:

dict([('x',1),('y',3)])

   字典的方法:

   D.clear():

清空D的内容;

   D.get(k[,d]):

获取D中关键字为k的值,若没有,返回d(默认为None);

   D.has_key(k):

D中是否有关键字k;

   D.items():

将D中的值对转为列表;

   D.keys():

返回D中的key列表;

   D.pop(k[,d]):

弹出D中关键字为k的值,若没有,返回d(默认为None);

   D.setdefault(k[,d]):

获取D中k的值,若没有,返回d,并添加k:

d对;

   D.update(E[,**F]):

将E和F中的值更新到D中;

   D.values():

返回D中值列表;

 

7.全局变量

   全局变量关键字global声明的变量,只在声明单元内有效。

   要使用一个各单元能共享访问的全局变量,可以将变量声明在其中一个单元中,然后其他单元import该单元(注意:

不是formXXXimport*,也不要global声明变量),读写该变量时,使用'单元名.变量',这样就可以实现在多单元间共享一个变量。

 

8.日期、时间的操作

   操作日期、时间,需要importtime

   time.localtime(),返回当前时间序列。

 

9.import语句说明

   import语句可以出现在开头,或代码中间。

import语句出现时,即去导入并执行指定的文件,该文件执行时的__name__为其模块名。

   import语句如同一般的语句一样,顺序执行。

执行时,若发现导入的模块已经被导入,则会跳过。

import语句甚至可以导入其本身的模块。

Python学习笔记二

(使用入门)

 

一、动态调用方法

  #方法的名称为mname

 ifhasattr(self,mname):

#查询类中是否有该方法

     method=getattr(self,mname)#若有,获取该方法

     method()#调用该方法

 

二、运行外部程序

1.os.startfile(filename)

2.os.system("startfilename")--Windows

 os.system("filename&") --Unix

 注:

若使用system("filename")直接运行时,需求等到filename执行返回后,才能继续下面的程序,若在线程中调用,线程无法结束。

 

三、线程数据共享的简单用法

1.创建锁:

tlock=threading.Lock()

2.请求锁:

tlock.acquire([waittime]),如果waittime未指定,则一直等待直到获得锁,如果指定waittime,则等待锁直到超时,返回为是否请求到锁。

若waitime=0,则立即返回。

3.释放锁:

tlock.release()

4.查询锁:

tlock.locked(),返回该锁是否被锁定

 

四、线程操作

1.threading.activeCount()可以获取当前运行中的线程个数,包括主线程。

2.threading.enumerate()可以获取当前所有的线程列表

3.线程的套用,若主线程创建线程1,线程1创建线程2,若线程1设置setDaemon(True),则默认线程2也设置setDaemon(True)。

主线程退出时,不管线程1或2,只要有设置setDaemon(True)的线程还在运行,主线程将继续运行。

 

五、动态调用外部文件

   可以声明一个local字典变量,将参数放入该字典,然后传人文件中执行,执行结果可以由字典返回。

如:

   dlocal={}

   dlocal['pin']=4

   execfile('new.py',{},dlocal)

   print str(dlocal['pout'])

 

六、若将模块的扩展名设置为.pyw,则模块运行时将不显示控制台窗口

 

七、包的使用

   包是以目录区分的,如在当前目录下生成TestPackage目录,在目录下放置__init__.py(必需),和test.py,要引入test模块时,importTestPackage.test即可,调用时会先运行__init__.py。

 

八、异常的使用

   以下是异常的几个最简单、直接的用法。

   try:

       ....

   except:

       print'error'

   或

   try:

       ....

    exceptException,(args,):

       printargs

   或

   try:

       ...

   exceptException,args:

       printargs

 

九、HttpRequest的使用

   1.socket超时

     importsocket

      socket.setdefaulttimeout(mytimeout)

   2.request简单使用

     importurllib2

     request=urllib2.Request('')

     request.add_header('Cookie','WebClientID=32092E7D%2DF208%2D42EA%2DAF89%2D6036A131C84C;')

     opener=urllib2.build_opener

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1