python 基础

来源:互联网 发布:漯河淘宝培训 编辑:程序博客网 时间:2024/06/16 22:46

键盘输入:

number=int ( input (''the number is:))

输出的格式:

print ({:5d}.format(number))          #五位

print ({:7.2f}.format(number))       #七位、两位小数

print("--" * 20) #简易循环

元组与拆装

可以用逗号创建元组,在赋值语句左边做拆装

data ='a','b','c'

name1, name2, name3=data


字符串与数字之间可以手动转换

str(float)

float(string)




数据结构:

列表:

允许包含不同类型的数据

正向索引、负向索引、切片(计算切片范围时,正向为0~n,负向为-n~0)List [a:b:c] a,b为切片的起点终点,c为步长

判断元素是否存在 可以直接 3 in List 即可返回 True/False

range:

生成一个左闭右开的区间;并不是列表,但如果当参数被放入list()中,进行类型转换,可以变成列表

List 的接口,append(ele),extend(listb),sort(),remove(ele),insert(rank,ele),del  L[rank]

通过函数创建列表:a=list(map(lambda x:x**2, range(10))) 等价于 a=[x**2 for x in range(10)]

map函数有两个参数,一个是函数,一个是可迭代的对象,比如range或者列表


如果想在遍历时获取索引值:可以用enumerate()

for i , j in enumerate(List)

print( i , j )

如果想同时遍历两个列表,可以用zip()

for x, y in zip (list1, list2)

元组:不可变,不可添加、删除或编辑任何值

可以拆封,x,y=divmod(7,5)

要创建一个只有一个元素的元组,需要在该元素后面加逗号,如:(a,)

集合:不重复无序集合

集合之间可以进行相减、或、与运算

字典:无序、键值不重复&&键值为不可变类型(不可为列表)

格式:data={1:"data1", 2:"data2"}

查找:data[key]

新建:data[3]='data3'

删除:del data[key]

dict()可以创建字典

遍历: for x,y in a.items()

如果不存在,则添加元素:a.setdefault(key,default)

查找元素:a.get(m,n=None)查找键值为m的值,如果没有,返回n


字符串:

s.split() 将字符串切割,split函数允许有一个参数,作为切割的依据,默认按照‘ ’切割,存入列表。

s.join()参数为列表,将用s连接列表中的元素。

字符串判断(大小写、数字、字母),字符串变换

字符串剥离,s.strip() s.lstrip() s.rstrip()

查找:s.startswith('a')    s.endswith('b')    s.find('a')(返回找到的位置)

字符串添加元素,字符串没有append函数,可以用s+=x 的模式在尾部追加元素,不过效率不如‘’.join。


函数:

高阶函数,使用一个函数作为参数或者返回值的函数,任何函数都可以成为高阶函数。

map()是一个非常有用的高阶函数,第一个参数是一个函数,第二个参数是一个可迭代的对象。然后对迭代器里每一个元素应用该函数,返回一个处理后的对象。


文件读取、写入:

文件打开时有三种模式,‘r’ 'w'(写入模式,如果原来文档名存在,将会删除,重新写入内容) 'a'(追加模式)

读取有三种模式:f.read() 可一次性读取全文,如果连续调用read(),第二次会返回空字符串,因为之前已经读完了。read(size)可以有一个名为size的参数,用来指定读取字符串的长度。

 f.readline()逐行读取,如果想用deadline函数读取整篇文档,可以用 for x in file:  print(x)

 f.readlines() 会将不同行的结果返回到一个列表中。

注意,读取时会将‘\n’等符号读出来,但是print时会自动对应成换行。

打开文件后应关闭文件,防止资源占用。

可使用with语句,来自动关闭文档如: wih open("file1") as f:


异常处理:

try:

语句1

except   XXXERROR:

print(ERROR)

print(‘Done’)

针对try字句中执行遇到的错误,如果恰好在except中可以找到,则可做规定的动作。并不打断程序执行。如果except后面是空的,而非跟着某个具体的错误,则默认包含一切错误。

finally 子句:不管有没有发生异常,finally 子句 在程序离开 try 后都一定会被执行。当 try 语句中发生了未被 except 捕获的异常(或者它发生在 except 或 else 子句中),在 finally 子句执行完后它会被重新抛出。

在真实场景的应用程序中,finally 子句用于释放外部资源(文件或网络连接之类的),无论它们的使用过程中是否出错。

class

装饰器:@property 可以把某个函数变成只读的属性,并且自动生成一个@XXX.setter的装饰器,用来写入属性。当然,新生成的这个装饰器可用可不用。

原创粉丝点击