一些python基础 快忘光了

python中的变量以及类型

类型:数字、列表、布尔、元组、字典、字符串

可以使用type(变量的名字)查看变量的类型

标识符和关键字

标识符:是自己定义的,如变量名、函数名等

标识符由字母、数字、下划线组成,且数字不能开头

python中标识符区分大小写

关键字:python中具有特殊功能的标识符,就是关键字

可以在Python Shell通过以下命令进行查看当前系统中python的关键字

import keyword
keword.kwlist

格式化输出

常用的格式化符号

%c 字符
%s 字符串 
%d 有符号十进制整数
%u 无符号十进制整数 
%o 八进制整数 
%x 十六进制整数(小写字母0x)
%X 十六进制整数(大写字母0X) 
%f 浮点数 
%e 科学计数法(小写'e') 
%E 科学计数法(大写“E”) 
%g %f和%e 的简写 
%G %f和%E的简写

换行输出

\n后的内容会在另外一行显示

运算符

运算符 描述 实例 
+      加 两个对象相加 a + b 输出结果 30 
-      减 得到负数或是一个数减去另一个数 a - b 输出结果 -10 
*      乘 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200 
/      除 b / a 输出结果 2 
//     取整除 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 
%      取余 返回除法的余数 b % a 输出结果 0 
**    指数 a**b 为10的20次方, 输出结果 100000000000000000000

常用数据类型转换

int(x [,base ]) 将x转换为一个整数 
float(x ) 将x转换为一个浮点数 
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部 
str(x ) 将对象 x 转换为字符串 
repr(x ) 将对象 x 转换为表达式字符串 
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 
tuple(s ) 将序列 s 转换为一个元组 l
ist(s ) 将序列 s 转换为一个列表 
chr(x ) 将一个整数转换为一个Unicode字符 
ord(x ) 将一个字符转换为它的ASCII整数值 
hex(x ) 将一个整数转换为一个十六进制字符串 oct(x ) 将一个整数转换为一个八进制字符串 bin(x ) 将一个整数转换为一个二进制字符串

if判断语句

if、elif、else

循环

  • while循环

  • for循环 临时变量 in 列表或字符串等可迭代变量

  • break和contiune

    • break 打断循环
    • contiune 用来结束本次循环紧接着执行下一次循环

下标和切片

  • 下标

    列表、元组、字符串支持下标 python下标是从零开始的

  • 切片

    切片是指对操作的对象截取其中一部分的操作,字符串、元组、列表都支持切片操作

    切片的语法:[起始:结束:步长] 选区的区间从起始位开始到结束位的前一位结束,步长表示间隔

    python字符串快速逆置[::-1]

字符串的常见操作

  • find
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
mystr.find(str, start=0, end=len(mystr))
  • index
跟find()方法一样,只不过如果str不在 mystr中会报一个异常.
mystr.index(str, start=0, end=len(mystr))
  • count
返回 str在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
  • replace
把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
mystr.replace(str1, str2,  mystr.count(str1))
  • split
以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", 2)
  • capitalize
把字符串的第一个字符大写
mystr.capitalize()
  • title
把字符串的每个单词首字母大写
a = "hello itcast" 
a.title() 
'Hello Itcast'
  • startswith
检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False
mystr.startswith(hello)
  • endswith
检查字符串是否以obj结束,如果是返回True,否则返回 False.
mystr.endswith(obj)
  • lower
转换 mystr 中所有大写字符为小写
mystr.lower()
  • upper
转换 mystr 中的小写字母为大写
mystr.upper()
  • ljust
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
mystr.ljust(width)
  • rjust
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
mystr.rjust(width)
  • center
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
mystr.center(width)
  • lstrip
删除 mystr 左边的空白字符
mystr.lstrip()
  • rstrip
删除 mystr 字符串末尾的空白字符
mystr.rstrip()
  • strip
删除mystr字符串两端的空白字符
  • rfind
类似于 find()函数,不过是从右边开始查找.
mystr.rfind(str, start=0,end=len(mystr) )
  • rindex
类似于 index(),不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
  • partition
把mystr以str分割成三部分,str前,str和str后
mystr.partition(str)
  • rpartition
类似于 partition()函数,不过是从右边开始.
mystr.rpartition(str)
  • splitlines
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
  • isalpha
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isalpha()
  • isdigit
如果 mystr 只包含数字则返回 True 否则返回 False.
mystr.isdigit()
  • isalnum
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
mystr.isalnum()
  • isspace
如果 mystr 中只包含空格,则返回 True,否则返回 False.
mystr.isspace()
  • join
mystr 中每个元素后面插入str,构造出一个新的字符串
mystr.join(str)

