一.注释

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

 

posted on 2021-03-15 16:19  lzl_121  阅读(73)  评论(0编辑  收藏  举报