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)
posted @ 2023-11-30 11:26  王苗鲁  阅读(12)  评论(0)    收藏  举报