python笔记

#python
##1.1字面量

  • 在代码中,被写下来的固定的值,被称为字面量
    • 整数(int)
    • 浮点数(float)
    • 字符串(string):要用双引//号包围起来
      ##1.2 注释
  • 注释是在程序代码中对程序代码进行解释说明的文字,不能被执行
  • 1.单行注释:#注释内容
  • 2.多行注释:"""注释内容"""
    ##1.3 变量
  • 在程序运行时,能储存计算结果或者能表示值的抽象概念
  • 定义格式:变量名称=变量的值
  • 特征:变量的值可以改变
    ##1.4 数据类型
  • 查看数据类型:语法:type(被查看的数据类型),并可以返回值
    ##1.5 数据类型的转换
    |语句(函数)|说明
    |—|—
    |int(x)|将x转换为一个整数
    |float(x)|将x转换为一个浮点数
    |str(x)|将对象x转换为字符串
  • 这三个语句都是带有返回值的
    ##1.6 标识符
  • 标识符的命名规则:
    • 内容限定
    • 大小写敏感
    • 不可以使用关键字
  • 标识符命名中,只允许出现:
    • 英文
    • 中文
    • 数字
    • 下划线
  • 注意:
    • 不推荐使用中文
    • 数字不可以开头
  • 变量的命名规范:
    • 见名知意
    • 下划线命名法
      ##1.7 运算符
  • 算数运算符
运算符描述实例
+两个对象相加
-得到负数或者一个数减去另一个数
*两个数相乘或者返回一个被重复若干次的字符串
/两个数相除
//取整数返回商的整数部分 如:9//2输出结果4,9.0//2.0输出结果4.0
%取余返回余数
**指数做指数运算
  • 赋值运算符:=

  • 复合赋值运算符

运算符描述实例
+=加法赋值c+=a为c=c+a
-=减法赋值c-=a为c=c-a
*=乘法赋值c*=a为c=c*a
/=除法赋值c/=a为c=c/a
%=取模赋值c%=a为c=%a
**=幂赋值c**=a为c=c**a
//=取整除赋值c//=a为c=c//a

##1.8字符串扩展
####1.字符串三种定义方式

  • 单引号定义法 name=''
    -双引号定义法 name=""
  • 三引号定义法 name=""""""
    ####2.字符串的引号嵌套
  • 单引号定义法,可以内含双引号
  • 双引号定义法,可以内含单引号
  • 可以使用转义字符(\)来将引号解除效用,变成普通字符串
    ####3.字符串拼接
  • 两个字符串直接可通过+拼接
  • 无法和非字符串类型进行拼接
    ####4.字符串格式化
  • 可用%s
  • %表示:我要占位
  • s表示:将变量变成字符串放入占位的地方
  • 注意:多个变量占位,变量要用括号括起来,并按照占位顺序填入
格式符号转化
%s将内容转换成字符串,放入占位位置
%d将内容转换成整数,放入占位位置
%f将内容转换成浮点型,放入占位位置

####5.格式化的精度控制

  • 使用m.n
  • m:控制宽度,要求是数字,设置的宽度小于数字自身,不生效
  • n:控制小数点精度,要求是数字,会进行小数的四舍五入
  • 示例:
    • %5d:表示将整数的宽度控制在5位,如数字11被设置成5d,就会变成[空格][空格][空格]11,用三个空格补足宽度
    • %5.2f:表示将宽度控制为5,将小数点精度设置为2.如对11.345设置%7.2f后,结果是[空格][空格]11.35
      ####6.快速格式化
  • 语法:f"内容{变量}"
  • 注意:
    • 不会理会类型
    • 不做精度控制
      ####7.对表达式格式化
  • 在无需使用变量进行数据储存时,可以直接格式化表达式
    ##1.9 数据输入
  • 数据输入:input
  • 数据输出:print
  • 注意:无论从键盘输入什么类型,获取到的数字永远是字符串类型
    ##2.1布尔类型和比较运算符
  • bool类型
    • True表示真,本质是1
    • False表示假,本质是0
  • bool类型不仅可以自己定义,也可以通过比较运算符得到
