一、计算机的组成
计算机由两部分组成:硬件 和 软件
硬件包含:键盘、鼠标、显示器、CPU、主板、内存、硬盘 。。。
-硬件是看的见摸得着的
软件包含:系统软件(windows、macOS、Linux)和应用软件(office 、QQ、绝地求生)
-软件是看的见摸不着的,软件负责控制计算机中的硬件
二、指令和程序
计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。
中央处理器:运算器和控制器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。
程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情
“冯·诺依曼结构”有两个关键点,一是指出要将存储设备与中央处理器分开,二是提出了将数据以二进制方式编码。
三、字面量、变量、数据类型
标识符:
- 第一个字符必须是字母表中字母或下划线 _ 。
- 标识符的其他的部分由字母、数字和下划线组成。
- 标识符对大小写敏感。
在Python中所有可以自主命名的内容都属于标识符
比如:变量名、函数名、类名
标识符必须遵循标识符的规范
1.标识符中可以含有字母、数字、_,但是不能使用数字开头
例子:a_1 _a1 _1a
2.标识符不能是Python中的关键字和保留字
也不建议使用Python中的函数名作为标识符,因为这样会导致函数被覆盖
3.命名规范:
在Python中注意遵循两种命名规范:
下划线命名法
所有字母小写,单词之间使用_分割
max_length min_length hello_world xxx_yyy_zzz
帕斯卡命名法(大驼峰命名法)
首字母大写,每个单词开头字母大写,其余字母小写
MaxLength MinLength HelloWorld XxxYyyZzz
如果使用不符合标准的标识符,将会报错 SyntaxError: invalid syntax
字面量:
-字面量就是一个一个的值,比如:1,2,3,4,5,6,‘HELLO’
-字面量所表示的意思就是它的字面的值,在程序中可以直接使用字面量
变量:
-变量(variable)变量可以用来保存字面量,并且变量中保存的字面量是不定的
-变量本身没有任何意思,它会根据不同的字面量表示不同的意思
在程序设计中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。
一般我们在开发时,很少直接使用字面量,都是将字面量保存到变量中,通过变量来引用字面量
变量命名:
对于每个变量我们需要给它取一个名字,就如同我们每个人都有属于自己的响亮的名字一样。在Python中,变量命名需要遵循以下这些必须遵守硬性规则和强烈建议遵守的非硬性规则。
- 硬性规则:
- 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
- 大小写敏感(大写的
a
和小写的A
是两个不同的变量)。 - 不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。
- PEP 8要求:
- 用小写字母拼写,多个单词用下划线连接。
- 受保护的实例属性用单个下划线开头(后面会讲到)。
- 私有的实例属性用两个下划线开头(后面会讲到)。
当然,作为一个专业的程序员,给变量(事实上应该是所有的标识符)命名时做到见名知意也是非常重要的。
数据类型 :
数据类型指的就是变量的值得类型,也就是可以为变量赋哪些值
- 数值
- 整型 int
- 布尔值 bool
- 浮点型 float
- 复数 complex
- 整型 int
- 字符串 str
- 空值 None
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
四、对象和变量关系
对象(object):
- Python是一门面向对象的语言
- 一切皆对象!
- 程序运行当中,所有的数据都是存储到内存当中然后再运行的!
- 对象就是内存中专门用来存储指定数据的一块区域
- 对象实际上就是一个容器,专门用来存储数据
- 像我们之前学习的数值、字符串、布尔值、None都是对象
对象的结构:
- 每个对象中都要保存三种数据
- id(标识)
> id用来标识对象的唯一性,每一个对象都有唯一的id
> 对象的id就相当于人的身份证号一样
> 可以通过id()函数来查看对象的id
> id是由解析器生成的,在CPython中,id就是对象的内存地址
> 对象一旦创建,则它的id永远不能再改变
- type(类型)
> 类型用来标识当前对象所属的类型
> 比如:int str float bool 。。。
> 类型决定了对象有哪些功能
> 通过type()函数来查看对象的类型
> Python是一门强类型的语言,对象一旦创建类型便不能修改
- value(值)
> 值就是对象中存储的具体的数据
> 对于有些对象值是可以改变的
> 对象分成两大类,可变对象 不可变对象
可变对象的值可以改变
不可变对象的值不能改变,之前学习的对象都是不可变对象
变量和对象
- 对象并没有直接存储到变量中,在Python中变量更像是给对象起了一个别名
- 变量中存储的不是对象的值,而是对象的id(内存地址),
当我们使用变量时,实际上就是在通过对象id在查找对象
- 变量中保存的对象,只有在为变量重新赋值时才会改变
- 变量和变量之间是相互独立的,修改一个变量不会影响另一个变量
五、运算符(操作符)
- 运算符可以对一个值或多个值进行运算或各种操作
- 比如 + 、-、= 都属于运算符
- 运算符的分类:
1.算术运算符:+ - * / // ** %
2.赋值运算符:= += -= *= **= /= //= %=
3.比较运算符(关系运算符):> >= < <= == !=[==比较的对象的值] is is not[比较的是对象的id,是不是同一个对象]
4.逻辑运算符:not and or
5.条件运算符(三元运算符):语句1 if 条件表达式 else 语句2