Python

    xiaoxiao2021-03-25  150

    输入输出:

    输入 raw_input() raw_input("")//含有提示内容 输出 print()

    原码、反码、补码

    规则 正数 原码 = 反码 + 补码 负数 反码 = 符号位不变,其他位取反码 补码 = 反码 + 1

    字符串的使用:

    <1> find

     查找字符串中是否含有一段字符,未找到则返回-1  str.find("")

    <2> index

    查找字符串中是否含有一段字符,未找到则返回异常 str.index("") str.index("",start,end)参数一:查找的字符,参数二:下标起始位置,参数三:下标结束位置

    <3> count

    统计个数(即可以统计单个字符也可以统计一段字符串) str.count("") str.count("",start,end)参数一:统计的字符,参数二:下标起始位置,参数三:下标结束位置

    <4> len

    返回字符串长度 len(str)

    <5> replace

    替换 str.replace("","")参数一:原字符,参数二:替换的字符

    <6> split

    分隔符切片 str.split(" "){根据输入内容切割} str.split(" ",2)参数一:切割的字符 参数二:总共切割后的份数

    <7> capitalize

    把字符串的第一个字符大写 str.capitalize()

    <8> startswith

    判断是否以什么开头 返回True Or False str.startswith("")

    <9> endswith

    判断以什么结尾 返回True Or False str.endswith("")

    <10> lower

    把字符串中的大写字母转换成小写字母 str.lower()

    <11> upper

    把字符串中的小写字母转换成大写字母 str.upper()

    <12> ljust

    返回一个原字符串左对齐并用空格填充长度至width str.ljust(width)

    <13> rjust

    返回一个原字符串右对齐并用空格填充长度至width str.rjust(width)

    <14> center

    返回一个原字符串居中对齐并用空格填充长度至width str.center(width)

    <15> lstrip

    删除左边的空格 str.lstrip()

    <16> rstrip

    删除右边的空格 str.rstrip()

    <17> rfind

    类似于find,只不过从右边开始查找

    <18> rindex

    类似于index(),从右边开始

    <19> partition

    str以str2分隔成三部分,str2前,str2,str2后 str.partition(str2)

    <20> rpartition

    partition()类似,从右边开始

    <21> splitlines

    按照行分隔(消除换行符) str.splitlines()

    <22> isdigit

    如果str值包含数字则返回True否则返回False str.isdigit()

    <23> isalpha

    如果str所有字符都是字母则返回True否则返回False str.isalpha()

    <24> isalnum

    如果str中是数字或字符返回True否则返回False str.isalnum()

    <25> isspace

    如果str中只包含空格则返回True否则返回False str.isspace()

    <26> isupper

    判断所有字符是纯大写返回True否则返回False str.isupper()

    <27> islower

    判断所有字符是纯小写返回True否则返回False str.islower()

    <28> join

    str中每个字符后面插入str2,构造出一个新的字符串 str.join(str2) 例子: str = " " li = ['ni','hao','me'] print(str.join(li)) 'ni hao me' str2 = "_" print(str2.join(li)) ni_hao_me

    列表

    一、使用[ ] 括起来中间用逗号隔开

    ls = ['asd','wqe','zxc']

    二、列表中可以存储不同类型的数据

    ls = ['asd','qwe','zxc',123,456,True]

    三、遍历列表内容

    name = ['qwe','asd','zxc',wer',sdf',xcv] nub = 0 length = len(name) whiel nub < length: print('name[%d]=%s'%(nub,name[nub])) nub += 1 name = ['qwe','asd','zxc',wer',sdf',xcv] for j in name: print("j=%s"%j)

    四、列表常用操作

    append

    添加 lb = ['123','qwe','asd','zxc'] lb.append("wer")

    更改

    更改 lb = ['123','qwe','asd','zxc'] lb[0] = '456'

    if ….in

    判断列表中是否含有某个值 lb = ['123','qwe','asd','zxc'] if '123' in lb: print("含有123")

    删除

    li=['asd','qwe','zxc''wer','sdf','xcv']

    del:根据下表进行删除

    del li[0]

    pop:删除最后一个元素

    li.pop()

    remove:根据元素的值进行删除

    li.remove('asd')

    字典

    一、以{ }括起来(以键值对的方式)

    ​ 可以存储不同类型的数据

    d = {"name":"zhangsan","addr":"shandong","age":18}

    ​ 取值

    print(d['name'])

    二、常见操作

    1、修改

     d = {"name":"zhangsan","addr":"shandong","age":18}  d['name'] = "lisi"

    2、添加

     d = {"name":"zhangsan","addr":"shandong","age":18}  d['hh']=10

    3、删除

    1)del

    删除单个元素 >>>d = {"name":"zhangsan","addr":"shandong","age":18}  >>>del d['name'] 删除字典 del d

    2)clear() 清空字典内的内容

       >>>d = {"name":"zhangsan","addr":"shandong","age":18}    >>>d.clear()

    4、len()

    返回键值对的个数 >>>d = {"name":"zhangsan","addr":"shandong","age":18} >>>len(d)

    5、keys()

    返回字典所有的可以键 d.keys()

    6、values()

    返回字典所有的可以值 d.values()

    7、items()

    返回一个包含所有(键值对)元祖的列表 d.items() [('name','zhangsan'),('addr','shandong'),('age',18)]

    8、has_key

    如果字典里有key则返回True否则返回False d.has_key('key')

    元组

    一、以()括起来

    typle = ('hello',100,2,3) 取值 typle[0]---->'hello'

    二、常用操作

    1、修改(Python中不允许修改)

    tuple[2]=188 TypeError:

    2、合并元组

    tup1=('hellp',100) tup2=(1,2,3) tup3 = tup1+tup2 tup3---->('hellp',100,1,2,3)

    3、删除元素(元组中不允许删除其中的值,但可以使用del删除整个元组)

    del tuple

    4、元组运算符

    Python表达式结果描述len(1,2,3)3计算元组的个数(1,2,3)+(4,5,6)(1,2,3,4,5,6)连接[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]复制3 in (1,2,3)True元组是否存在for x in (1,2,3):print x1 2 3迭代

    5、元组索引,截取

    L=(‘span’,’Spam’,SPAM!)

    Python表达式结果描述L[2]‘SPAM!’读取第三个元素L[-2]‘Spam’读取倒数第二个元素L[1:](‘Spam’,SPAM!)截取元素

    6、元组内置函数

    序号方法描述1cmp(tuple1,tuple2)比较两个元组元素2len(tuple)计算元组个数3max(tupe)返回元组中最大的4min(tupe)返回元组中最小的5tuple(seq)将列表转换成元组

    函数

    一、定义

    def xx():#不带参数 Or def xx(xx):#带参数 例: def add(a,b): c=a+b print("%d+%d=%d"%(a,b,c)) add(100,200)

    二、缺省参数(提供一个默认参数)

    def text(name,age=18): print("name=%s,age=%s"%(name,age)) text('zhangsan')--->name=zhangsan,age=18 text('zhangsan',16)--->name=zhangsan,age=16 另外一种输入方法 text(age=16,name='zhangsan')--->name=zhangsan,age=16

    三、不定长参数

    def text(*name): pass

    全局变量与局部变量

    全局变量是在函数外面定义的,局部变量是在函数内部定义的 g_a = 200 def text(): g_a = 100 print("text方法的a=%d"%g_a) def text2(): print("text2方法的a=%d"%g_a) ---->text方法的a=100 text2方法的a=200 如果一个函数中有与全局变量同名的局部变量调用的是局部变量(该局部变量不会修改全局变量中的值) g_a = 200 def text(): global g_a g_a = 100 print("text方法a=%d"%g_a) def text2(): print("text2方法的a=%d"%g_a) ---->text方法的a=100 text2方法的a=100 如果用global 标识了一个全局变量那么在局部变量中赋值时将会修改全局变量的值

    匿名函数

    lambda lambda 参数:运算 执行函数并返回结果 例子: lam = lambda a,b:a+b result = lam(11,22) print('result=%d'%result)---->33

    文件操作

    <1>打开文件

    创建一个新文件,文件名为test open时 当前路径可省略 其他使用绝对路径 w------>用于写入,如果文件已存在则覆盖,文件不存在则创建 r------>用于只读。文件的指针放在开头 a------>用于追加。文件不存在则创建 f = open('test.txt','w')

    <2>关闭文件

    关闭这个文件 f.close()

    <3>文件的写入–write

    f = open('test.txt','w') f.write('hello') f.close()

    <4>文件的读取—read

    f = open('test.txt','r') content = f.read() print(content) f.close()

    1、readlines()

    read 的区别:readlines 返回类型为list f = open('test.txt','r') content = f.readlines() for temp in content: print(temp) f.close()

    2、readline()

    与readlines()的区别: readlines()方法读取的是所有信息,存到一个集合中 而readline()方法是指读取一行 f = open('test.txt','r') content = f.readline() while True: if len(content) != 0: print(content) else: break f = open('test.txt','r') content = f.readline() while len(content)>0: print(content) content = f.readline()

    <5>文件拷贝

    from pip._vendor.distlib.compat import raw_input #1.提示用户输入拷贝的文件名字 oldFileName = raw_input('请输入要拷贝的文件名字:') #2.打开文件 oldFile = open(oldFileName,'r') #3.读取这个文件的数据 因为使用read 或者readlines 这两个函数, # 他们一次性把文件中的所有内容都读取到内存中, # 可能因为文件太大,导致内存不足的情况,所以可以使用readline方式 #4.组织文件名字 num = oldFileName.rfind('.') newFileName = oldFileName[0:num]+'[复件]'+oldFileName[num:] #5.新建一个文件 newFile = open(newFileName,'w') #读取一行数据 content = oldFile.readline() while len(content)>0: newFile.write(content) content = oldFile.readline() oldFile.close() newFile.close()

    <6>文件的定位读写

    seek(offset,from)——-偏移多少位

    offset:偏移量

    from:方向

    ​ 0:表示文件开头

    ​ 1:表示当前位置

    ​ 2:标识文件末尾

    tell()—-返回当前文件读写位置

    f = open('123.txt','rb') f.read(2) f.read(2) f.read(2) print(f.tell()) f.seek(-2,2) print(f.tell()) f.close()

    *注意:当使用seek(-2,2)时

    需要在 打开文件方式时以‘rb’方式打开 否则会报io.UnsupportedOperation: can’t do nonzero end-relative seeks错误

    原因是因为以‘r’方式打开文件 只允许从文件开始计算相对位置,从文件尾计算时会引发异常

    <7>文件重命名

    import os os.rename(oldName,newName)

    <8>文件删除

    import os os.remove('123[复件].txt')

    <9>文件夹的操作

    1、文件夹的创建

    os.mkdir('文件名') **这个文件名即可以是相对路径也可以是绝对路径

    2、获取当前路径

    os.getcwd()

    3、改变默认路径

    os.chdir('...'/)

    4、获取目录列表

    os.listdir('...') 同时遍历隐藏文件

    <1>遍历文件夹内容

    movieNames=os.listdir('baike_Py') for temp in movieNames: print(temp)

    5、删除文件夹

    os.rmdir('...') **只能删除空的文件夹

    异常

    try: except: print('error') else: print("我是else") finally: print(“我是finally”) try 将可能出错的代码放入 如果有有错误则执行except 否则执行else 最终都需要执行finally python的try语句有两种风格 一:种是处理异常(try/except/else) 二:种是无论是否发生异常都将执行最后的代码(try/finallytry/except/else风格 try: <语句> #运行别的代码 except <名字>: <语句> #如果在try部份引发了'name'异常 except <名字>,<数据>: <语句> #如果引发了'name'异常,获得附加的数据 else: <语句> #如果没有异常发生 try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。 1、如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。 2、如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。 3、如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。 try/finally风格 try: <语句> finally: <语句> #退出try时总会执行 python总会执行finally子句,无论try子句执行时是否发一异常。 1、如果没有发生异常,python运行try子句,然后是finally子句,然后继续。 2、如果在try子句发生了异常,python就会回来执行finally子句,然后把异常递交给上层try,控制流不会通过整个try语句。 当你想无论是否发生异常都确保执行某些代码时,try/finally是有用的。 这个在打开文件的时候有用 finally总是在最后close()文件 try语句子句形式表 except: 捕获所有异常 except name: 只捕获特定的异常 except name,value: 捕获异常和它的附加数据(将异常的信息保存到value,) except (name1,name2): 捕获任何列出的异常 else: 如果没有异常 finally: 总是执行 >>> try: f = open('file.txt') except IOError, e: print e else: print 'wrong' [Errno 2] No such file or directory: 'file.txt' 最新的python版本 支持try/except/finally try: 1:如果x没有异常,执行z,i x 2:如果x有异常, 一:如果except捕捉到异常则执行y,i except(name): 二:没捕捉到,执行i,然后返回内置异常处理 y else: z finally: i

    class 类名: 属性 方法 class Dog: color = '白色' sex = '公' #方法 def eat(self): print('狗吃东西') def run(self): print('狗在跑路')

    self——-调用者本身

    class Animal: def setName(self,name): self.name = name def printName(self): print('名字为:'self.name) def myPrint(animalName): animalName.printName() dog1 = Animal() dog1.setName('西西') myPrint(dog1) dog2 = Animal() dog2.setName('北北') myPrint(dog2)

    构造方法——当创建对象时执行

    def __init__(self): 初始化数据

    析构方法——当对象消除时执行

    def __del__(self): 释放空间

    删除一个对象

    del 对象名

    继承

    class Cat: color = 'black' legs = 4 weight =6 def miaomiao(self): print('猫在叫') def catch(self): print('抓老鼠') class Bosi(Cat): def maimeng(self): print("波斯猫卖萌") def miaomiao(self): print("波斯猫在叫") bosi = Bosi() bosi.miaomiao() bosi.catch() bosi.maimeng()

    多继承

    class A: def text(self): print('-'*5+'A') def text1(self): print('-' * 5 + 'A2') class B: def text(self): print('-'*5+'B') def text2(self): print('-' * 5 + 'B2') class C(B,A): def text(self): print('-'*5+'C') c = C() c.text1() -----A2 c.text2() -----B2 c.text() -----C

    注意 如果在多继承中 A和B类中有相同的方法则会执行 继承时写在前面的 如果C类中也有和A,B类相同的方法则会执行自己的方法

    重写

    子类的方法名与父类的方法名相同

    执行时执行子类方法

    转载请注明原文地址: https://ju.6miu.com/read-20688.html

    最新回复(0)