热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

day1变量和数据类型的介绍

day1变量和数据类型的介绍1.编程和编程语言1.1.什么是编程语言​语言是一个事物与另外一个事物沟通的介质比如人与人交流汉语,英语,日语编程语言是程序员与计算机沟通的介质计算机只

day1变量和数据类型的介绍

1.编程和编程语言


1.1.什么是编程语言

​ 语言是一个事物与另外一个事物沟通的介质

比如人与人交流汉语,英语,日语

编程语言是程序员与计算机沟通的介质

计算机只能读懂二进制,python解释器可以将python语言转换成计算机理解的二进制

1654839510081


1.2.什么是编程

1654839717891

​ 编程就是程序按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来

我要让电脑进行记录或者判断一种状态,或者我让电脑循环做一件事情

表达的结果就是程序,程序就是一系列的文件

程序就是代码的结合体,一堆代码代表让电脑做一堆的事情


1.3.为什么要编程

1654839883539

​ 在编程的过程中,计算机就像是人的奴隶

我们编程的目的就是为了让计算机代替人类去工作,从而解放人力


2.学习python的套路


2.1.英语学习 VS python


Python是语言,而学习语言的套路都是一样的
,以英语学习为例,你需要学单词,然后学语法,最后写作文。
英语的单词---------->Python中的关键字,方法
英语的语法---------->Python的语法
英语的作文---------->用Python语言写的程序
当然python比英语好学,单词基本不用记,语法写错也会有提示

2.2.python的注释

认识注释
注释就是就是对代码的解释说明,注释的内容不会被当作代码运行
怎么用注释
代码注释分单行和多行注释
1、单行注释用#号
2、多行注释可以用三对双引号''''''

代码实例

# 单行注释
'''
多行注释可以用三对双引号
多行注释可以用三对双引号
多行注释可以用三对双引号
'''

3.运行代码的2种方式


方式一:交互式

操作人员和系统之间存在交互作用的信息处理方式

方式一:交互式 直接输入代码运行
最好用来测试代码
cmd
使用方法 win + R
输入python启动,要有环境变量添加的情况下才能启动

1654843412060


1.输入python进入python解释器

1654843590146


2.在>>>游标输入python代码进行回车

1654843619016


3.交互式优缺点

优点:
输入一行代码立刻就返回
缺点:
无法永久保存代码

方式二: 运行python文件


1.什么是文件

文件是操作系统为用户/应用程序提供的一种操作硬盘的抽象单位


2.为何要用文件

用户/应用程序对文件的读写操作会由操作系统转换成具体的硬盘操作


3.什么是python文件

后缀名是py的文件称为python文件


4.cmd 运行python文件


1.python python文件的绝对路径

1654844275543


2.python python文件的相对路径

(这个是必须切换到python运行文件的文件夹下)

tab可以补全

1654844463642


5.pycharm运行python文件


5.1.pycharm运行python代码文件,右键代码空白部分run

1654847788590


5.2.pycharm运行代码的优势

优点:
pycharm自动保存代码
语法错误pycharm可以自动检查红色波浪线
注意: python文件的后缀名是py

4.变量


4.1.什么是变量?

量:是衡量/记录现实世界中的某种特征/状态

变:指的是记录的状态是可以发生变化的


人的表情

1654861563900


女孩的衣服

1654863658733

比如人的年龄、性别,游戏角色的等级、金钱等等


4.2.为什么要有变量?

为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的
详细地说:
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。

4.3.怎么使用变量(先定义,后调用)


4.3.1.变量的定义与使用

插图:定义变量的三个组成部分

1653985002381


定义变量示范如下

name = 'dahai'
sex = '男'
age = 35 # 记下人的年龄为35岁
salary = 21000.65 # 记下人的薪资为21000.65元

解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量的定义age=18为例子,如下图

插图:定义变量申请内存

1653985637071


通过变量名即可引用到对应的值

# 通过变量名即可引用到值,我们可以结合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.变量名的命名风格

1653986018117


形容一个复杂的变量

# 风格一:驼峰体
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.为什么要有常量?

1653986697645

在程序运行过程中,有些值是固定的,不应该被改变,比如圆周率 3.141592653...


5.3.怎么使用常量?

在python中没有一个专门的语法定义常量,约定俗称是用全部大写的变量名表示常量。如:PI=3.14159 所以单从语法层面去讲,常量的使用与变量完全一致。

插图:

1653987404921


6.字符串类型(str)的介绍

1654850031419


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.用户交互

1654850734632


7.1.什么是与用户交互

程序等待用户输入一些数据,然后程序执行完毕后为用户反馈信息


7.2.为何程序要与用户交互

为了让计算机能够像人一样与用户的交互


7.3.如何用

cmd输入和输出不需要input和print 用于测试

1654850617179


input输入

# 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.元组里面列表的值可以修改(因为列表可以修改)

1654864640683

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.总结规律


一切事务都有规律,掌握了规律,必然会提高学习效率

1654865021657


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里面可以放任任意的数据类型



推荐阅读
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 作为一名程序员,从大学步入职场后,常常感受到一种难以言喻的空虚感。这种感觉或许源于对生活的不满、职业发展的瓶颈,或是日常琐事带来的压力。本文将深入探讨这种复杂的情感,并尝试寻找解决之道。 ... [详细]
  • 深入解析:阿里实战 SpringCloud 微服务架构与应用
    本文将详细介绍 SpringCloud 在微服务架构中的应用,涵盖入门、实战和案例分析。通过丰富的代码示例和实际项目经验,帮助读者全面掌握 SpringCloud 的核心技术和最佳实践。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 深入理解Spring:Aware接口、异步编程与计划任务
    本文将带你深入了解Spring框架中的 Aware 接口、异步编程以及计划任务。通过具体示例和详细解释,帮助你掌握这些核心功能的实现原理和应用场景。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • PHP插件机制的实现方案解析
    本文深入探讨了PHP中插件机制的设计与实现,旨在分享一种可行的实现方式,并邀请读者共同讨论和优化。该方案不仅涵盖了插件机制的基本概念,还详细描述了如何在实际项目中应用。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • TechStride 网站
    TechStride 成立于2014年初,致力于互联网前沿技术、产品创意及创业内容的聚合、搜索、学习与展示。我们旨在为互联网从业者提供更高效的新技术搜索、学习、分享和产品推广平台。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
author-avatar
船长2502860123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有