Python基础学习

清疚 2023-07-22 14:25 51阅读 0赞

文章目录

  • 一,Python基础
    • 1.1,Python特性
    • 1.2,特点
    • 1.3,运算符
    • 1.4,变量类型
    • 1.5,字符串
    • 1.5,math库
    • 1.7,string库
    • 1.8,正则表达式
  • 二,常用数据结构
    • 2.1,列表List[ ]有序可变
    • 2.2,元组Tuple()有序不可变
    • 2.3,字典dict{ : }无序可变
    • 2.4,集合set{}无序不重可变
    • 2.5,推导式
  • 三,流程控制&面向对象编程
    • 3.1,流程控制—-分支结构
    • 3.2,流程控制—-循环结构
    • 3.3,函数
    • 3.4,变量作用域
    • 3.5,类
    • 3.6,模块:
    • 3.7,面向对象基础
  • 四,
    • 4.1,文件和异常
    • 4.2,正则表达式
    • 5.1,os操作
    • 4.3,进程和线程
    • 4.4,数据结构和算法

文档链接:

  • 官方文档
  • 中文教程
  • 刘江博客
  • 博学谷项目
  • Django零基础
  • Python核心编程

编辑工具:

  • iPython
  • jupyter notebook
  • sublime text
  • Pycharm
  • Pip
  • 颜色

一,Python基础


1.1,Python特性

在这里插入图片描述

1.2,特点

在这里插入图片描述

1.3,运算符

在这里插入图片描述

1.4,变量类型

在这里插入图片描述

1.5,字符串

在这里插入图片描述

1.5,math库

在这里插入图片描述

1.7,string库

在这里插入图片描述

1.8,正则表达式

在这里插入图片描述


二,常用数据结构


2.1,列表List[ ]有序可变

在这里插入图片描述

2.2,元组Tuple()有序不可变

在这里插入图片描述

2.3,字典dict{ : }无序可变

在这里插入图片描述

2.4,集合set{}无序不重可变

在这里插入图片描述

2.5,推导式

在这里插入图片描述

  1. result = [lambda x: x + i for i in range(10)]
  2. print(result[0](10)) //0~9 都是19 因为函数具有调用时才查找变量的特性
  3. result = [lambda x, i=i: x + i for i in range(10)]
  4. print(result[0](10)) //0~9 10~19

三,流程控制&面向对象编程


3.1,流程控制—分支结构

在这里插入图片描述

3.2,流程控制—循环结构

在这里插入图片描述

3.3,函数

在这里插入图片描述

  1. def func(a=[]):
  2. print("函数内部a的地址为:%s" % id(a))
  3. a.append("A")
  4. return a
  5. b = func() #函数内部a的地址为:39287880
  6. print('此时b的值为:%s' % b) #此时b的值为:['A']
  7. print("函数外部b的地址为:%s" % id(b)) #函数外部b的地址为:39287880
  8. print("-------------")
  9. c = func() #函数内部a的地址为:39287880
  10. print('此时c的值为:%s' % c) #此时c的值为:['A', 'A']
  11. print("函数外部c的地址为:%s" % id(c)) #函数外部c的地址为:39287880
  12. print("-------------")
  13. def func(a=[]):
  14. a.append("A")
  15. return a
  16. #我们导入的模块除了定义函数之外还中有可以执行代码,那么Python解释器在导入这个模块时就会执行这些代码
  17. #事实上我们可能并不希望如此,因此如果我们在模块中编写了执行代码,最好是将这些执行代码放入如下所示的条件中
  18. if __name__ == '__main__':
  19. print(func()) //["A"]
  20. print(func()) //["A","A"]
  21. print(func()) //["A","A","A"]

3.4,变量作用域

  1. if不包括作用域,以函数为例,层层向上找,函数外不可调用函数内部变量
  2. global a:将函数内部变量调用最外层变量 nonlocal:将函数内部变量调用上一层变量
  1. a=1 b=1 c=1
  2. print(a,b,c) //1,1,1
  3. def fun():
  4. a=2 b=2 c=2
  5. def fun1():
  6. noniocal b b=3 global c c=3
  7. print(a,b,c) //2,3,3
  8. print(a,b,c) //2,3,2
  9. print(a,b,c) //1,1,3
  10. fun1()
  11. fun()
  12. a = 10
  13. def test():
  14. a += 1
  15. print(a)
  16. test() //错误,函数内部要修改一个变量,这个变量必须是内部变量

3.5,类

  1. class 类名(列表):
  2. 方法:类中的函数
  3. 属性:通过实例访问的对象,私有属性,__属性名
  4. 创建调用:a=Dog(‘we’,3) a.方法名()
  5. 继承: class 子类名(父类名): //多继承,可继承多个父类
  6. 创建子类时,父类必须包含在当前文件中,且在子类前
  1. class Test:
  2. def __init__(self, foo):
  3. self.__foo = foo
  4. def __bar(self):
  5. print(self.__foo)
  6. print('__bar')
  7. def main():
  8. test = Test('hello') #类调用
  9. test._Test__bar()
  10. print(test._Test__foo)
  11. if __name__ == "__main__":
  12. main()

