理解所有语法的大前提: 为何要有这种语法??? 为了让计算机能够具备人的某项功能
0 编写python的两个地方
1 IDE集成开发环境
超级编辑器:pycharm
2 注释
3、变量
4、基本数据类型
5、基本运算符
6、输入输出
0 编写python的两个地方 交互式环境 写入文件(主流:永久保存代码)
python3 D:\a.py
运行python程序的三个阶段:(******)
1、先运行python解释器
2、python解释器将a.py的内容从硬盘读入内存
3、python解释器识别刚刚读入内存的内容,解释执行
ps:我们的python程序调用的都是解释器的功能
变量
"""
1、什么是变量
量:事物的状态
变:事物的状态是可以变化的
变量就是一种机制/语法?
可以把事物的状态存起来,并且以后可以取出来修改
变量其实是一种存取内存的机制
2、为何要用变量
是为了让计算机能够像人一样记住事物的状态,并且以后可以改变
3、如何用变量
原则:先定义,后引用
定义语法:
变量名 = 变量值
引用:
变量名
"""
# 一 先定义、后引用
# print(age)
# name = "egon"
# age = 18
# height = 1.8
# level = 10
#
# print(name)
# 二 定义变量的三大组成部分
# 2.1 变量名:访问变量值
# 2.2 赋值符号:把变量值的内存地址绑定给变量名
# 2.3 变量值:就是我们记录的事物的状态,即存储的数据
# 三 变量名命名
# 3.1 大前提:见名知意
# 3.2 规范:
# 1、字母、数字、下划线组成
# 2、不能以数字开头
# 3、不能与python关键字冲突
# ['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']
# level = 18
# age = 18
# print = 100
# 3.3 命名风格
# (1) 纯小写加下划线(变量名的命名推荐使用该中风格)
# age_of_egon = 18
# (2) 驼峰体
# AgeOfEgon = 18
# 3.4 拓展
# print(1)
# print(2)
# print(3)
# # print(
# asdfasfd
# print('end')
# age = 18
#
# age = age + 1
#
# print(age)
# 四:变量值
# 4.1 变量值有两大特征
#(1)id号:是变量值的身份证号,反映的内存地址
# name = "egon"
# age = 18
# print(id(name))
# print(id(age))
#(2)type类型:
# print(type(name))
# print(type(age))
# 4.2 内存管理机制
# (1)垃圾回收机制GC
# 引用计数
# x = 10 # 值10引用计数为1
# y = x # 值10引用计数为2
#
# y = 1000 # 值10引用计数减少为1
# del x # 值10引用计数减少为0
# 分代回收-》解决引用计数效率问题
# 标记/清除-》引用计数有可能会发生内存泄漏
# ps:如果我们想要回收python程序的内存空间,只能通过把变量值的引用计数减为0的方式实现
# (2)小整数池: -5 256
# x = 1000
# y = 1000
# x = "egon"
# y = "egon"
# print(id(l1))
# print(id(l2))
# 总:
# 1、id相等,值一定相等
# 2、值相等,id不一定相等
# is :判断id是否相等
# ==:判断值是否相等
# l1 = [1,2,3]
# l2 = [1,2,3]
# print(l1 == l2)
# print(l1 is l2)
基本数据类型
# python是一门解释型的、强类型的、动态语言
# 一:数字类型
# 1.1 整型int:记录人的年龄、等级、号码、个数
# age = 18
# print(type(age))
# 1.2 浮点数float:记录人的薪资、身高、体重
# salary = 3.7
# print(type(salary))
# x = 18
# y = 3.7
# print(x + y) # int与float之间可以直接相加
# print(x > y) #用于比较返回值为"True"或"False"。
# 二:字符串类型str
# 作用:记录描述性质的状态,比如名字、一段话、性别
# 定义:用引号('',"",''' ''',""" """,)包含的一串字符
# x = "两个黄鹂鸣翠柳"
# y = '两个黄鹂鸣翠柳'
# m = """两个黄鹂鸣翠柳"""
# n = '''两个黄鹂鸣翠柳'''
# x = 18 这里的x是整形
# x = '18' X是字符串类型
# 由数字组成的字符串,是字符串类型,不是int类型
# 'name' = 'egon' # 语法错误,等号左边是变量名,变量名的命名不能有引号。
# print(x)
# print(y)
# print(m)
# print(n)
# msg = "my name is 'egon'"
# print(msg,type(msg))
# gender = 1
# gender = 0
# age # 变量名
# "age" # 变量值的一种,str
# 了解:
# print("abc"+"xxx")
# print("abc"*3)
# print("*"*50)
# print('hello')
# print("*"*50)
# 其他使用
# 字符串的嵌套,注意:外层用单引号,内存应该用双引号,反之亦然
# print('my name is"yuziqi"') # 输出结果:my name is "yuziqi"
# 三 列表: 索引取值,索引从0开始,0代表第一个
# 作用:记录多个值,并且可以按照索引取指定位置的值
# 定义:在[]内用逗号隔开多个任意类型的值,一个值称之为元素
# 按照位置存放多个值,比如记录一个人的爱好
# hobbies = "打篮球 阅读 看电影"
# 0 1 2
# hobbies = ["打篮球", "阅读", "看电影"]
# print(hobbies[0])
# print(hobbies[1])
# print(hobbies[2])
# print(hobbies[3])
# print(hobbies[-1]) # 倒着取值相当于取列表最后一个值
# print(hobbies[-2])
# # 0 1 2 3
# l1 = [1111,1.3333,"aaa",['bbb','ccc']]
# # print(type(l1))
#
# print(l1[3][0]) # 嵌套取值,值为:'bbb'
# 四:字典类型:在{}内,按照key:value的格式存放多个元素,用逗号隔开。 其中value可以是任意类型,而key通常是str类型。
# 作用:用来存多个值,每个值都有唯一一个key与其对应,key对值有描述性功能。
# info = ["egon", 18, 1.8, 80, "male"]
# info = {
# "name": "egon",
# "age": 18,
# "height": 1.8,
# "weight": 80,
# "gender": "male"
# }
# print(info["name"])
# print(info["xxxx"])
# info = ["egon",18,"male"]
# dic = {"k1":11111,"k2":1.3,"k3":"xxx",'k4':[111,222,333],"k5":{"a":1,"b":2}}
# print(dic['k4'][1])
# print(dic['k5']["a"])
# 五 布尔:记录真假
# print(type(True))
# print(type(False))
# x = True
# y = True
print(10 > 3)