python笔记

字面量

字面量:在代码中,被写下来的的固定的值,称之为字面量
常用的值类型

  • 数字:1.整数 2.浮点数 3.复数 4.布尔
  • 字符串:
  • 列表
  • 元组
  • 集合
  • 字典

字符串:又称文本,是由任意数量的字符如中文,英文,各类符号,数字等组成的。所以叫做字符的串

注释

注释:在程序中对程序代码进行解释说明的文字
注释的分类:

  • 单行注释:以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用

  • 多行注释:以一对三个双引号引起来(“””注释内容““”)来解释说明一段代码的作用使用方法

    注意:#号和注释内容一般建议以一个空格隔开

    变量

    变量:在程序运行时,能储存计算结果的或表示值的抽象概念。简单的说,变量就是在程序运行时,记录数据用的
    语法:

    变量名称=变量的值
    

    数据类型

类型描述说明
string字符串类型用引号引起来的数据就是字符串
int整型(有符号)数字类型,存放整数
float浮点型(有符号)数字类型,存放小数

type()语句

作用:得到数据的类型
语法

type(被查看类型的数据)

数据类型的转换

数据类型之间,在特定的场所下,是可以互相转换的

语句(函数)说明
int(x)将x转换为一个整数
float(x)将x转换为一个浮点数
str(x)将x转换为字符串

这三个语句都是带有结果的(返回值)我们可以用print直接输出,或用变量储存结果值

标识符

作用:在编程的时候所用的的一系列名字,用于给变量、类、方法命名

标识符命名中,只允许出现:

  • 英文

  • 中文

  • 数字

  • 下划线

    这四类元素,其余任何元素都不被允许

注意:1.不推荐使用中文 2.数字不可以开头3.不可使用关键字

运算符

算术运算符

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

赋值运算符

运算符描述实例
=赋值运算符把=号右边的结果赋给左边的变量

复合运算符

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

字符串扩展

