day1大海老师之变量和数据类型的介绍
1.编程和编程语言
1.1.什么是编程语言
语言是一个事物与另外一个事物沟通的介质
比如人与人交流汉语,英语,日语
编程语言是程序员与计算机沟通的介质
计算机只能读懂二进制,python解释器可以将python语言转换成计算机理解的二进制
1.2.什么是编程
编程就是程序按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来
我要让电脑进行记录或者判断一种状态,或者我让电脑循环做一件事情
表达的结果就是程序,程序就是一系列的文件
程序就是代码的结合体,一堆代码代表让电脑做一堆的事情
1.3.为什么要编程
在编程的过程中,计算机就像是人的奴隶
我们编程的目的就是为了让计算机代替人类去工作,从而解放人力
2.学习python的套路
2.1.英语学习 VS python
1 |
|
2.2.python的注释
1 | 认识注释 |
代码实例
1 | # 单行注释 |
3.运行代码的2种方式
方式一:交互式
操作人员和系统之间存在交互作用的信息处理方式
1 | 方式一:交互式 直接输入代码运行 |
1.输入python进入python解释器
2.在>>>游标输入python代码进行回车
3.交互式优缺点
1 | 优点: |
方式二: 运行python文件
1.什么是文件
文件是操作系统为用户/应用程序提供的一种操作硬盘的抽象单位
2.为何要用文件
用户/应用程序对文件的读写操作会由操作系统转换成具体的硬盘操作
3.什么是python文件
后缀名是py的文件称为python文件
4.cmd 运行python文件
1.python python文件的绝对路径
2.python python文件的相对路径
(这个是必须切换到python运行文件的文件夹下)
tab可以补全
5.pycharm运行python文件
5.1.pycharm运行python代码文件,右键代码空白部分run
5.2.pycharm运行代码的优势
1 | 优点: |
4.变量
4.1.什么是变量?
量:是衡量/记录现实世界中的某种特征/状态
变:指的是记录的状态是可以发生变化的
人的表情
女孩的衣服
比如人的年龄、性别,游戏角色的等级、金钱等等
4.2.为什么要有变量?
1 | 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的 |
4.3.怎么使用变量(先定义,后调用)
4.3.1.变量的定义与使用
插图:定义变量的三个组成部分
定义变量示范如下
1 | name = 'dahai' |
解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量的定义age=18为例子,如下图
插图:定义变量申请内存
通过变量名即可引用到对应的值
1 | # 通过变量名即可引用到值,我们可以结合print()功能将其打印出来 |
4.3.2.变量名的命名规范
变量名的命名应该见名知意
1 | # 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age |
其他详细的规范如下
1 | # 命名规范 |
4.3.3.变量名的命名风格
形容一个复杂的变量
1 | # 风格一:驼峰体 |
4.3.4.变量值的三大特性
变量的值具备三大特性
1 | #1、id |
查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性
1 | name = '大海' |
5.常量
5.1.什么时常量?
常量指的程序运行过程中不会改变的量
5.2.为什么要有常量?
在程序运行过程中,有些值是固定的,不应该被改变,比如圆周率 3.141592653…
5.3.怎么使用常量?
在python中没有一个专门的语法定义常量,约定俗称是用全部大写的变量名表示常量。如:PI=3.14159 所以单从语法层面去讲,常量的使用与变量完全一致。
插图:
6.字符串类型(str)的介绍
6.1.什么是字符
电子计算机或无线电通信中字母、数字和各种符号的统称。
6.2.什么是字符串
由数字、字母、下划线组成的一串字符。
6.3.字符串的作用
记录描述性质的数据,比如人的名字、性别、家庭地址、公司简介
6.4.字符串的定义
在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号、双引号、三引号
实例
1 |
|
字符串的简单操作
1 | print(name) |
7.用户交互
7.1.什么是与用户交互
程序等待用户输入一些数据,然后程序执行完毕后为用户反馈信息
7.2.为何程序要与用户交互
为了让计算机能够像人一样与用户的交互
7.3.如何用
cmd输入和输出不需要input和print 用于测试
input输入
1 | # input(提示用户的输入信息) 输入的数据都会变成字符串类型 |
print输出
1 | print(name) |
输入的数据都会变成字符串类型
1 | print(type(name)) |
7.数字类型
注意
所有的加了引号的数据类型都是字符串类型
1 | print(type('17')) |
7.1.整数类型(int)
7.1.2.作用
记录年龄,等级,QQ号,各种号码
7.1.2.定义
1 | age = 18 |
7.2.浮点型(float)
7.2.2.作用
记录身高、体重weight、薪资
7.2.2.定义
1 | weight = 151.2 |
8.字符串的格式化输出
8.1.应用格式
程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式
比如要求用户输入用户名和年龄,然后打印如下格式:
My name is xxx,my age is xxx.
这就用到了占位符,如:%s、%d
8.2.%s 占位符
1 | # %s 占位符 可以接受字符和数字 全能 |
8.3.%d 占位符
1 | # %d只能接受数字 有局限性 |
8.4.多个占位符的使用
1 | name = input('输入名字') |
8.5.简化写法
1 | name = input('输入名字') |
9.数字类型的运算符
9.1.算术运算符号
1 | # 加 + |
实例
1 | print(2+2) |
9.2.比较运算符
1 |
实例
返回布尔类型
1 | print(3==4) |
10.布尔类型(bool)
10.1.布尔类型的作用
用来作为判断的条件去用
10.2.布尔值的含义
1 | 布尔值,一个True一个False |
10.3.代码实例
1 | tag = False |
11.复数类型(complex)
1 | # 是一个线性的参数(了解) |
12.列表类型(list)
12.1.对比之前的数据类型
字符串,数字,布尔,复数 都是一个值
12.2.列表作用
记录/存多个值,可以方便地取出来指定位置的值,比如人的多个爱好,一堆学生姓名
12.3.列表定义
在[]内用逗号分隔开多个任意类型的值
1 | L = ['dahai',1,1.2,[1.22,'小海']] |
12.4.列表使用
12.4.1.列表的取值
1 | # # 索引从0开始 相当于我们书的页码 |
12.4.2.列表内元素的修改
1 | L[0]= '红海' |
13.字典
13.1.字典作用
记录多个key:value值,优势是每一个值value都有其对应关系/映射关系key,而key对value有描述性的功能
13.2.字典定义
在{}内用逗号分隔开多个key:value元素,其中value可以是任意的数据类型,而key通常应该是字符串类型
1 | info = {'name':'大海','age':18} |
13.3.字典简单使用
1 | # 简单使用 |
13.4.列表和字典的区别
1 | # 列表是依靠索引 |
14.元组(tuple)
14.1.元组作用
记录多个值,当多个值没有改的需求,此时用元组更合适
14.2.元组定义
在()内用逗号分隔开多个任意类型的值
1 | t = (1,2,'大海',(2,3),['红海',2,3]) |
14.3.元组的简单使用
14.3.1.取值方式和列表一样
1 | # 简单使用 |
14.3.2.不能修改元组内的元素
1 | # t[0]= 5 |
14.3.3.元组里面列表的值可以修改(因为列表可以修改)
1 | print(t[4]) |
15.集合
15.1.集合的作用
关系运算
15.2.集合定义
在{}内用逗号分开个的多个值
注意
1 | 1.元素不能重复(定义不能这样写相同的) |
1 | s = {1,2,3} |
15.3.集合的使用
1 | s1 = {'a','b','c'} |
16.总结规律
一切事务都有规律,掌握了规律,必然会提高学习效率
16.1.按照容器分类
1 | 一个值 字符串,数字,布尔,复数 |
16.2.按照数值和顺序分类
那么就分为3类:数值类型,序列类型,散列类型
16.2.1.什么是数值类型?
表示数字类的一个数据
分别有
整型(int):代表一个整数 作用 表示 年龄 分数
浮点型 (float): 代表一个小数 表示 身高 体重
布尔类型( bool): 计算机的真假代表一个数字类的数据 0 和 1 True False 首字母大写 判断真假
复数(complex(了解)): z = 4 - 4j # 表示坐标 实部,虚部 表示一个线性的参数
16.2.2.什么是序列类型?
按照一定顺序排序的数据类型
列表(list ): 多个数据 存储数据:可以放任任意的数据类型
元组( tuple): 多个数据 存储数据:可以放任任意的数据类型 不能修改和添加里面的值 私密的数据
字符串 (str ): 一个数据 描述性质:表示名字
16.2.3.什么是散列类型?
不可以进行索引取值
没有顺序,一盘散沙
集合(set ): 多个数据 ,存储数据:可以放任任意的数据类型, 可变类型,无序,
字典 (dict):多个数据 ,存储数据:key里面只能放入不可变类型,最好字符串类型,value里面可以放任任意的数据类型