欢迎光临散文网 会员登陆 & 注册

耗时600小时整理《Python教程全套》完全入门版,分享一起学习_高清附...

2021-07-28 20:33 作者:无尽的派  | 我要投稿

输出函数


输出函数print P6 - 03:44


print函数中单双三引号无需理解直接输出内容


输出函数print P6 - 05:18


print函数当中如果是表达式的话会进行运算


输出函数print P6 - 06:05


open函数中'a+'含义:a是以读写的方式打开文件,如果文件不存在的话就创建文件,如果存在的话在原有内容上进行追加,open函数会输入到文件上


输出函数print P6 - 08:38


1.所指定的盘符要存在。2.使用file=fp

注意:如果写a就写不了数据


转义字符与原字符


转义字符与原字符 P7 - 00:30


1.转义字符就是反斜杠+想要实现的转移功能首字母

2.字符串中包含反斜杠,单引号和双引号等有特殊用途的字符是,必须使用反斜杠对这些字符进行转义

3.可以使用转义字符显示,字符串中包含换行,回车,水平制表符或退格等无法直接显示的特殊字符


转义字符与原字符 P7 - 00:31


反斜杠:\\ 单引号:\' 双引号:\“ 换行:\n 回的:\r 水平制表符:\t 退格:\b


转义字符与原字符 P7 - 02:55


注意:\t在使用时,一个\t占据四个字符的位置。重开一个制表位取决于\t之前是否占满制表位,占满就重新开一个,不占满不重新开


转义字符与原字符 P7 - 06:06


print(hello\rworld) #world将hello进行覆盖

print(hello\bworld) #\b就是退一个格,把o退没了


转义字符与原字符 P7 - 10:06


1.使转义字符不起作用的字符就叫原字符

2.不希望字符串中的转义字符起作用,就使用原字符,就是在字符串之前加上r或R

3.原字符串的最后一个字符不能是反斜线,但可以是\\


二进制与字符编码

byte KB MB GB TB(进制为1024,8bit等于1byte)

print(chr(0b100111001011000)) #0b表示二进制=乘

print(ord('乘')) =20056


标识符和保留字


Python中的标识符和保留字 P9 - 00:36


·不允许命名任何对象且具有特定意义的单词叫做保留字

import keyword #查找保留字

print(keyword.kwlist)


Python中的标识符和保留字 P9 - 02:20

·变量,函数,类,模块和其他对象起的名字叫做标识符

·规则:

·字母,数字,下划线

·不能以数字开头

·不能是我的保留字

·我是严格区分大小写的


变量的定义和使用


变量的定义和使用 P10 - 00:21


·变量是内存中一个带标签的盒子


变量的定义和使用 P10 - 02:15

·变量的组成:

标识:表示对象所存储的内存地址,使用内置函数id(obj)获取

类型:表示对象的数据类型,可使用内置函数tybe(obj)来获取

:表示对象所储存的具体数据,使用print(obj)进行输出

·当多次赋值之后,变量名会指向心的空间


常见的数据类型

整数类型(int)浮点型(float) 布尔型(bool) 字符串型(str)

整数型的不同进制表示方式

·十进制>>默认的进制

·二进制>>以0b开头

·八进制>>以0o开头

·十六进制>>0x开头

浮点型 浮点数存储不确定性,进行计算时可能会出现小数位数不确定的情况,可导入模块decimal

布尔型 可以转换为整数:True>>1 False>>0

字符串型 单双引号定义的字符串必须在一行,三引号定义的字符串可以分布在连续的多行


集合生成式 P75 - 03:25



字符串

·在python中字符串是基本数据类型,是不可变的字符序列

字符串驻留机制

·仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量

·驻留机制的几种情况:

1·字符串的长度为0或1时

2·符合标识符的字符串

3·字符串只在编译时进行驻留,而非运行时

4·[-5,256]之间的整数数字

·sys中的intern方法强制2个字符串指向同一个对象

·pycharm对字符串进行了优化处理

·优缺点

当需要值相同的字符串时,可以直接从字符串池里拿来使用,避免频繁的创建和销毁,提高效率和节约内存,因此拼接字符串和修改字符串会比较影响性能的

在需要进行字符串拼接时建议使用str类型的join方法,而非+方法是先计算出所有字符中的长度,然后再拷贝,只new一次对象,效率要比‘+’效率高

字符串的常用操作

index()查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出ValueError

rindex()查找子串substr最后一次出现的位置,如果查找的子串不存在时,则抛出ValueError

find()查找子串substr第一次出现的位置,如果查找的子串不存在时,则返回-1

rfind()查找子串substr最后一次出现的位置,如果查找的子串不存在时,则返回-1

大小写转换

upper()字符都转成大写字母

lower()字符都转成小写字母

swapcase()大写字母都转成小写字母,小写字母都转成大写字母

capitalize()第一个字符转成大写,其余字符转成小写