3.6,模块:

  1. 包:包名小写,不用下划线,只有包含__init__.py的文件才会被认成包
  2. 封装:代码快,函数,类,模块,包,层层封装调用
  3. 模块:一个.py文件即一个模块,分为自定义/内置/第三方模块
  4. 导入:【from xx】 import xx/os库名,,, 【as xx】
  5. 调用:模块名.函数名
  6. 导入特定的函数:from 模块名 import 函数名,函数名,函数名 as 别名
  7. 别名:as //函数名冲突,或过长
  8. print dir(模块名) //查看已引入的模块的所有属性
  9. 导入模块时,先在当前目录查找,再到sys模块的path变量所指定的目录查找

3.7,面向对象基础

  1. 特点:封装,继承,多态
  2. 其它:类是对象的蓝图和模板,而对象是类的实例
  3. 装饰器:@property #使类中的属性访问更加安全
  4. 方法:静态方法(类中方法前+@staticmethod,判断三边能否构成三角形)
    类方法(类中方法前+@classmethod,def now(cls):方法参数固定cls)
  5. 类之间关系:继承is-a(男人–人),关联has-a(部门–员工),依赖use-a(司机-驾驶->车子)
  6. 重写: 子类在继承了父类的方法后,可以对父类已有的方法给出新的实现版本(override)
  7. 多态: 重写让父类的同一个行为在子类中拥有不同的实现,调用重写方法,不同子类表现不同
  1. class Person(object):
  2. __slots__ = ('_name', '_age', '_gender') # 限定Person对象只能绑定_name, _age和_gender属性
  3. def __init__(self, name, age):
  4. self._name = name
  5. self._age = age
  6. @property # 访问器 - getter方法
  7. def name(self):
  8. return self._name
  9. @property # 访问器 - getter方法
  10. def age(self):
  11. return self._age
  12. @age.setter # 修改器 - setter方法
  13. def age(self, age):
  14. self._age = age
  15. def play(self):
  16. if self._age <= 16:
  17. print('%s正在玩飞行棋.' % self._name)
  18. else:
  19. print('%s正在玩斗地主.' % self._name)
  20. def main():
  21. person = Person('王大锤', 12)
  22. person.play()
  23. person.age = 22
  24. person.play()
  25. # person.name = '白元芳' # AttributeError: can't set attribute
  26. if __name__ == '__main__':
  27. main()

四,


4.1,文件和异常

  1. 定义:用于持久化场景中的数据保存 f=open(‘bb.txt’,‘r’)
  2. 模式:‘r’ 读 ‘w’ 写 ‘x’ 写 ‘a’ 追加 ‘b’ 二进制 ‘t’ 文本 ‘+’ 更新(读+写)
  3. read(): 读取文件,达到文件末尾时会返回一个空字符串,显示出来为空行
  4. readline():读取一行 //PS具体写法json,二进制,参考100篇
  5. 使用相对路径/绝对路径来编写: a=’/home/dd/erjl/a.txt’ with open(a) as bb:
  1. def main():
  2. try: #with则不用finally去关闭f文件
  3. with open('致橡树.txt', 'r', encoding='utf-8') as f: #一次性读取
  4. print(f.read())
  5. with open('致橡树.txt', mode='r') as f: # 通过for-in循环逐行读取
  6. for line in f:
  7. print(line, end='')
  8. time.sleep(0.5)
  9. except FileNotFoundError:
  10. print('无法打开指定的文件!')
  11. except LookupError:
  12. print('指定了未知的编码!')
  13. except UnicodeDecodeError:
  14. print('读取文件时解码错误!')
  15. # finally: #无论如何总执行
  16. # if f:
  17. # f.close()
  18. if __name__ == '__main__':
  19. main()

4.2,正则表达式

  1. 链接:https://deerchao.cn/tutorials/regex/regex.htm
  2. 运用:\d 数字 \w数字字母下划线 \s字符 \b边界 ^开头 $结尾 [ab]==a|b * + ?
  3. 其它:用的时候在查吧

5.1,os操作

在这里插入图片描述

4.3,进程和线程

4.4,数据结构和算法

Pillow:图像操作

  1. 特点:值不可变,判空if a=’’,化整,a=(int)a 字符串编码 在这里插入图片描述

  2. ASCII编码:8位二进制,不兼容汉字

  3. Unicode编码:万国码,Python3使用
  4. UTF-8编码:万国码的优化,兼容ASCII,最流行
  5. GB2312:早期中文编码,不通用
  6. GBK:汉字内码

发表评论

表情:
评论列表 (有 0 条评论,51人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python基础学习

    切片:进行复制 不再改变原先的数据的基础上,对数据进行操作: 取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下: >>>

    相关 python 基础学习

    python 中有五种数据类型:字符串、int、浮点数、bool数、复数(c语言里没有的), 标准输入:raw\_input()接受键盘的输入,把输入的内容当成字符串,Pyt

    相关 Python基础学习

    Python基础学习 前言 Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteri

    相关 Python基础学习

    本次Python学习所有操作均以Mac环境为主。 一、安装Python 目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。由于3.x版

    相关 Python基础学习

    1、数据类型 整型:整数,1、2、3.。。这种 浮点型:简单理解就是小数,1.23、3.141572653等等 字符型:“这是字符”,简单说就是我们说的话,