运算符描述
==判断内容是否相等
!=判断内容是否不相等
>判断左侧内容是否大于右侧
<判断左侧内容是否小于右侧
>=判断左侧内容是否大于等于右侧
<=判断左侧内容是否小于等于右侧
  • 满足为True,不满足为Flse

##2.2 if语句的基本格式

if 要判断的条件:
    条件成立时,要做的事情

#####判断语句的结果,必须是布尔类型True或False,True会执行if里面的语句,False则不会执行
#####归属于if判断的代码语句块,需要在前方填充4个空格缩进
#####python通过缩进判断代码块的归属关系
##2.3if else语句

- if 条件:
    - 满足条件时要做的事情1
    - 满足条件时要做的事情2
    - …………
- else :
    - 不满足条件时要做的事情1
    - 不满足条件时要做的事情2
    - …………

##2.4if elif else语句

- if 条件1:
    - 满足条件1时要做的事情1
    - 满足条件1时要做的事情2
    - …………
- elif 条件2:
    - 满足条件2时要做的事情1
    - 满足条件2时要做的事情2
    - …………
- elif 条件N:
    - 满足条件N时要做的事情1
    - 满足条件N时要做的事情2
    - …………
- else :
    - 所有条件都不满足时要做的事情1
    - 所有条件都不满足时要做的事情2
    - …………

#####判断时互斥且有顺序的

  • 满足1将不会理会2和3
  • 满足2,将不会理会3
  • 1.2.3都不满足,进入else
  • else也可以省略不写,效果等同于三个独立的if判断
    #####可以将input语句直接写入判断条件中
    ##2.5判断语句的嵌套
  • 可自由组合if elif else来构建多层次判断

##3.1whlie循环

  • 语法:
    • while 条件:
    • 条件满足时,做的事情
  • 只要条件满足就会无限执行
  • 条件需提供布尔类型的结果,True继续,False停止
  • 用四个空格缩进
  • 规划好循环条件
    ##3.2while循环的嵌套
  • 用空格缩进来确定归属
    ##3.3for循环
  • while循环的循环条件是自定义的,自行控制循环条件
  • for循环是一种轮询机制,是对一批内容进行逐个处理
  • 语法:
- for 临时变量 in 待处理的数集:
	- 循环满足时执行的代码

##3.3 range语句

    1. range(num):获取一个从0开始到num结束的数字序列,但不包括num
  • 2.range(num1,num2):获取一个从num1开始到num2结束的数字序列,但不包括num2

  • 3.range(num1,num2,step):获取一个从num1开始到num2结束的数字序列,但不包括num2,数字之间的步长为step,step默认为1

##3.4 for循环临时变量作用域

  • for循环的临时变量作用域为:循环内
  • 如果需要临时访问,可以预先在循环外定义它
    ##3.5 for循环的嵌套使用
  • 利用空格缩进确定归属
    ####continue:中断本次循环直接进入下一次循环
    ####break:直接结束所在的循环
    ####注意:在嵌套循环中,只能作用在所在的循环中,无法对上层循环起作用
    ##4.1函数
  • 函数:是组织好的,可以重复使用的,用来实现特定功能的代码段
    ##函数的定义语法
    def 函数名(传入参数):
    函数体
    return 返回值
  • 使用步骤:先定义函数,再调用函数
  • 注意:参数和返回值不需要,可以省略
    ##4.2 函数的参数
  • 函数定义中,提供的成为形式参数(形参),参数之间使用逗号分隔
  • 函数调用中,提供的成为实际参数(实参),按照顺序传入参数,使用逗号分隔
    ##4.3 函数的返回值
  • 返回值:函数在执行完成后:返回给调用者的结果
  • 函数体在遇到return后就结束了,写在return后的代码不会被执行
    ##4.4 None类型
  • 无返回值的函数,实际上就是就是返回了None这个字面量
  • 1.用在无返回值的函数上
  • 2.用在if判断,None等同于False
  • 3.定义变量,但暂时不需要有变量的具体值,可以用None来代替
    ##4.5 函数的说明文档
  • 内容应写在函数体之前
