一.注释
1.多行注释
"""
注释一
注释二
"""
2.单行注释
#注释
二.变量
什么是变量
量指的是事物的状态
变指事物的状态是可以改变
变量就是一种存取内存的机制
为何要用变量
为了控制计算机能够像人一样记住事物的状态,并且状态是可以改变的
如何用变量
原则:先定义,后引用
定义:
变量名 = 变量值
引用:
变量名
1.变量的基本使用:先定义、后引用
例如:name = "lzl"
age = 18
2.变量的三大组成部分
1) 变量名:指向变量值的内存地址,用来访问值的
2)赋值符号:用来把值的内存地址绑定给变量名
3)变量值:记录的事物的状态,也就是我们存到内存中的数据
3.变量名详解
3.1 左值与右值
x = 18 # 变量名出现在等号左边,称之为左值,此时的变量名是一种存值行为
print(x) # 只要不在等号左边,就称之为右值,此时的变量名是一种取值行为
x = x + 1
print(x)
3.2 变量名的命名
(1)大前提:见名知意
(2) 规范
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']
(3) 命令风格
1、驼峰体
# AgeOfEgon = 18
2、纯小写+下划线(推荐)
# age_of_egon = 18
3. 变量值
(1) 两大特征:id、type
# name="egon"
# age=18
# print(id(name))
# print(id(age))
# print(type(name))
# print(type(age))
(2) 内存管理机制之垃圾回收机制GC
引用计数
# x = 10 # 10引用计数为1
# y = x # 10引用计数为2
#
# x = 20 # 10的引用计数为1
# del y # 10的引用计数为0
分代回收
# 优点:降低扫描数数量,提升效率
# 缺点: 有个别数据无法得到及时的处理
# 循环引用导致的内存泄漏问题???-》标记/清除
(3) 内存管理机制之小整数池
# x = 10000
# y = 10000
# x="egon:+-*?"
# y="egon:+-*?"
#x=[1,2,3]
#y=[1,2,3]
#print(id(x))
#print(id(y))
三.常量:不变的量
四.基本数据类型
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')
五.基本运算符
1. 算术运算符
# print(10 + 12)
# print(type(10 + 3.3))
# print(10 / 3)
# print(10 // 3)
# print(10 % 3)
# print(10 ** 2)
了解:
# print("abc" + "ddd")
# print("abc" * 3)
# print([1,2,3]+[4,5,6])
# print([1,2,3]*3)
2. 比较运算
# l1 = [1,2,3]
# l2 = [1,2,3]
# print(l1 == l2) # 值相等==的结果就成立
# print(id(l1))
# print(id(l2))
# print(l1 is l2) # id一样is的结果才为True
# res1 = True
# res2 = 10 > 3
# res3 = 11 == 11
# print(res1,id(res1))
# print(res2,id(res2))
# print(res3,id(res3))
# tag = 123
# print(tag is None)
# print(10 != 11)
# print(10 >= 11)
3. 赋值运算符
age = 18
3.1 增量赋值
# age += 3 # age = age + 3
# age /= 3 # age = age / 3
# print(age)
3.2 链式赋值
# x=10
# y=x
# z=y
x=y=z=10
3.3 交叉赋值
m = 100
n = 200
# temp=m
# m=n
# n=temp
# m,n=n,m
# print(m)
# print(n)
3.4 解压赋值
salaries = [1.1,2.2,3.3,4.4,5.5]
# mon0 = salaries[0]
# mon1 = salaries[1]
# mon2 = salaries[2]
# mon3 = salaries[3]
# mon4 = salaries[4]
# mon0,mon1,mon2,mon3,mon4=salaries
# mon0,mon1,mon2,mon3,mon4,mon5=salaries # 报错
# mon0,mon1,mon2,mon3=salaries # 报错
# print(mon0,mon1,mon2,mon3,mon4)
# mon0,mon1,*_=salaries
# print(mon0)
# print(mon1)
# print(_)
mon0,mon1,*_,mon_last=salaries
print(mon0)
print(mon1)
print(mon_last)
4. 逻辑运算符
结果为布尔值(显式的、隐式的都算)的都可以当条件用
not: 把紧跟其后的那个条件取反
# print(not True)
# print(not 10 > 3)
# print(not 1)
# print(not 0)
and:连接左右两个条件,两个条件必须都为True,最终结果才为True
# print(10 > 3 and 1 == 1)
# print(10 > 3 and 1 == 1 and 3 < 2 and 1 > 0)
or:连接左右两个条件,但凡有一个条件为True,最终结果就为True
# print(10 < 3 or "egon" == "egon")
# print(10 > 3 or 1 == 1 or 3 < 2 or 1 > 0)
# print(3>4 and 4>3 or not 1==3 and 'x' == 'x' or 3 >3 and not 'egon' != "egon" or 1 > 0)
# (3>4 and 4>3) or (not 1==3 and 'x' == 'x') or (3 >3 and not 'egon' != "egon") or 1 > 0
# 3>4 and (4>3 or not 1==3) and 'x' == 'x' or 3 >3 and not ('egon' != "egon" or 1 > 0)
# print(1 and 3)
# print(1 and 3 or 4)
# (1 and 3) or 4