python基础知识
- 什么是计算机语言
- 计算机就是台计算的机器,人让计算机干什么计算机就干什么
- 需要通过计算机语言控制计算机(编程语言)
- 计算机语言和人类语言没有本质区别,不同点是交流主体不同
- 计算机语言发展经历三个阶段
- 机器语言
- 通过二进制编码编写程序
- 执行效率好,开发困难
- 通过二进制编码编写程序
- 汇编语言
- 使用符号代替机器码
- 编写程序不需要编写二进制,直接编写符号
- 编写完成后,需要将符号转换位机器码,然后执行
- 符号转换位机器码的过程称为汇编
- 机器码转换为符号的过程,称为反汇编
- 汇编语言一般只适用于某些硬件,兼容性比较差,用来写硬件驱动
- 符号转换位机器码的过程称为汇编
- 使用符号代替机器码
- 高级语言
- 高级语言语法基本和英语语法类似,和硬件关系不紧密
- 高级语言开发的程序可以在不同的系统中执行
- 高级语言学习起来也比较容易
- 高级语言语法基本和英语语法类似,和硬件关系不紧密
- 机器语言
- 编译型和解释型语言
- 计算机只能识别二进制码,,任何语言在计算机执行都要先转换成机器码
- 根据转换时机的不同,分为两类
- 编译型
- C,在代码执行前,编译为机器码,计算机执行
- 执行速度快,跨平台性比较差
- C,在代码执行前,编译为机器码,计算机执行
- 解释性语言
- 在执行的同时一边执行一边编译
- 执行速度比较慢
- 跨平台性比较好
- 在执行的同时一边执行一边编译
- 编译型
- 计算机只能识别二进制码,,任何语言在计算机执行都要先转换成机器码
- 计算机就是台计算的机器,人让计算机干什么计算机就干什么
- Python主要涉及的领域
- 自动化测试
- 爬虫
- 数据分析
- 大数据开发
- 人工智能、机器学习
- web开发
- 自动化运维
- 自动化测试
- 特点
- 简单
- 明确
- 优美
- 编程语言分类
- 编译型
- c c++ golang java
- 运行速度快
- 跨平台性差,维护成本高
- 系统变化需要重新编译
- c c++ golang java
- 解释型
- python
- 运行速度慢(做亿级计算时比编译型慢)
- 跨平台性好,维护成本低
- 只要装了解释器就可以使用
- python
- 编译型
- 简单
- 环境搭建
- 安装python解释器
- python安装
- 3.5版本之后是个飞跃
- 3.5版本之后是个飞跃
- 安装python解释器
- 几个概念
- 表达式 类似数学公式的东西
- 表达式一般仅仅计算一些结果,不会对程序产生实质性的影响
- 只有在交互模式输表达式,会输出运算结果
- 表达式一般仅仅计算一些结果,不会对程序产生实质性的影响
- 语句
- 在程序中语句一般需要完成某种功能,如打印,赋值
- 语句的执行一般会对程序产生影响
- 在交互模式中不一定会输出结果
- 在程序中语句一般需要完成某种功能,如打印,赋值
- 程序
- 程序就是多条语句和表达式构成
- 程序就是多条语句和表达式构成
- 函数
- 函数是一种语句,用来完成特定功能
- 函数分类
- 内置 解释器提供的,可以直接使用
- 自定义 程序员开发的
- 找内置函数 参考官方文档
- 内置 解释器提供的,可以直接使用
- 函数的两个要素
- 参数 可以没有,也可以有多个
- 返回值
- 参数 可以没有,也可以有多个
- 函数是一种语句,用来完成特定功能
- 表达式 类似数学公式的东西
- 解释器
- cpython 底层是C,单线程运行速度非常快
- Ipython 数据分析多用,只有细微区别,语法和cpython几乎一样,使用.net编写
- jpython 主要和Java交互
- cpython 底层是C,单线程运行速度非常快
- 基本语法
- 严格区分大小写
- 每一行就是一条语句,换行符(回车)结束
- 每一行语句不要过长,影响阅读
- 一条语句可以多行写,以\结尾
- 缩进严格
- 注释#
- 严格区分大小写
- 字面量
- 字面量表示的就是它字面的值 1 2 “hello”
- 程序可以直接使用字面量 print(1)
- 字面量表示的就是它字面的值 1 2 “hello”
- 变量
- 变量的本质是用于存储数据,可以保存字面量,变量中保存的字面量是可变的
- 变量本身没有意思
- 标识符命名规范 标识符:变量名 函数名 类名
- 字母+_,不能以数字开头
- 不要用python的保留字和关键字,内置函数名
- 起名尽量有意义
- 不要过长
- 不要中文命名
- 推荐下划线命名
- 大驼峰 每个单词首字母大写
- 字母+_,不能以数字开头
- 变量的本质是用于存储数据,可以保存字面量,变量中保存的字面量是可变的
- 常量
- 不能更改的量 如π PI
- Python中没有真正不能修改的常量,c语言中有,修改会报错
- 约定俗成,所有全大写命名的变量称为常量
- 不能更改的量 如π PI
- 注释
- 注释的作用
- 看懂代码
- 调试作用
- 看懂代码
- 单行注释 +#
- 多行注释+''' '''
- 注释的作用
- 数据类型 变量的值的类型
- 数值
- 整型int 大小没有限制
- 十进制数字不能以0开头 ,可以下划线分隔整数
- 二进制0b开头
- 八进制0o开头
- 十六进制0x开头
- print肯定是十进制数
- 十进制数字不能以0开头 ,可以下划线分隔整数
- 浮点float
- 对浮点数进行运算可能得到不精确结果,因为二进制无法精确表示十分之一
- 对浮点数进行运算可能得到不精确结果,因为二进制无法精确表示十分之一
- 复数
- 整型int 大小没有限制
- 布尔值bool
- True
- False
- int类型布尔值 所有非0都为真 0为假
- 字符串布尔值,只有空字符串为假
- True
- 字符串str
- 程序中表示文本信息
- 单引号双引号不能跨行,跨行用三引号
- \uxxx 打印万国码符号
- 程序中表示文本信息
- 算术运算符
- +-*
- / 结果总会返回浮点
- //整除 只保留整数 对浮点数做算术运算,结果也会返回一个浮点数
- %取余数,取模
- **幂 **0.5取平方根
- +-*
- 关系运算符|比较运算符 返回一个布尔值,
- 在python中可以对两个字符串进行大小比较运算,对字符串比较是,实际上比较的是字符串的Unicode编码
- 比较两个字符串的unicode编码时,是逐位比较的 'ab' >'b'先比较a 和b的编码,对于中文来说意义不大
- 相等和不等比较的是对象的值不是id
- < > == !=
- <= >=
- is is not 比较两个对象是否是一个对象
- 一个=为赋值
- 在python中可以对两个字符串进行大小比较运算,对字符串比较是,实际上比较的是字符串的Unicode编码
- 字符串拼接
- +
- * a 复制a次
- 格式化数据
- 字符串
- '----%s--- '% a
- '------{}----'.format(a)
- f"{}"
- '----%s--- '% a
- 整数
- %d
- %d
- 字符串
- +
- 数值
- 对象
- 一切皆对象
- 程序运行当中所有的数据都存在内存里
- 对象就是内存中专门用来存储指定数据的一块区域
- 对象其实是一个容器,专门用来存储数据
- 对象的结构
- 每个对象都要保存三种数据
- id
- 标识对象的唯一性
- id()函数查看
- ID是解释器生成的,cpython中,id就是内存地址
- 对象一旦创建id定了,永远不能改变
- 标识对象的唯一性
- type
- 标识当前对象所属类型
- 类型决定了对象有哪些功能
- python是强类型语言,对象一旦创建类型也不能修改
- 标识当前对象所属类型
- value
- 对象中存储的具体数据
- 对于有些对象值可以改变
- 可变对象的值可以改变
- 对象中存储的具体数据
- 每个对象都要保存三种数据
- 变量和对象
- 对象并没有直接存储在变量中,在python中变量更像是对象的别名
- 变量中存储的不是对象的值而是对象的内存地址
- 变量中保存的对象,只有在重新赋值时才会改变
- 变量和变量之间是相互独立的,修改一个变量不会影响另一个变量
- 对象并没有直接存储在变量中,在python中变量更像是对象的别名
- 一切皆对象
- 结构
- 判断
- if elif else
- if elif else
- 逻辑运算
- and or not
- and or not
- 循环
- while
- pass占位符
- while
- 判断
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?