"""
函数说明  
:param:x:形参x的说明   
:param:y:形参y的说明  
:return:返回值的说明  
"""  

##4.6 函数的嵌套

  • 函数的嵌套是指一个函数里面调用了另外的函数
    ##4.7 变量的作用域
  • 局部变量:定义在函数体内的变量,只在函数体内内部生效
    • 作用:在函数体内部临时保存数据,当函数调用完成后,就销毁临时变量
  • 全局变量:在函数体内外都能生效的变量
    ####global关键字:在函数内部声明变量为全局变量
    ##5.1 数据容器入门
  • 列表:list
  • 元组:tuple
  • 字符串:str
  • 集合:set
  • 字典:dict

##5.2 列表
##5.2.1 列表的定义
基本语法:

#字面量  
[元素1,元素2,元素3…………]  
#定义变量  
变量名称=[元素1,元素2,元素3…………]  
#定义空列表  
变量名称=[]  
变量名称=list() 
  • 列表中的每一个数据,称为元素
  • 以[]作为标识
  • 列表中的每一个元素之间用逗号隔开
  • 元素的数据类型没有限制,元素也可以是列表,这样就定义了嵌套列表
    ##5.2.2 列表的索引
  • 从前向后从0开始,每次加1
  • 从后向前从-1开始,内次减1
  • 注意:通过下标索引数据,一定不要超出范围
    ##5.2.3 列表常用的操作方法
    ####查找某元素的下标
  • 语法:列表.index(元素)
    • 如果找不到,报错ValueError
      ####修改特定位置的元素值
  • 语法:列表[下标]=值
    ####插入元素
  • 语法:列表.insert(下标,元素)
  • 在指定的下标位置,插入指定的元素
    ####追加元素
  • 语法:列表.append(元素)
  • 将指定的元素,追加到列表的尾部
    ####追加元素2
  • 语法:列表.extend(其他数据容器)
  • 将其他数据容器的内容取出,依次追加到列表尾部
    ####删除元素
  • 语法1:del列表[下标]
  • 语法2:列表.pop(下标)
    ####删除某元素在列表中的第一个匹配项
  • 语法:列表.remove(元素)
    ####清空列表
  • 语法:列表.clear()
    ####统计元素在列表内的数量
  • 语法:列表.count(元素)
    ####统计列表内有多少元素
  • 语法:len(列表)
    ###列表总结
  • 可以容纳多个元素(上限为2**63-1)
  • 可以容纳不同类型的元素
  • 数据是有序储存的
  • 允许重复数据存在
  • 可以修改
    ##5.2.4 列表的遍历循环
  • 1.利用while来实现
index =0
while index<len(my_list):
	elemet=my_list[index]
	print(f"列表中的元素:{elemet}")
	index+=
  • 2.利用for来实现
for element in my_list:
	print(f"列表中的元素:{elemet}")

##6 os模块

