1.python总结与参考(2.7版本)

1.头行注释

#! /usr/bin/env python
#-*- coding: utf-8 -*-

第一行,说明本文件用python可执行程序,(在linux下必须加)

第二行,文中涉及中文就需要本条指令

2.字符与编码

ord('A') #获取A的ASCII码:65
chr(65)  #将ASCII变成对应的字符:‘A’

在winodw的cmd(默认gbk编码)中,即使打印unicode码,也会自动转化成gbk码

str1.decode('gb2312') #将gb2312的str1变成unicode的str1
str1.encode('gb2312') #将unicode的str1变成gb2312的str1

 

len('ABC')  #获取字符串长度

 

整数(%d),浮点(%f),字符串(%s),十六进制整(%x)

 

3.list,tuple,dict,set

可变对象(list,dict),

a.sort()  #排序,用于可变对象。但b=a.sort()返回是none

sorted()则可以实现b=a.sorted(),

这么理解把,b=a.sort()实际上是

①先s=a.sort(),s是临时变量,但由于a.sort()是作用与原来的list,并没有生成新list,所以s指向空的内存地址。

②然后b = s

 

详细看第2.python总结与参考第4点

 

不可变对象(tuple,数值型,字符串)

a.replace('b','c')  #c代替原有的b,用于不可变对象

list:  [1,'a']

a.append('b')  #a为list,在列表尾部插入元素‘b’
a.pop()  #a为list,删除末尾元素
a.pop(1)  #a为list,删除1号位元素

        list插入

a.insert('b') #a为list,在1号位插入元素‘b’

         list大小写

a.lower()  #a是list,将a中的所有字符串变成小写
a.upper()  #a是list,将元素大写

tuple:  (1,'a') 

dict:  {'a' =1,'b'='c'}

        dict查询

‘b’ in a  #a是dict,key‘b’是否在a中,不存在返回false
a.get('b') #a是dict,查看a中是否有关键b,不存在返回none
a.get('b',-1) #同上,不存在返回-1
a.pop()  #删除最后一个key

set:  ([1,'a','b'])

        set增加移除

a.add('b')  #a是set,尾部增加key‘b’,重复key不报错也不增加
a.remove('b')  #a是set,移除key‘b’

4.判断与循环

#判断举例
if a>2:
    print 1
elseif a=2:
    print 0
else:
    print -1
 #b是list,变量a分别取b的元素并打印
for a in b: 
    print a

5.调用函数

help(abs) #查看abs函数的功能与说明
com(x,y)  #x,y是数字,比较两数大小,x<y,返回-1,x==y,返回0,如x>y,返回1

数据类型转换:int(‘123’)返回,123;str(1.23)返回‘1.23’

6.定义函数

def a(x):  #定义函数a,参数x
    pass    #没有内容可用pass代替,有内容最后用return x,如果有内容却没写return,自动补充return none
isinstance(1,int)  #判断1是否是int型,内置函数

7.函数参数

参数顺序:必选参数,默认参数,可变参数,关键字参数

def a(b,c=0,*d,**e):   #函数a参数中,b是必选参数,c是默认参数,d是可变参数,e是关键字参数

可变参数:接收tuple(如果是list转化中会被变成tuple),直接在参数括号中输入元素而不需要增加[]

关键字参数:接收dict,直接在参数括号中输入key=‘value',不用增加{}

8.递归

def a(x):
    return x*(a(x-1))   #返回中包含函数本身

9.切片

切list,tuple和range,字符串

a = range(100)  #获取0~99的list
a[10:20]    #获得第11位到20位的list
a[10:20:2]  #获得第11位到20位相隔两位的list,
a[-2:]  #获得倒数第2位到最后的list
‘ABCDEF’[:3]  #返回'ABC'

10,迭代

按顺序获取list或typle的元素,dict的key和value

for d in k: #k是list或typle
for k,v in a.iteritems():   #用于dict,只获取value是for v in d.itervalues():
for a in 'ABC'  #字符串迭代,a只是普通变量

11.列表生成式

range(0,11)  #直接使用range生成list
[x*x for x in range(0,10)]  #返回[0,1,4,9,16,25,36,49,64,81]
[x+y for x in 'ABC' for y in 'DEF']  #两重循环,返回['AD', 'AE', 'AF', 'BD', 'BE', 'BF', 'CD', 'CE', 'CF']

os

os.listdir('.') #列出文件和目录

12.生成器

就是生成一个list,但不返回,只有调用next()才逐个返回

(x*x for x in range(0,10)) #和生成式的区别在于这里是括号(),列表生成式是中括号【】

可以直接通过next()方式返回

也可以用循环for a in b  #b就是指向生成器的变量打印,如果将yleld代替了return,yleld类似与中断和上述next()一样,只能通过next()重新启动。

 

 

 

转载于:https://my.oschina.net/u/3384982/blog/901569

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值