变量:就是可以变化的量,量指的是事物的状态
为什么要有变量?为了使计算机像人一样可以记录事物的状态(程序的执行本质就是状态的一系列变化)
使用原则:先定义后引用
内存管理(垃圾回收机制):垃圾指的是量的引用计数为0
引用计数增加:指向同一空间的变量数增加了
引用计数减少:指向同一空间的变量数减少了
变量名:变量的名字,用来在调用时的符号
赋值符号:用来将变量值的内存地址绑定给变量名的符号
变量值:记录事物的状态
变量名的命名规则:字母+数字+_ 不能以数字开头 不能与python内置关键字重复
命名原则:见名字知道意思
命名风格: 纯小写+_
驼峰体
变量的三个重要特征:
id:反映变量值的内存地址 地址不同id不同
type:值的类型,不同的类型用来表示记录不同的状态
value:值的本身
is:用来比较左右两个值的id号(内存地址)是否相等
==:用来比较左右两个值的质本身是否相等
两块不同的内存空间中可以存放相同的值,两个值相同的变量地址可能不同
小整数池:python解释器中会为用户在内存中开辟出一块专用的内存空间用来存放常用的字符和数字,用来方便用户调用
常量:不变的量,python中没有常量的概念只有约定俗成,当一个量的所有字母都为大写时,我们就将它当做常量
基本数据类型:
整形:整数部分
浮点型:整数+小数
作用:用来表示与数字有关的属性
字符串:str
作用:记录描述性质的状态
定义:用""包含的一串字符
字符串在嵌套是需要注意,只能字符串和字符串来操作
列表:索引对应值
作用:记录多个值,并且可以按照索引取出指定位置的值
定义:在[]内用 ,分隔开多个任意类型元素
字典:key为对应值(通常为字符串类型),按照key的值来取出制定值
作用:记录多个值,并且可以按照key的值取出指定位置的值
定义:在{}内用 ,分隔开多个任意类型元素,key为str类型
字典是无序的
布尔:记录真假两种状态,用来判断
#作业第一题 ''' 1.str 2.list 3.str 4.dic 5.int 6.str ''' #作业第二题 ''' 1.students_info[0][2] 2.info["company_info"]["name"] 3.students[1]["hobbies"][1] ''' #作业选做题 ''' 用户列表,用用户名作为键值,password是密码, state是用户状态1代表正常0代表锁定 time代表尝试次数 ''' user_list = { "jianghaonan":{"password":123456,"state":1,"time":3}, "alex":{"password":666666,"state":1,"time":3}, "egon":{"password":57575,"state":1,"time":3} } ''' 循环登陆当检测到登陆成功或者检测到该用户已经被锁定时会结束循环 ''' while True: user_name = input("请输入你的用户名:") user_password = input("请输入你的密码:") if user_name in user_list: if user_list[user_name]["state"] == 0: print("您的用户已经被锁定") break elif user_list[user_name]["password"] == int(user_password): print("欢迎登陆!") break else: user_list[user_name]["time"]=user_list[user_name]["time"]-1 print("您输入的用户名错误,您还剩%d次机会"%(user_list[user_name]["time"])) if user_list[user_name]["time"] == 0: user_list[user_name]["state"]=0