Python常见操作(转)

1、注释的作用:在程序中对某些代码进行标注说明,增强秩序可读性

2、注释的快捷键 ctrl + /

3、变量:在内存中开辟一块空间,起一个别名,用来访问和存储空间中的数据

4、变量名是区分大小写的

5、变量名 = 值

6、变量的数据类型:整型(int)、浮点型(float)、布尔型(bool)

     非数字型:字符串(str)、列表(list)、元组(tuple)、字典(dict)

7、用type(变量) 测试变量的数据类型

8、整型:+-*/ % 取余

浮点型:+-*/ 通常不用他取余

布尔型:Ture(1) False(0) 两个数比较返回值都是布尔型

9、非数字类型的计算:字符串变量之间使用 + 拼接字符串 例如:name = “鹿晗” edu = “学历本科” info = name + edu

10、字符串变量和整数使用* 重复拼接重复的内容 “你好”*4 重复4次字符串

11、字符串和整型之间不能用+拼接

12、格式化输出 %d 十进制的整数 %06d 表示输出的整数显示六位,不足的补0

                                  %f            浮点型   %.3f   小数的位数显示3位

                                  %s     字符串

                                  %%          输出%

13、类型的转换 int(变量) 将XXX转换为int整数

                                  float(变量) 将XXX转换为浮点型

                                  str(XX)将XX转换为字符串

14、变量的交换 b,a = a,b

15、运算符 算数运算符:+ - * / //取整除 %取余数 **幂

                         比较运算符     > >= < <= !=不等于 ==      返回的结果只有Ture   False          是布尔型bool

                         逻辑运算符   and   or   not

                         赋值运算    =      == 判断

                         复合赋值运算符    +=   -=    *=   /=    //=   %=

16、if语句的格式:

               if 要判断的条件:

                        条件成立执行该代码

     如果条件不满足,代码一条都不会执行

     代码段缩进为一个tab键    就是四个空格

17、输出语句: input(要输出的内容) 用户输入的内容是字符串

18、if…..else 编程条件判断(双分支)

格式:if 判断条件:

                        满足条件执行改代码段1

                 else:

                        不满足条件执行该代码段2

19、if….elif….else

     格式:if 判断条件1:

                        如果判断条件1满足,执行代码段1

                 elif 判断条件2:

                        如果判断条件2满足,执行代码段2

                 elif 判断条件3:

                        如果判断条件3满足,执行代码段3

                 else:

                        上面的条件都不满足执行该语句

20、if嵌套

     格式:if 判断条件1:

                        满足条件执行改代码段1

                                 if 判断条件2:

                                           条件2满足执行该代码

                 else:

                        不满足条件1执行该代码

21、能够用randint获取一个随机数

     import random   # 模块导入

     random.randint(0,10)   # 0-10之间的随机数

22、while循环

     格式:变量的初始化

                 while 条件:

                        条件满足的时候:执行该代码

                        条件满足的时候:执行该代码

                        变量的更新

23、while 条件1:

               条件1满足时,执行该代码

               while 条件2:

                        条件2满足时,执行该代码

24、外部的while循环一次,里面的while循环多次

25、for 循环的基本格式: 遍历

     for 变量 in 数据

               代码

26、输出连续的数:

     range(start,stop)计数从start开始,默认从0开始,不包括stop     range(5)   等价于range(0,5)0,1,2,3,4

27、必须和for循环一起使用

     for i in range(1,100)

               print(i)

28、end=“ ”

29、break和continue作用

     break退出的是相关的所有的循环

     continue退出的是当前的循环,进入下一次循环

30、列表 list = [元素1,元素2,元素3…] 列表的索引(下标)从0开始的

31、获取列表中的某个元素

     a = list[0]    列表中的第一个元素

32、取值的时候,如果超出索引的范围,程序会报错

33、列表常见的操作:

     增加         列表.append(数据)                       在末尾追加数据,并且每次只能添加一个

                        列表.extend([4,5,6,7,8,])     可迭代     列表一次增加多个数据

                        列表.insert(索引,数据)           在指定位置插入数据(位置前有空元素会补位)

     删除         del 列表[索引]                                        删除指定索引的数据

                        列表.remove(数据)                               删除第一个出现的指定数据

                        列表.pop()                                      删除列表中的最后一个元素   有返回值,删  除的元素

                        列表.pop(索引)                             删除指定索引数据

                        列表.clear()                                             清空列表

     修改         列表[索引] = 数据)   修改指定索引的数据,如果数据不存在,就会报错

     查询         列表[索引]                                            根据索引取值,如果索引不存在,就会报错

                        len(列表)                                                  列表的长度

                        if 数据 in 列表                                           检查列表中是否包含某元素

     排序         列表.sort()                                      升序排列

34、使用for的循环遍历列表

               遍历就是从头到尾依次取出每一个元素,并且执行相同的操作

35、列表的嵌套

               一个列表中的元素又是一个列表,那么这就是列表的嵌套

36、元组 tuple = (元素,元素,元素…)

37、元组的索引从0开始

