day1变量和数据类型的介绍1.编程和编程语言1.1.什么是编程语言语言是一个事物与另外一个事物沟通的介质比如人与人交流汉语,英语,日语编程语言是程序员与计算机沟通的介质计算机只
day1变量和数据类型的介绍
1.编程和编程语言
1.1.什么是编程语言
语言是一个事物与另外一个事物沟通的介质
比如人与人交流汉语,英语,日语
编程语言是程序员与计算机沟通的介质
计算机只能读懂二进制,python解释器可以将python语言转换成计算机理解的二进制
1.2.什么是编程
编程就是程序按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来
我要让电脑进行记录或者判断一种状态,或者我让电脑循环做一件事情
表达的结果就是程序,程序就是一系列的文件
程序就是代码的结合体,一堆代码代表让电脑做一堆的事情
1.3.为什么要编程
在编程的过程中,计算机就像是人的奴隶
我们编程的目的就是为了让计算机代替人类去工作,从而解放人力
2.学习python的套路
2.1.英语学习 VS python
Python是语言,而学习语言的套路都是一样的
,以英语学习为例,你需要学单词,然后学语法,最后写作文。
英语的单词---------->Python中的关键字,方法
英语的语法---------->Python的语法
英语的作文---------->用Python语言写的程序
当然python比英语好学,单词基本不用记,语法写错也会有提示
2.2.python的注释
认识注释
注释就是就是对代码的解释说明,注释的内容不会被当作代码运行
怎么用注释
代码注释分单行和多行注释
1、单行注释用#号
2、多行注释可以用三对双引号''''''
代码实例
# 单行注释
'''
多行注释可以用三对双引号
多行注释可以用三对双引号
多行注释可以用三对双引号
'''
3.运行代码的2种方式
方式一:交互式
操作人员和系统之间存在交互作用的信息处理方式
方式一:交互式 直接输入代码运行
最好用来测试代码
cmd
使用方法 win + R
输入python启动,要有环境变量添加的情况下才能启动
1.输入python进入python解释器
2.在>>>游标输入python代码进行回车
3.交互式优缺点
优点:
输入一行代码立刻就返回
缺点:
无法永久保存代码
方式二: 运行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运行代码的优势
优点:
pycharm自动保存代码
语法错误pycharm可以自动检查红色波浪线
注意: python文件的后缀名是py
4.变量
4.1.什么是变量?
量:是衡量/记录现实世界中的某种特征/状态
变:指的是记录的状态是可以发生变化的
人的表情
女孩的衣服
比如人的年龄、性别,游戏角色的等级、金钱等等
4.2.为什么要有变量?
为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的
详细地说:
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。
4.3.怎么使用变量(先定义,后调用)
4.3.1.变量的定义与使用
插图:定义变量的三个组成部分
定义变量示范如下
name = 'dahai'
sex = '男'
age = 35 # 记下人的年龄为35岁
salary = 21000.65 # 记下人的薪资为21000.65元
解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量的定义age=18为例子,如下图
插图:定义变量申请内存
通过变量名即可引用到对应的值
# 通过变量名即可引用到值,我们可以结合print()功能将其打印出来
print(age) # 通过变量名age找到值18,然后执行print(18),输出:18
4.3.2.变量名的命名规范
变量名的命名应该见名知意
# 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age
age = 18
# 如果我们要存储的数据dahai代表的是一个人的名字,那么变量名推荐命名为name
name = 'dahai'
其他详细的规范如下
# 命名规范
1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 关键字不能声明为变量名,常用关键字如下
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
# 错误示范如下:
*a=123
$b=456
c$=789
2_name='lili'
123='lili'
and=123
年龄=18 # 强烈建议不要使用中文命名
# 正确示范如下
age_of_dahai=31
page1='首页'
_class='终极一班'
4.3.3.变量名的命名风格
形容一个复杂的变量
# 风格一:驼峰体
AgeOfDahai = 56
# 风格二:纯小写下划线(在python中,变量名的命名推荐使用该风格)
age_of_dahai = 56
4.3.4.变量值的三大特性
变量的值具备三大特性
#1、id
反应的是变量在内存中的唯一编号,内存地址不同id肯定不同
#2、type
变量值的类型
#3、value
变量值
查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性
name = '大海'
# 1.id相当于在内存中位置或者地址
print(id(name))
# 2.变量值的类型
print(type(name))
# 3.变量值
print(name)
# 结果
'''
2403112027888
大海
'''
5.常量
5.1.什么时常量?
常量指的程序运行过程中不会改变的量
5.2.为什么要有常量?
在程序运行过程中,有些值是固定的,不应该被改变,比如圆周率 3.141592653...
5.3.怎么使用常量?
在python中没有一个专门的语法定义常量,约定俗称是用全部大写的变量名表示常量。如:PI=3.14159 所以单从语法层面去讲,常量的使用与变量完全一致。
插图:
6.字符串类型(str)的介绍
6.1.什么是字符
电子计算机或无线电通信中字母、数字和各种符号的统称。
6.2.什么是字符串
由数字、字母、下划线组成的一串字符。
6.3.字符串的作用
记录描述性质的数据,比如人的名字、性别、家庭地址、公司简介
6.4.字符串的定义
在引号内按照从左到右的顺序依次包含一个个字符,引号可以是单引号、双引号、三引号
实例
name = '大海'
name1 = "大海1"
info = '''在苍茫的大海上
狂风.....
'''
字符串的简单操作
print(name)
print(name1)
# 打印2个变量
print(name,name1)
# 字符串里面要有引号
print('my name is "dahai"')
print("my name is 'dahai'")
name4 = 'abcdef'
# 012345
name5 = '大海'
# 索引从0开始,现实中书本的页码从1开始
# 取出第一个英文字符
print(name4[0])
print(name4[1])
print(name4)
print(name4[5])
print(name4[-1])
print(name5[0])
7.用户交互
7.1.什么是与用户交互
程序等待用户输入一些数据,然后程序执行完毕后为用户反馈信息
7.2.为何程序要与用户交互
为了让计算机能够像人一样与用户的交互
7.3.如何用
cmd输入和输出不需要input和print 用于测试
# input(提示用户的输入信息) 输入的数据都会变成字符串类型
name=input('请输入名字')
print输出
print(name)
输入的数据都会变成字符串类型
print(type(name))
7.数字类型
注意
所有的加了引号的数据类型都是字符串类型
print(type('17'))
7.1.整数类型(int)
7.1.2.作用
记录年龄,等级,QQ号,各种号码
7.1.2.定义
age = 18
print(age)
print(type(age))
7.2.浮点型(float)
7.2.2.作用
记录身高、体重weight、薪资
7.2.2.定义
weight = 151.2
print(type(weight))
print(weight)
8.字符串的格式化输出
8.1.应用格式
程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式
比如要求用户输入用户名和年龄,然后打印如下格式:
My name is xxx,my age is xxx.
这就用到了占位符,如:%s、%d
8.2.%s 占位符
# %s 占位符 可以接受字符和数字 全能
name = input('输入名字')
# 一个值的话直接放到%后面
print('My name is %s'%name)
8.3.%d 占位符
# %d只能接受数字 有局限性
# 这样只能输入数字了
age = input('输入年龄')
age = int(age)
print(type(age))
print('my age is %s'%age)
8.4.多个占位符的使用
name = input('输入名字')
age = input('输入年龄')
# 多个值的话直接放到%后面要有括号
print('My name is %s,my age is %s'%(name,age))
# 错误演示 输入的是一个字符串 %d无法接收
# print('My name is %d,my age is %d'%(name,age))
8.5.简化写法
name = input('输入名字')
age = input('输入年龄')
# f'其他字符{变量名}'
print(f'my name is {name},my age is {age}')
9.数字类型的运算符
9.1.算术运算符号
# 加 +
# 减 -
# 乘 *
# 除 /
# 地板除 // (取整数部分)
# 取余 % (取余数部分)
# 乘方 **
实例
print(2+2)
print(2-2)
print(2*3)
print(int(4/2))
print(7//3) # 取整
print(7%3) # 余数是1
print(4**2)
9.2.比较运算符
# 等于 ==
# 不等于 !=
# 大于 >
# 小于 <
# 大于或等于 >=
# 小于或等于 <=
实例
返回布尔类型
print(3==4)
print(3==3)
# 返回对就是True,False就是错误的
print(3!=3)
print(3>2)
print(3<3)
print(3<=3)
# 错误演示
print('3>=3')
10.布尔类型(bool)
10.1.布尔类型的作用
用来作为判断的条件去用
10.2.布尔值的含义
布尔值,一个True一个False
计算机俗称电脑,即我们编写程序让计算机运行时,
应该是让计算机无限接近人脑,或者说人脑能干什么,
计算机就应该能干什么,
人脑的主要作用是数据运行与逻辑运算,此处的布尔类型就模拟人的逻辑运行,
即判断一个条件成立时,用True标识,不成立则用False标识
10.3.代码实例
tag = False
print(tag)
print(type(tag))
11.复数类型(complex)
# 是一个线性的参数(了解)
x = 1 - 2j
print(x)
print(type(x))
12.列表类型(list)
12.1.对比之前的数据类型
字符串,数字,布尔,复数 都是一个值
12.2.列表作用
记录/存多个值,可以方便地取出来指定位置的值,比如人的多个爱好,一堆学生姓名
12.3.列表定义
在[]内用逗号分隔开多个任意类型的值
L = ['dahai',1,1.2,[1.22,'小海']]
# 0 1 2 3
# 0 1
print(L)
print(type(L))
12.4.列表使用
12.4.1.列表的取值
# # 索引从0开始 相当于我们书的页码
print(L[0])
print(L[1])
print(L[0][0])
# 反向取
print(L[-1])
print(L[-1][1])
print(L[-1][1][0])
dahai=L[0]
print(dahai)
12.4.2.列表内元素的修改
L[0]= '红海'
print(L)
print(L[0])
hOnghai=L[0]
print(honghai)
13.字典
13.1.字典作用
记录多个key:value值,优势是每一个值value都有其对应关系/映射关系key,而key对value有描述性的功能
13.2.字典定义
在{}内用逗号分隔开多个key:value元素,其中value可以是任意的数据类型,而key通常应该是字符串类型
info = {'name':'大海','age':18}
print(info)
print(type(info))
13.3.字典简单使用
# 简单使用
# 通过key进行取值
print(info['name'])
print(info['age'])
13.4.列表和字典的区别
# 列表是依靠索引
# 字典是依靠键值对 # key描述性的信息
14.元组(tuple)
14.1.元组作用
记录多个值,当多个值没有改的需求,此时用元组更合适
14.2.元组定义
在()内用逗号分隔开多个任意类型的值
t = (1,2,'大海',(2,3),['红海',2,3])
# 0 1 2 3 4
# 0 1 2
print(t)
print(type(t))
14.3.元组的简单使用
14.3.1.取值方式和列表一样
# 简单使用
print(t[0])
14.3.2.不能修改元组内的元素
# t[0]= 5
# t[4] = 2
14.3.3.元组里面列表的值可以修改(因为列表可以修改)
print(t[4])
t[4][0]='黄海'
print(t)
15.集合
15.1.集合的作用
关系运算
15.2.集合定义
在{}内用逗号分开个的多个值
注意
1.元素不能重复(定义不能这样写相同的)
2.集合里面的元素是无序
s = {1,2,3}
print(s)
print(type(s))
15.3.集合的使用
s1 = {'a','b','c'}
s2 = {'b','c','d'}
# # 拿2个集合相同的元素 shift + 7交集符号 交集
print(s1 & s2)
# 拿2个集合所有的元素 并集
print(s1 | s2)
# s1 去 抵消它们的交集 差集
print(s1 - s2)
# s2 去 抵消它们的交集 差集
print(s2 - s1)
16.总结规律
一切事务都有规律,掌握了规律,必然会提高学习效率
16.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里面可以放任任意的数据类型