day03
1.今日内容介绍
1.编程语言介绍
编程语言分类,总结
2.python介绍
3.解释器多版本共存
4.运行python程序的两种方式
5.一个python应用程序的运行的三个步骤(*****)
对比文本编辑器运行的三个步骤
6.注释
7.IDE集成开发环境pycharm
8.虚拟环境的简单使用
9.注释
10.变量基本使用
11.变量名详解
2.编程语言分类
低级语言:用计算机能理解的表达方式去编写程序(指机器语言和汇编语言)
机器语言:站在计算机(奴隶)的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件。
缺点:
1.二进制指令难以记忆,极容易出错
2.编程的复杂度极高
汇编语言:站在计算机(奴隶)的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作硬件。
缺点:
1.编程的复杂度依然很高
高级语言:站在人(奴隶主)的角度,说人话,即用人类的字符去编写程序,屏蔽了硬件操作。
高级语言编写的程序计算机无法直接理解,必须要经过翻译才可以,按照翻译方式的不同
高级语言又分为两种
1.编译型(c、go):
编译型(需要编译器,相当于用谷歌翻译):如C,执行速度快,调试麻烦。
2.解释型(shell、python):
解释型(需要解释器,相当于同声传译):如python,执行速度慢,调试方便。
源代码----------解释器-------------》二进制指令
总结:
"""
执行效率:机器语言>汇编语言>高级语言(编译型>解释型)。
开发效率:机器语言<汇编语言<高级语言(编译型<解释型)。
跨平台性:解释型语言具有极强的跨平台性。
"""
3.python语言万能法则
# 1.xxx是什么?
"""
窍门:提取知识点名词中的关键字来加以解释。
"""
# 2.为什么要有它?
"""
大前提:
python中语言中出现的所有语法都是为了让计算机能够具备人的某一功能/像人一样去做事。
"""
4.windows安装python解释器
第一步:登录python官网
# 下载python2.7
"""
Download Windows x86-64 MSI installer
"""
# 下载python3.8
"""
Download Windows x86 executable installer
"""
第二步:C盘新建文件夹python27 python38
选自定义安装,记住暂时不要勾选add python path
第三步:尝试访问python文件
cmd状态下输入命令==>cd C:\Python27==>python==>cd C:\python38==>python
第四步:手动添加环境变量
# 设置环境变量
"""
此电脑--->属性--->高级系统设置--->高级--->环境变量--->系统变量--->新建--->添加路径
"""
# 将python2.7和python3.8内的python.exe复制一份改成python2和python3方便环境变量调用
# P.S不能直接修改因为scripts下的脚本就不能用了,scripts下面有一个pip包
5.运行python程序的两种方式
1.交互式
"""
即时得到程序的运行结果,多用于调试,检测代码。
"""
2.脚本的方式
"""
第一阶段:启动python解释器。
第二阶段:将文件内的代码读入内存。
第三阶段:解释执行(检测python语法)。
"""
6.运行python程序三个阶段
1.python应用程序运行的三个步骤
"""
1.先启动python3.8解释器,此时相当于启动了一个文本编辑器。
2.解释器会发送系统调用,把test.py的内容从硬盘读入内存,此时test.py的内容全部为普通字符,没有任何语法意义。
3.解释器开始解释执行刚刚读入内存的test.py代码,开始识别python语法。
"""
2.文本编辑器读取python文件内容也经历了三个步骤
"""
1.先启动文本编辑器。
2.文本编辑器会发送系统调用,把test.py的内容从硬盘读入内存。
3.文本编辑器会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果。
"""
7.IDE集成开发环境
# IDE集成开发环境pycharm
8.虚拟环境的简单使用
打开pycharm--->file--->new project--->new environment using--->create
P.S 基于安装的包,不影响原来的解释器
9.注释
1.注释是对关键代码的解释说明
"""
单行注释:#
多行注释: """ """
"""
2.被注释的代码不会被执行
10.什么是变量
1.什么是变量?
"""
变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别、游戏角色的等级、金钱等等
"""
2.为何要有变量?
"""
为了让计算机能够像人一样去记忆事务的某种状态,并且状态是可以发生变化的
详细地说:
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要一种机制能够反映
"""
11.如何使用变量
"""
变量的基本使用
原则:先定义,后引用
"""
name = "egon" # 定义
print(name) # 引用
age = 18
print(age)
12.变量名的命名
1.变量的定义和使用
"""
变量名:变量名相当于门牌号,指向值所在的内存地址,是访问到值的唯一方式
= :=为赋值符号,用来将变量值的内存地址绑定给变量名
值 :变量的值就是我们存储的数据,反应的是事物的状态
"""
总结:通过变量名即可引用到对应的值
2.变量的命名风格
"""
# 风格一:驼峰体
AgeOfTony = 56
NumberOfStudents = 80
# 风格二:纯小写下划线(在python中,变量名的命名推荐使用该风格)
age_of_tony = 56
number_of_students = 80
"""
3.变量名遵守的规范
"""
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']
"""
12.变量的内存管理(垃圾回收机制)
# 内存管理:垃圾回收机制
# 垃圾:当一个变量值被绑定的个数为0时,该变量值无法被访问到,称之为垃圾
# 引用计数增加
x = 10 # 10的引用计数为1
y = x # 10的引用计数为2
z = x # 10的引用计数为3
# 引用计数减少
del x # 解除变量名x与值10的绑定关系,10的引用计数变为2
# print(y)
del y # 10的引用计数变为1
# print(z)
z = 12345 # 10的引用计数变为0
print(z)
13.身份运算is与==
1.变量的三个特征
"""
1.id:反应的是变量在 内存中的唯一编号,内存地址不同id肯定不同
2.type:变量的类型
3.value:变量的值
"""
2.is与==
"""
# 1.==比较的是value,
# 2.is比较的是id
# 强调:
# 1. id相同,意味着type和value必定相同
# 2. value相同type肯定相同,但id可能不同,如下
x = 'wangmiaolu:18'
y = 'wangmiaolu:18'
print(id(x))
print(id(y))
x == y # True
x is y # False
"""
3.小整数池(了解)
"""
# 小整数池[-5,256]
# 从python解释器启动那一刻开始,就会在内存中事先申请好一系列内存空间常用的整数
x = -6
y = -6
print(id(x))
print(id(y))
print(x is y)
"""
14.变量内存地址补充
id不同的情况下,值有可能相同,即两块不同的内存空间里可以存相同的值
id相同的情况下,值一定相同,x is y成立,x==y也必然成立
15.常量
# 注意:python语法中没有常量的概念,但在程序开发过程中涉及到常量的概念
dongfangmingzhu=468
16.基本数据类型
# 1、整型int
# 作用:年龄、等级、各种号码
# age = 18
# print(type(age))
# 2、浮点型float
# 作用:记录薪资、身高、体重等
# salary = 5.5
# print(type(salary))
# height = 1.81
# weight = 73.5
# 3、字符串str
# 作用:记录名字、字符相关的描述性的内容
# name = "eg on你"
# name = 'eg on你'
# msg = """
# eg on你
# """
# msg= "my name is 'egon'"
# print(msg)
# 4、列表类型list
# 作用:按照位置存放多个值,可以用索引取指定位置的值
# hobbies = "read music play"
# 0 1 2
# hobbies = ["read", "music", "play"]
# print(hobbies,type(hobbies))
# print(hobbies[0])
# print(hobbies[1])
# 0 1 2 3
# l = [10,3.3,"aaa",[666,777]]
# print(l[3])
# print(l[-1])
# print(l[3][0])
# 5、字典类型dict
# 作用:按照key:value的形式存放多个值,其中value可以是任意类型,而key通常是str类型
# info = ["egon",18,"male",10]
# info = {
# "name":"egon",
# "age":18,
# "gender":"male",
# "level":10
# }
# print(info["age"])
# dic = {
# "k1":111,
# "k2":[666,"xxx",{"kkk":7777}]
# }
#
# print(dic["k2"][-1]['kkk'])
# 6、布尔类型bool
# (1)显式的布尔值:
# x = True
# y = False
# print(type(x))
# age1 = 18
# age2 = 20
# print(age1 > age2)
# print(age1 == age2)
# (2)隐式的布尔值: 0、None、空的布尔值为False,其余均为真
# if 0:
# print('ok')
17.基本运算符(算术运算符与比较运算符)
# 1.算数运算符
print(10 / 3) # 取商取余
print((10 // 3)) # 地板除:只取商不取余
print(10 % 3) # 取余
print(3 ** 3) # 3的3次方
# 2.比较运算符
print(10 > 3)
print(10 == 10)
print(10 >= 10)
print(10 >= 3)
name = input('your name>>:').strip()
print(name == 'egon')
18.基本运算符(赋值运算符)
# 3.1.=:变量的赋值
# 3.2.增量赋值:
age = 18
age += 1 # age=age+1
print(age)
age *= 3
age /= 3
age %= 3
age **= 3
# 3.3链式赋值
# x = 10
# y = x
# z = y
z = y = x = 10
print(x, y, z)
print(id(x), id(y), id(z))
# 3.4交叉赋值
m = 1
n = 2
# 底层原理
# temp = m
# m = n
# n = temp
# print(m, n)
m, n = n, m
print(m, n)
# 3.5解压赋值
# salaries = [11, 12, 13, 14, 15]
# mon1_sal = salaries[0]
# mon2_sal = salaries[1]
# mon3_sal = salaries[2]
# mon4_sal = salaries[3]
# mon5_sal = salaries[4]
#
# mon1_sal, mon2_sal, mon3_sal, mon4_sal, mon5_sal = salaries
# 变量值多了会报错
salaries = [11, 12, 13, 14, 15, 16, 17]
mon1_sal, mon2_sal, mon3_sal, mon4_sal, mon5_sal = salaries
# 变量值少了会报错
# salaries = [11, 12]
# mon1_sal, mon2_sal, mon3_sal, mon4_sal, mon5_sal = salaries
# 变量名和对应的值必须一一对应
# *_代表所有的变量
# salaries = [11, 12, 13, 14, 15]
# mon1_sal, mon2_sal, _, _, mon5_sal = salaries
# mon1_sal,_,_,_,mon5_sal=salaries
# mon1_sal, *_, mon5_sal = salaries
# print(mon1_sal,mon5_sal)
# *_,x,y=salaries
# print(x,y)
标签:10,sal,day03,age,salaries,python,print
From: https://www.cnblogs.com/wangmiaolu/p/17866916.html