字符串的三种定义方式

  1. 单引号定义法name=‘内容’`

  2. 双引号定义法

    name=“内容”
    
  3. 三引号定义法

    name="""内容"""
    
  • 单引号定义法,可以内含双引号
  • 双引号定义法,可以内含单引号
  • 可以使用转义字符(\)来将引号接触效用,变成普通字符
    ##字符串拼接
    如果我们有两个字符串字面量,可以将其拼接成一个字符串,通过加号即可完成print(“内容”+“内容”)不过一般,单纯的两个字符串看起来很呆,一般,字面量和变量或变量和变量之间会使用拼接

字符串格式化

message="%s"%name

其中的%s

  • %表示:我要占位
  • s 表示:将变量变成字符串放入占位的地方

所以,综合起来的意思是:我先占位个位置,等一会有个变量过来,我把它变成字符串放到占位的地方

字符串格式化2

语法:f"内容{变量}"

格式化的精度控制

我们可以使用辅助符号"m.n"来控制数据的宽度和精度

  • m,控制宽度,要求是数字(很少使用),设置的宽度小于数字本身,不生效
  • .n,控制小数点的精度,要求是数字,会进行小数的四舍五入

示例:

  • %5d:表示将整数的宽度控制在5位,不足用空格补齐

  • %5.2f:表示将宽度控制在5,将小数点精度设置为2,小数点和小数部分也算入宽度计算

  • %.2f:表示不限制宽度,只设置小数点精度为2

    表达式的格式化

    表达式:一条具有明确执行结果的语句
    再无需要使用变量储存数据的时候,可以直接格式化表达式,简化代码

    数据输入

    input语句(函数)

  • 数据输出:print

  • 数据输入:input

使用:

  • 使用input()语句可以从键盘获取输入
  • 使用一个变量接收(储存)input语句获取的键盘输入数据即可

布尔类型

布尔类型的字面量:

  • True 表示真(是,肯定)

  • False表示假(否,否定)

    变量名称=布尔类型字面量
    

    比较运算符

    布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符的内容得到

运算符描述示例
==判断内容是否相等,满足为True,不满足为Flase如a=3,b=3,则(a==b)为True
!=判断内容是否不相等,满足为True,不满足为Flase如a=1,b=3,则(a!=b)为True
>判断运算符左侧内容是否大于右侧,满足为True,不满足为Flase如a=7,b=3则(a>b)为True
<判断运算符左侧内容是否小于右侧,满足为True,不满足为Flase如a=3,b=7则(a<b)为True
>=判断运算符左侧内容是否大于等于右侧,满足为True,不满足为Flase如a=3,b=7则(a>=b)为True
<=判断运算符左侧内容是否小于等于右侧,满足为True,不满足为Flase如a=3,b=7则(a<=b)为True

if判断语句

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

if else语句

if条件:
    满足条件时,要做的事   
else:
    不满足条件时要做的事

if elif else语句

if 条件1:
    满足条件1应做的事 
elif 条件2:
    满足条件2时要做的事
.....
else:
    所有条件都不满足要做的事

判断语句的嵌套

嵌套的关键点,在于:空格缩进
通过空格缩进,来决定语句之间的:层次关系

循环语句

while循环语句

while 条件:
    满足条件时,要做的事

只要条件满足,会无限循环下去

while循环嵌套

  • 同判断语句的嵌套循环一样,循环语句的嵌套,要注意空格的缩进
  • 基于空格缩进来决定层次关系
  • 注意条件的设置,避免出现无限循环(除非真的需要无限循环)

for循环

  • while循环的循环条件是自定义的,自行控制循环条件
  • for循环是一种“轮询”机制,是对一批内容进行“逐个处理”

语法:

for(临时变量 in 待处理数据集)
    循环满足条件时执行的代码

遍历字符

#定义字符串name
name="itheima"
#for循环字符字符串
for x in name:
    print(x)

range

for循环语句,本质上遍历:序列类型

语法1:

range(num)

获取一个从0开始,到num结束的数字序列(不包含num本身)

语法2:

range(num1,num2)

获得一个从num1开始,到num2结束的数字序列(不包含num2本身)

语法3:

range(num1,num2,step)

获得一个从num1开始,到num2结束的数字序列(不包含num2本身)

数字之间的步长,以step为准(step默认为1)

for循环的变量作用域

  • 实际上是可以访问的
  • 在编程规范上,是不允许,不建议这么做的

循环中断

continue

作用:中断本次循环,直接进入下一次循环

用于for循环和while循环效果一致

for in range(1,100):
    语句1
    continue
    语句2

break

作用:直接结束循环

用于for循环和while循环效果一致

for in range(1,100):
    语句1
    break
    语句2
语句3

函数

函数:是组织好的,可重复使用的,用来实现特定功能的代码段

函数的定义

def 函数名 (传入参数):
    函数体
    return 返回值

函数使用步骤:

  • 先定义函数
  • 后调用函数

注意事项:

  • 参数不需要,可以省略
  • 返回值不需要可以省略

函数的传入参数

语法:

#定义函数
def add(x,y):
    result=x+y
    print(f"{x}+{y}的结果是:{resulit}")
#调用函数
add(5,6)
  • 函数定义中,提供的x和y,称之为:形式参数(形参),表示函数声明将要使用2个参数
  • 参数之间使用逗号进行分隔
  • 函数调用中,提供的5和6,称之为:实际参数(实参),表示函数执行时真正使用的参数值
  • 传入的时候,按照顺序传入数据,使用逗号分隔

返回值

所谓返回值就是函数完成事情后,最后调用者的结果

None

None表示空的,无实际意义的意思

函数返回的None,就表示,这个函数没有返回什么实际内容

None类型的应用场景

  • 用在函数无返回值上

  • 用在if判断上

    • 在if判断中,None等同于False
    • 一般用于在函数中主动返回None
  • 用于声明无内容的变量上

    • 定义变量,但暂时不需要变量有具体值,可以用None来代替
    #暂不赋予变量具体值
    name=None
    

函数说明文档

可以给函数添加说明文档,辅助理解函数的作用

语法

def func(x,y):
    """"""
    函数说明
    :param x: 形参x的说明 
    :param y: 形参y的说明
    :return: 返回值的说明
    """"""
    函数体
    return 返回值
  • 内容应写在函数体之前

函数的嵌套应用

一个函数里面又调用了另一个函数

def func_b():
    print("---2---")
def func_a():
    print("---1---")
    func_b()
    print("---3---")
#调用函数func_a
func_a()

执行流程

函数A中执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容

变量的作用域

  • 局部变量
  • 全局变量

所谓局部变量就是定义在函数体内部的变量,即只在函数体内部生效

局部变量作用:在函数体内,临时保存数据函数执行完后,则销毁变量数据

全局变量就是指在函数体内外都能生效的变量

  • 使用global关键字,global变量

列表

基本语法:

#字面量
[元素1,元素2,元素3·····]
#定义变量
变量名称=[元素1,元素2·····]
#定义空列表
变量名称=[]
变量名称=list()

列表内的每一个数据,称之为元素

  • 以[]作为标识
  • 列表内每一个元素之间用逗号隔开

下标索引:

列表的每一个元素,都有编号称之为下标索引

从前向后的方向,编号从0开始递增

从后向前的方向,编号从-1开始递减

查找某元素的下标:

列表.index(元素)
#如果元素不存在:报错

修改特定位置元素的值

列表[]=

插入元素

列表.insert(下标元素)

尾部追加元素

列表.append()

删除指定下标元素

del 列表[下标]
列表.pop() 可以取出删除元素

删除元素在列表中第一个匹配项

列表.remove(元素)

清定列表

列表.count(元表)

统计列表内某元素的数量

列表.clear()

统计列表内某元素的数量

列表.count(元素)

统计列表内元素

len()

OS

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

初识类

  • 设计表格,称之为:设计类(class)
  • 打印表格,称之为:创建对象
  • 填写表格,称之为:对象属性赋值

类的定义和使用

  • class是关键字,表示要定义类了
  • 类的属性,即定义在类中的变量(成员数量)
  • 类的行为,即定义在类中的函数(成员方法)
class 名:
    变量;
    方法;

语法:

对象=类名称()

类中:

  • 不仅可以定义属性用来记录数据
  • 也可以顶函数,用来记录行为

其中:

  • 类中定义的属性(变量),我们称之为:成员变量
  • 类中定义的行为(函数),我们称之为:成员方法
def 方法名(self,形参1.....,形参N)
    方法体

self关键字是成员方法定义是,必须填写的

  • 它用来表示类对象自身的意思
  • 当我们使用类调用方法时,self会自动被python传入
  • 方法内部,想要访问类的成员变量,必须使用self

传参时,可以忽略它

stu.name=""//调用成员变量
stu.方法名()//调用成员方法

类和对象

关系

类是程序中的“设计图纸”

对象是基于图纸生产的具体实体

面向对象编程:

适用对象进行编程。即,设计类,基于创建类对象,并使用对象来完成具体的工作

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值