Python基础 第一天

时间:2023-03-09 07:30:43
Python基础 第一天

编码

#coding=utf-8

函数入口

 if __name__== "__main__":

内置方法

  type:a=1 type(a)
help:import time help(time)
dir:dir(time)

常用基本数据类型
1.int 整型

2.boolean 布尔

3.string 字符串:计算字符串长度之前,要把字符串转为utf-8编码  len(str.decode("utf-8"))

1).截取指定字符串 s = "i,am,lilei"  print s[2:4] print s.split(',')[1]

2).替换指定字符串 ainfo = 'i love php'   replycontent = ainfo.replace('php','python')

3).字符串拼接 str1="abcd"  str2="efg"  str3="hjk"   print "$".join([str1,str2,str3])  #中间用$符号拼接

c = a + b
  c = "%s%s" % (a,b)
  c = "{a}{b}" .format (a=a,b=b)
  c = "".join([a,b])

4).查找字符串的位置

a = "i,am,a,boy,in,china"  print a.find('i')##不存在返回-1  print a.index('i')##不存在报错

计算该字符串一共有几个逗号 print a.count(',')

4.list 列表

b=[[1,2,3],[4,5,6]]

b[0][1]=7 #修改指定元素数值

print b #输出结果为[[1, 7, 3], [4, 5, 6]]

1) 切片

正向索引  a = [1,2,3,4,5,6,7]   print  a[0:4:1]     [1, 2, 3, 4]

反向索引 a = [1,2,3,4,5,6,7]  print a[-1:-4:-1]  [7, 6, 5]

默认索引 a = [1,2,3,4,5,6,7]  print  a[1:]结果为[2, 3, 4, 5, 6, 7]   print  a[1::2]结果为[2, 4, 6]

2)添加操作

+ 生成一个新的列表

Extend 接受参数并将该参数的每个元素都添加到原有的列表中,原地修改列表而不是新建列表

Append :添加任意对象到列表的末端

Insert: 插入任意对象到列表中,可以控制插入位置。

3)修改操作

A = [1,2,3]

A[0]=’4’

4)删除操作

Del :我们通过索引删除指定位置的元素。del a 删除列表对象的引用    del a[:] 清空列表对象里的元素

Remove:移除列表中指定值的第一个匹配值。如果没找到的话,会抛异常。

Pop:返回最后一个元素,并从list中删除它。

5)成员关系

通过In和not in我们可以判断一个元素是否在列表里。

返回一个bool类型,元素在列表里返回true,否则返回fasle.

6)列表推导式

a.首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

比如我们要生成一个包含1到10的列表 [x for x in range(1,11)]    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

b.加入了判断语句,只有满足条件的内容才把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表达式的计算值生成一个列表。

[x for x in range(1,11) if x % 2 == 1]      [1, 3, 5, 7, 9]

7)排序翻转:sort,reverse

list的reverse函数:反转一个list, 他的返回值为none

8)列表的应用:

a.内置list方法。

b.2.xrange和range的具体区别。

xrange的用法:xrange(开始,结束,步长)   xrange 它生成一个xrange对象。

比较:range: 直接生成一个列表对象。   xrange: 它是生成一个xrange对象。

推荐:当我们需要操作一个非常大的数据,而且内存比较吃紧的时候,我们可以用xrange来操作省内存。

xrange一般用在循环里面,比如我们只需要操作部分数据的话,而不是返回全部元素来完成操作,推荐用xrange,效率更高。

c.列表推导式之再应用。

[x*x for x in range(100)]

生成字符串 ['the %s' % d  for d in xrange(10)]

[(x,y) for x in range(2) for y in range(2)]

生成字典 dict([(x,y) for x in range(3) for y in range(2)])

5.tuple 元组

1)有序的集合

2)通过偏移来取数据

3)属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。

元组不可变的好处。保证数据的安全,比如我们传给一个不熟悉的方法或者数据接口,确保方法或者接口不会改变我们的数据从而导致程序问题。

6.集合

集合是没有顺序的概念。所以不能用切片和索引操作。

1)创建集合。set():可变的 不可变的frozenset():

2)添加操作: add,update

3)删除 remove

4)成员关系 in,not in

6)交集,并集,差集 & | -

7)set去重 列表内容元素重复

7.dict 字典

字典是无序的,它不能通过偏移来存取,只能通过键来存取。

1)创建字典。{},dict()

info = {'name':'lilei', 'age': 20}

info = dict(name='lilei',age=20)

2)添加内容 a['xx'] = 'xx'

3)修改内容 a['xx'] = 'xx'

dic['key'] = 'value'

update 参数是一个字典的类型,他会覆盖相同键的值

info.update({'city':'beijing','phone':'nokia'})

4)删除 del,clear,pop

del info['phone'] 删除某个元素

info.clear()删除字典的全部元素

info.pop('name')

5)in 和 has_key() 成员关系操作

phone in info

info.has_key('phone')

6)keys(): 返回的是列表,里面包含了字典的所有键

values():返回的是列表,里面包含了字典的所有值

items:生成一个字典的容器:[()]

7)get:从字典中获得一个值

info.get('name')

info.get('age2','22')

操作文本函数

writeStr="写入";
f=open('a.txt','w');
f.write(writeStr)
f.close() f=open("a.txt","r")
readStr=f.read();
print readStr #将模块string的帮助文档保存为一个文件
import sys
import string
f = open('test.log','w')
sys.stdout = f #将标准的输出流反映到文件的写入方法里面
help(string)
f.close()