38、元组只包含一个元素时,需要在元素后面添加逗号 tuple = (50,)

39、元组不能修改里面的数据

40、查看数据类型的时候 print(type(数据))

41、元组的操作

     元组.count(数据)      数据在元素中出现的次数

     len(列表)             元组长度

     if 数据 in 元组                         检查元组中是否包含某元素

42、格式化字符串后面()本质商就是一个元组

43、字典可以存储多个数据,存储相关的信息

44、字典的定义格式

     格式:dict = {key:value,key:value}     键名 key是键索引        键值value是数据

45、字典使用键值对存储数据

46、键名和键值之间的使用:值可以是任何类型,键名只能是字符串,数字,元组

47、字典和列表的区别:

               字典:是无序的集合,通过键名来访问数据

               列表:是有序的集合,下标是从0开始的正整数

48、拆包

               tuple =(1,2,3,4)

               a,b,c,d = tuple  #可以把元组中的数据进行自动拆包

               print(a)

               print(b)

               print(c)

               print(d)

49、字典的操作,增加 删除,修改

               增加         字典[键] = 数据      键不存在,会添加键值对;键存在,会修改键值对的值

               删除         字典.pop(键)      删除指定键值对,返回被删除的值

                                 字典.clear                 清空字典

               修改         字典[键] = 数据      键不存在,会添加键值对;键存在,会修改键值对的值

               查询         字典[键]                              根据键的取值,键值对不存在会报错

                                 字典.keys()                  可以进行遍历,获取所有的键名

                                 字典.values()               可以进行遍历,获取索引的键值

                                 字典.items()                可以进行遍历,获取所有的(键,值)键值对

                                           默认获取的是键名

50、列表 元组 字符串 都是有序的,索引计数是从0开始的

51、字符串的常见操作:

               string.isdecimal()        判断字符串是否都是数字

               string.isalpha()                    判断字符串是否都是字母

52、字符串查找

                        string.find(要查找的字符串)    找到返回对应的下标号,没有找到返回的是-1

                        string.rfind(要查找的字符串)            从右向左查找

                        string.index(要查找的字符串)          找到返回对应的下标号,没有找到则报错

                        string.rindex(要查找的字符串)               从右开始查找

53、字符串字符的替换

                        string.replace(old,new,次数)                返回一个新字符串,把string中的      old替换成new,如果num指定,则替换不超过num次

54、str.split(“分割”)字符串 变成一个列表

               str =”星期一-星期二-星期三”

               list  =str.split(“-”)                                                # [“星期一”,”星期二”,”星期三”]

55、去掉空白字符串

     str.lstrip                     去掉左边(开始)的空白字符,返回一个新的字符

     str.rstrip                     去掉右边(末尾)的空白字符,返回一个新的字符

     str.strip                      去掉开始和末尾的空白字符,返回一个新的字符