title() 每个单词的每一个字符转成大写,每个单词的剩余字符转成小写

内容对齐

center() 居中对齐 ljust()左对齐 rjust()右对齐

第一个参数指定宽度,第二个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串。

zfill()右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果指定的宽度小等于字符串的长度,返回字符串本身

劈分

split()从左劈分 rsplit()从右劈分

·默认的劈分字符是空格字符串,返回的值都是一个列表

·参数sep指定劈分字符串的是劈分符

·参数maxsplit指定劈分字符串的最大劈分次数,经过最大次劈分之后,剩余的子串会单独做为一部分

判断

isidentifier()是否为合法标识符

isspace()是否全部由空白字符组成(回车,换行,水平制表符)

isalpha()是否全部由字母组成

isdecimal()是否全部由十进制的数字组成

isnumric()是否全部由数字组成

isalnum()是否全部由字母和数字组成

替换和合并

replace() 第一个参数指定被替换的子串,第二个参数指定字符串,替换前后不发生变化。第三个参数指定最大替换次数

join()将列表或元组中的字符串合并成一个字符串

切片

字符串是不可变类型,不具有增,删,改等操作,切片操作将产生新对象

格式化

%,{}做占位符。 %s为字符串,%i或%d为整数,%f为浮点数

编码与转换

编码:将字符串转换为二进制数据

解码:将bytes类型的数据转换为字符串类型


函数

创建和调用

函数就是执行特定任务和以完成特定功能的一段代码

优点:复用代码,隐藏实现细节,提高可维护性,提高可读性便于调试。

创建 def 函数名 ([输入参数]):

函数体

[return xxx]

参数传递

位置实参:根据形参对应的位置进行实参传递

关键字实参:根据形参名称进行实参传递

返回值

1.如果函数没有返回值【函数执行完毕之后,不需要给调用提供数据】

2.函数的返回值,如果是一个,直接返回原值。如果是多个,返回值为元组

默认值

函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递

参数定义

·个数可变的位置参数

定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数

使用*定义个数可变的位置形参

结果为一个元组

·个数可变的关键字形参

定义函数时,无法事先确定传递的关键字实参的个数时,使用可变的关键字形参

使用**定义个数可变的关键字形参

结果为一个字典


变量

变量的作用域

·程序代码能访问该变量的区域

·局部变量,在函数内定义并使用的变量,只在函数内部有效。局部变量使用global声明可以成为全局变量

·全局变量,函数体外定义的变量,可用于函数内外

递归函数

·如果在一个函数的函数体内调用该函数本身,这个函数就被称为递归函数

递归的组成部分·递归调用与递归终止条件

递归的调用过程·每递归调用一次函数,都在栈内存分配一个栈帧·每执行完一次函数,都会释放相应的空间

优缺点·优点:思路和代码简单·缺点:占用内存多,效率低下


Bug

常见类型

·粗心导致的自查宝典

1·漏了末尾的冒号,如if语句,循环语句,else语句等

2·缩进错误,该缩进的没缩进,不该缩进的瞎缩进

3·把英文符号写成中文符号,比如引号,冒号,括号

4·字符串拼接的时候,把字符串和数字拼接在一起

5·没有定义变量,比如while的循环条件的变量

6·“==”比较运算符和“=”赋值运算符的混用

·知识不熟练导致的错误

1·索引越界问题IndexError

2·append()方法的使用掌握不熟练

·被动掉坑

1·解决方案:python提供了异常处理进制,可以在异常出现是即时捕获,然后内部消化,让程序继续运行

2·多个except结构:捕获异常的顺序按照先子类后父类的顺序,为了避免遗漏可能出现的异常,可以在最后增加BaseException

3·try...except...else结构:如果try块中没有抛出异常,则执行else块,如果try块中抛出异常,则执行except块



对象的创建又称为类的实例化

语法:实例名=类名()

意义:有了实例,就可以调用类中的内容

类属性:类中方法外的变量称为类属性,被该类的所有对象所共享

类方法:使用@classmethod修饰的方法,使用类名直接访问的方法

静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法

动态绑定属性和方法

面对对象的特征

·封装:提高程序的安全性


*将数据(属性)和行为(方法)包装到类对象中。在方法内部对属性进行操作,在类对象的外部调用方法。这样,无需关心方法内部的具体实现细节,从而隔离复杂度。

*在python中没有专门的修饰符用于属性的私有,如果该属不希望在类对象外被访问,前边使用‘--’

·继承:提高代码的复用性


*如果一个类没有继承任何类,则默认继承object

*python支持多继承

*定义子类时,必须在其构造函数中调用父类的构造函数

·多态:提高程序的可扩展性和可维护性



方法重写

object类

特殊方法和特殊属性










耗时600小时整理《Python教程全套》完全入门版,分享一起学习_高清附...的评论 (共 条)

分享到微博请遵守国家法律