描述方法
检验权限模式os.access(path, mode)
改变当前工作目录os.chdir(path)
设置路径的标记为数字标记os.chflags(path, flags)
更改权限os.chmod(path, mode)
更改文件所有者os.chown(path, uid, gid)
改变当前进程的根目录os.chroot(path)
关闭文件描述符 fdos.close(fd)
关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略os.closerange(fd_low, fd_high)
复制文件描述符 fdos.dup(fd)
将一个文件描述符 fd 复制到另一个 fd2os.dup2(fd, fd2)
通过文件描述符改变当前工作目录os.fchdir(fd)
改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限os.fchmod(fd, mode)
修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定os.fchown(fd, uid, gid)
强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息os.fdatasync(fd)
通过文件描述符 fd 创建一个文件对象,并返回这个文件对象os.fdopen(fd[, mode[, bufsize]])
返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它os.fpathconf(fd, name)
返回文件描述符fd的状态,像stat()os.fstat(fd)
返回包含文件描述符fd的文件的文件系统的信息,Python 3.3 相等于 statvfs()os.fstatvfs(fd)
强制将文件描述符为fd的文件写入硬盘os.fsync(fd)
裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小os.ftruncate(fd, length)
返回当前工作目录os.getcwd()
返回一个当前工作目录的Unicode对象os.getcwdb()
如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则Falseos.isatty(fd)
设置路径的标记为数字标记,类似 chflags(),但是没有软链接os.lchflags(path, flags)
修改连接文件权限os.lchmod(path, mode)
更改文件所有者,类似 chown,但是不追踪链接os.lchown(path, uid, gid)
创建硬链接,名为参数 dst,指向参数 srcos.link(src, dst)
返回path指定的文件夹包含的文件或文件夹的名字的列表os.listdir(path)
设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效os.lseek(fd, pos, how)
像stat(),但是没有软链接os.lstat(path)
从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)os.major(device)
以major和minor设备号组成一个原始设备号os.makedev(major, minor)
递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹os.makedirs(path[, mode])
从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )os.minor(device)
以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)os.mkdir(path[, mode])
创建命名管道,mode 为数字,默认为 0666 (八进制)os.mkfifo(path[, mode])
创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)os.mknod(filename[, mode=0600, device])
打开一个文件,并且设置需要的打开选项,mode参数是可选的os.open(file, flags[, mode])
打开一个新的伪终端对。返回 pty 和 tty的文件描述符os.openpty()
返回相关文件的系统配置信息os.pathconf(path, name)
创建一个管道. 返回一对文件描述符(r, w) 分别为读和写os.pipe()
从一个 command 打开一个管道os.popen(command[, mode[, bufsize]])
从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串os.read(fd, n)
返回软链接所指向的文件os.readlink(path)
删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directoryos.remove(path)
递归删除目录os.removedirs(path)
重命名文件或目录,从 src 到 dstos.rename(src, dst)
递归地对目录进行更名,也可以对文件进行更名os.renames(old, new)
删除path指定的空目录,如果目录非空,则抛出一个OSError异常os.rmdir(path)
获取path指定的路径的信息,功能等同于C API中的stat()系统调用os.stat(path)
决定stat_result是否以float对象显示时间戳os.stat_float_times([newvalue])
获取指定路径的文件系统统计信息os.statvfs(path)
创建一个软链接os.symlink(src, dst)
返回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组os.tcgetpgrp(fd)
设置与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组为pgos.tcsetpgrp(fd, pg)
Python3 中已删除。返回唯一的路径名用于创建临时文件os.tempnam([dir[, prefix]])
Python3 中已删除。返回一个打开的模式为(w+b)的文件对象 .这文件对象没有文件夹入口,没有文件描述符,将会自动删除os.tmpfile()
Python3 中已删除。为创建一个临时文件返回一个唯一的路径os.tmpnam()
返回一个字符串,它表示与文件描述符fd 关联的终端设备。如果fd 没有与终端设备关联,则引发一个异常os.ttyname(fd)
删除文件路径os.unlink(path)
返回指定的path文件的访问和修改的时间os.utime(path, times)
输出在文件夹中的文件名通过在树中游走,向上或者向下os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
写入字符串到文件描述符 fd中. 返回实际写入的字符串长度os.write(fd, str)
获取文件的属性信息os.path 模块
获取当前目录的父目录,以字符串形式显示目录名os.pardir()
重命名文件或目录os.replace()

##7 面向对象

##7.1初识对象

  • 步骤:

    • 1.设计类(class)
    • 2.创建对象
    • 3.对象属性赋值
      ##7.2 类的成员方法
  • 语法

  • class 类名称:
    类的属性(定义在类中的变量(成员变量))

      类的行为(定义在类中的函数(成员方法))
    
  • 创建类对象的方法:

对象=类名称()
  • 从这里开始,定义在类内部的函数称之为方法
    ####成员方法的定义语法
def方法名(self,形参1,……,形参N)
	方法体

可以看到,在方法定义参数列表中有一个self关键字

  • self关键字是成员方法定义的时候必须填写的
  • 它用来表示类对象自身的意思
  • 当我们使用类对象调用方法的是,self会自动被python传入
  • 在方法内部,想要访问类的成员变量,必须使用self
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值