56、字符串的切片

     切片,可以截取字符串中一部分字符

     切片的语法:

               字符串[开始的索引:结束的索引]  指定的区间属于前闭后开[开始索引,结束索引

57、用切片完成字符串的逆序

               如果步长值是负数,就是倒序     例如:str[::-1]   这是整个字符串的倒序

58、定义一个函数:

               def 函数名()

                        函数体(函数封装的代码)

59、函数在函数调用的时候才会执行

60、带有参数的函数定义的格式

     def 函数名(形参1,形参2)

               函数的代码

     形参可以理解为是变量,不用提前定义,接收实参传递过来的数据

61、函数名(实参,实参)

     形参的作用:接收实参传递的数据,把数据传递给函数的内部

     实参:调用函数使用的数据是实参,直接值

     形参:实参的占位,中转站,接收实参专递过来的数据

62、形参的作用域:

               在函数内部使用,在函数的外部不能使用该形参

没有实参,使用的是默认的值,给了实参,就使用实参的值
*形参:元组
**形参:字典

拆包要注意:元组中有多少个值,就用多少个变量接收

关键字参数:给实参指定对应的形参

                                 关键字参数是给实参

                                 默认的参数是给形参

                                 给参数2指定了关键字,没有给参数1指定关键字,就会报错

                                 设置一个关键字参数,给所有的实参都设置关键字参数

函数的可变(不定长参数)的使用
*表示元组类型 def fun(*args)

               可变参数可以接收任意数量的实参数据,并且自动组包成一个元组

字典型的可变参数
**表示字典类型 def fun(**args)

               添加一个数据,输出的结果是字典

需要函数的返回值:将运算的结果返回给函数调用的位置
在项目中,返回一个结果,进行其他的运算,提供返回结果主要为了后续代码要用,跟语法无关,如果没有返回值,值为none

     返回值如果有多个,组包一个元组,返回到函数的调用的位置    

拆包要注意:元组中有多少个值,就用多少个变量接收
四种函数类型:无参数无返回值 无参数有返回值 有参数无返回值 有参数有返回值
range(1, 6) 1-6连续的数,不包含6
重复输出某个符号 print(“*”*20)
全局变量:在函数外部定义的变量,作用范围为整个文件
局部变量:在函数内部定义的变量,只能在函数的内部使用

     如果在函数的内部需要修改全局变量,需要使用global进行声明                   Global 变量名

匿名函数:以表达式的形式来定义的函数,只能做一些简单的处理
lambda 形参数1,形参数2,形参数3….:返回值

               lambda函数能够接收任意数量的参数,并且返回一个表达式的值

               f =(lambda num1,num2:num1+num2)(1,2)

               print(f)

导入模块使用import
一个函数在内部调用其本身,这个函数就是递归函数
step(n) = n * step(n - 1) step()函数实现了阶乘
列表推导式:list = [表达式 for 变量 in 数据] 列表中存放的是for遍历出来的表达式的数据
列表推导式支持if判断:list = [表达式 for 循环 if 判断条件]
列表list,字典dict是可变的
数据类型 int,bool,float 字符串str 元组是不可变类型

访问模式:
r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

               w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

               a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入

               rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式

               wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件

               ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

               r+:打开一个文件用于读写。文件指针将会放在文件的开头

               w+:打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 

               a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写

               rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头

               wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

               ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

打开文件
语法:变量 = open(文件名, 访问模式)

     关闭文件

     格式:close()

read(num):可以从文件中读取数据,num表示要从文件中读取的数据的埠度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
读数据(readline):每次读取一行

     读数据(readlines):按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素    

在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取
如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()
seek(offset, from)有两个参数

               offset:偏移量,from是从0开始才能使用

               seek(2, 0)文件的开头

               from:方向     0:表示文件开头

                                           1:表示当前位置

                                           2:表示文件末尾

a + 在光标的位置写入内容
os模块中的rename()可以完成对文件的重命名
重命名:rename(需要修改的文件名, 新的文件名)

                        删除文件:remove()

                        创建文件夹:mkdir("文件夹名")

                        获取当前的操作路径:getcwd()

                        获取目录列表:listdir()

                        改变操作的路径:chdir()

                        删除一个文件夹:rmdir()   只能删除非空文件

判断文件是否存在
os.path.exist(“文件”) 存在Ture 不存在False

eval():将字符串对象转换为有效的表达式参与求值运算返回计算结果
类就是创建对象的模板
先有类才有对象

     定义类格式:class 类名:   命名规则(大驼峰)

创建对象的格式:
引用对象的变量名 = 类名()

调用对象的方法
对象的变量名.方法名()

101、定义/使用属性

               定义、设置属性格式:引用对象的变量名.属性名 = 数据

102、self的意义:

               关键字:主要用于对象方法中,表示调用该方法的对象

               方法中:可以获取到调用当前方法的对象,进而获取到该对象的属性和方法

103、对象.属性 = 属性值

104、魔法方法:

               __init__(self)的使用(重点)

                        对象的初始化方法,在创建一个对象后默认会被调用,不需要手动调用

                        定义属性并设置初始值

                        A、默认参数的使用

                                 1)对象的初始化方法

                                 2)实例的初始化

                                 3)对象的属性初始化

                                  # 通常__init__当创建对象的的时候自动调用该方法

                                  # __init__ 完成对象的属性初始化工作

                        B、自定义参数的使用

               __str__(self)

                        直接用print打印对象,会看到创建出来的对象在内存中的地址

                        该方法通常有一个return 语句,返回一个值

               __del__(self)

                        当对象在销毁前,自动调用该方法,(析构方法)

                        析构方法的作用:做一些额外的工作,比如垃圾回收(释放变量)、关闭文件  或文件夹



     def __init___(self)  创建对象的时候自动调用

     def __str___(self)   输出一个对象print(对象)

     def__del__(self)   对象被销毁 自动调用该方法      

105、封装

               将属性和方法放到一起作为一个整体,然后通过实例化一个对象来处理

               隐藏内部的细节,向外界提供操作的功能即可 print()

               将功能代码 进行打个包包,把代码都放到里面 ,给外界提供操作的功能,隐藏内         部的细节 ,你不要管我里面怎么实现的,你拿过来用就可以 了 

106、魔法方法init,都会被子类继承

107、查看类的继承链

                        格式:类名.__mro__

108、多层继承

               class 爷爷类(object):   基类

               class 爸爸类(爷爷类):

               class 儿子类(爸爸类):

109、当父类和子类的方法名相同的情况下,默认使用的是子类中的方法

110、多继承

     子类(父类,父类)

     class child(Father, Mother):

111、多态 类的多态主要是指方法重写

112、静态方法的使用

      @staticmethod

               def 方法名()

113、私有属性 属性前面加了两个下划线是私有属性,否则是共有属性

114、new() 属于一个静态的方法 重写创建一个对象,必须用return返回对象的引用地址

115、使用try…except…捕获异常

116、常见的错误类型

      NameError 命名错误

      IndentationError 缩进错误

      FileNotFoundError 错误的类型:文件没有找到

      io.UnsupportedOperation

      Exception 常规错误基类    

117、Finally在异常中的作用:

     try:

     尝试执行的代码

     ...

     finally

               无论是否发生异常都执行finally
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值