列表

  • 添加元素

    append

    extend 可以将另一集合中的元素逐一添加到列表中

    insertinsert(index, object) 在指定位置index前插入元素object

  • 修改元素

    修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改

  • 查找元素

    in、not in、index、count

  • 删除元素

    del 根据下标进行删除

    pop 删除最后一个元素

    remove 根据元素的值进行删除

  • 排序序(sort, reverse)

    sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到 小。 reverse方法是将list逆置。

元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括 号。
 python中不允许修改元组的数据,包括不能删除其中的元素。

字典

  • 查看元素

    除了使用key查找数据,还可以使用get来获取数据

    info = {'name':'吴彦祖','age':18}
      print(info['age']) # 获取年龄
      # print(info['sex']) # 获取不存在的key,会发生异常
      print(info.get('sex')) # 获取不存在的key,获取到空的内容,不会出现异常
  • 修改元素

    字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改

  • 添加元素

    如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素

  • 删除元素

    del 删除指定的元素

    clear 清空整个字典

  • 常见操作

    len() 测量字典中键值对的个数

    keys返回一个包含字典所有key的列表

    values返回一个包含字典所有value的值

    items返回一个包含所有(键,值)元组的列表

enumerate()函数用于一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标

函数定义和调用

  • 4种函数类型 无参数 无返回值 无参数 有返回值 有参数 无返回值 有参数 有返回值

全局变量和局部变量

  • 缺省参数 调用函数时,缺省参数的值如果没有传入,则取默认值。

  • 不定长参数

    加了星号()的变量args会存放所有未命名的变量参数,args为元组 而加*的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典.

    如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 args的后面, 但如果 有*kwargs的话,**kwargs必须是最后的

可变和不可变类型

所谓可变类型与不可变类型是指:数据能够直接进行修改,如果能直接修改那么就是可变,否 则是不可变 
可变类型有: 列表、字典、集合 
不可变类型有: 数字、字符串、元组

递归函数

  • 什么是递归函数

    如果一个函数内部不调用其他的函数,而是自己本身的话,这个函数就是递归函数

匿名函数

用lambda关键词能创建小型匿名函数,省略了def声明函数的标准步骤

Lambda函数能接收任何数量的参数但只能返回一个表达式的值 匿名函数不能直接调用print,因为lambda需要一个表达式

列表推导式

所谓的列表推导式,就是指的轻量级循环创建列表

set、list、tuple

set是集合类型
set、list、tuple之间可以相互转换
使用set可以完成list中快速去除重复元素的功能

文件操作

  • 打开文件

    在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式)

  • 关闭文件

    close()

  • 文件的读写

    write()

    read(num) num表示要从文件中读取数据的长度

    readlines按行的方式一次性读取整个文件,并返回一个列表,每一行是一个元素

    readline()

文件的相关操作

有些时候,需要对文件进行重命名、删除等一些操作,python的os模块中都有这么功能

  • 文件重命名

    os模块中的rename()可以完成对文件的重命名操作 rename(需要修改的文件名, 新的文件名)

  • 删除文件

    os模块中的remove()可以完成对文件的删除操作 remove(待删除的文件名)

  • 创建文件夹

import os 
os.mkdir("张三")
  • 获取当前目录
import os 
os.getcwd()
  • 改变默认目录
import os 
os.chdir("../")
  • 获取文件目录
import os 
os.listdir("./")
  • 删除文件夹
import os 
os.rmdir("张三")

类和对象

  • 类的构成

    1 类的名称:类名

    2 类的属性:一组数据

    3 类的方法:允许对其进行操作的方法

继承介绍

  • 单继承:子类只继承一个父类

    子类在继承的时候,在定义类时,小括号()中为父类的名字
      父类的属性、方法,会被继承给子类
  • 多继承:子类继承多个父类

    多继承可以继承多个父类,也继承了所有父类的属性和方法
     注意:如果多个父类中有同名的 属性和方法,则默认使用第一个父类的属性和方法(根据类 的魔法属性mro的顺序来查找) 
     多个父类中,不重名的属性和方法,不会有任何影响。
  • 多层继承:

  • 重写 :当子类里的方法与父类的方法同名时 则使用子类的方法

    若父类方法仍有价值则手动调用

重写的三种方式

父类名.父类方法(self,参数)

super().父类方法() 只在phtyon中可用

super(子类,self).父类方法

面向对象的三大特性:封装、继承、多态

多态:父类方法工作的地方 子类也能使用 不同的子类产生不同的执行效果

类方法 @classmethod装饰器 使用类属性

静态方法 @staticmethod 可以使用我们自己定义的参数

实例方法 第一个形参是 self

类属性 实例对象和类对象均可访问

实例属性 类队像不能访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值