• python03:变量与基本数据类型



    一、变量

    1.1 什么是变量:可变化的量,量指事物的状态
        为什么要有变量:让计算机能像人一样记录事物的状态的变化
        怎么使用变量:先定义(存),后引用(取)
        变量的定义是需要申请内存空间的,如果内存管理不当容易撑爆内存。

    1.2 变量的三大组成部分:
        变量名:是指向等好右侧值的内存地址,用来访问右侧的值。
        赋值符号:绑定关系
        变量值:记录事物的状态

    1.3 变量名命名四个规则:
        变量名的命名应该见名知意,不能使用无意义的组合
        不能以数值开头,只能是字母,下划线,数字的任意组合
        不能使用python内置的词:如 print 等
        不要使用中文,拼音

    1.4 变量名的命名两种风格:
        纯小写加下划线:如 age_of _alex=73
        驼峰体:AgeOfAlex=73

    1.5 变量值的三个重用特征:
        name='zw'
        id:反应的变量值的内存地址,是内存地址的映射
            print(id(name))   查看变量值的内存id
        type:不同类型用来记录不同的状态
            print(type(name))  查看变量值的数据类型
        value: 变量的值
            print(name)  查看变量值

    1.6 is 与 ==
        is:比较两个值的身份id是否一样
        ==:比较两个值是否相等
         两个不同的内存空间可以存放相同的值,即值相等,id不一定相等。
        
        x='xxx',y=x :不申请新内存给xxx (x is y --true,   x==y--true)
        x='xxx',y='xxx':申请新内存给xxx  (x is y --false,    x==y--true)

            了解:python解释器的小整数池(-5,256),python解释器启动时事先申请好一系列的内存空间存放常用整数。
          这些整数的id相同。类似的还有一些常用的字符串。
         pycharm会预先申请更大的范围,计算结果以python为准。

    1.7 常量:不变的量
        常用全大写加下划线表示,AGE_OF _ALEX=73
     

    1.8 内存管理——垃圾回收机制:  python自带的功能,会自动清除引用计数为0的值,以减少内存的使用。
        垃圾:引用计数为0的变量值
        引用计数:与该变量值绑定的变量名的个数
        引用计数增加:x=10,y=x,z=y......
        引用计数减少:del x 解除x与10的绑定。10的引用计数减少1
                    变量名引用其他值,如 y=100,y与10 不在绑定,10的引用计数再减少1

    二、数据的类型

    2.1 数字类型
        整型 int:
            作用:记录状态,运算,比较等
            定义:x=10
        浮点型 float:
            作用:记录状态,运算,比较等
            定义:x=1.1

    2.2 字符串类型 str:一个“”内代表一个值,取值即全部取出“”内的值。
        作用:记录描述性质的状态
        定义:name='zw' 值的写法,用引号包含的一串字符(‘ ’,“ ”,''' ''')

    2.3 列表 list:索引对应值,0代表第一个
        作用:记录多个值,并可以按照索引取指定位置的值。
        定义:在[ ]内用逗号分开任意类型的值。
        取值:list=[10,3,['aaa','bbb'],'ccc']  (需要知道只在列表中的位置)
            取第二个值3:print(list[1])
            取bbb:print([2][1])
            取ccc:print([3])

    2.4 字典 dict:key对应值,key通常为字符串类型具有描述值的能力。
        作用:用来存多个值,每个值都与key对应。
        定义:大括号{ }内用逗号分隔多个key:value,dict={'name':'zw','age':18,'hobits':'play'}
        取值:取值前面对应的key
            取名字:print(dict['name'])

    2.5 布尔类型 bool:记录真假的状态

    习题与答案:

    # 作业思路:如何选择合适的类型来记录状态???
    # 1、选取的类型是否可以明确标识事物的状态
    # 2、存不是目的,存的目的是为了日后取出来用,并且方便的用
    # 3、把自己想象成一台计算机,如果我是计算机,
    # 我会如何以何种形式把事物的状态记到脑子里
    # 然后再去python中找相应的数据类型来让计算机像自己一样去记下事物的状态
    # ps:认真读题,需要自己从题目中分析出应该存储的状态,然后选择合适的类型加以存储

    #1、病毒程序需要定期将监控到的数据写入日志文件,请记录下日志文件路径C:acadhsvc.dll.system32,方便后期处理
    path=C:acashsvc.dll.system32.
    #2、病毒程序在上传文件时,发送的报头数据里需要包含文件信息:文件名a.txt、大小360,请记录下文件信息
    file_name=a.txt
    size=360
    #3、程序运行过程中有一段错误日志需要记录下来,错误日志为"上传文件失败"
    false_date='上传文件失败'
    #4、假设我收到一条信息要记录,信息为中病毒客户端的信息"[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
    text="[2020-02-18-17:00:48] 癞蛤蟆病毒感染者-> 80.82.70.187:33649 正在上传数据"
    #5、把服务端ip地址存放下来,ip地址为10.0.10.11
    ip_ad=10.0.10.11
    #6、病毒程序需要每隔3秒才运行一次,请记录下这个时间间隔
    time=3


    # 二:嵌套取值操作
    #1,students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
    请取出第一个学生的第一个爱好
    print(student_info[0][2][0])
    #2、针对字典
    info={
    'name':'egon',
    'hobbies':['play','sleep'],
    'company_info':{
    'name':'Oldboy',
    'type':'education',
    'emp_num':40,
    }
    }
    请取出取公司名
    print(info['company_info']['name']

    #3、针对下述类型
    students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
    ]
    取第二个学生的第二个爱好
    print(students[1]['hobbies'][1])


    # 针对个别已经学了很多的同学,有如下选做题
    # 选做题:编写用户登录接口(学的多的同学,尝试做下述作业,这是截止到下周二学完文件处理之后的作业)
    #1、输入账号密码完成验证,验证通过后输出"登录成功"
    #2、可以登录不同的用户
    #3、同一账号输错三次锁定(附加功能,在程序一直运行的情况下,一旦锁定,则锁定5分钟后自动解锁)
    #扩展需求:在3的基础上,完成用户一旦锁定,无论程序是否关闭,都锁定5分钟
  • 相关阅读:
    用户代理列表--爬虫伪装浏览器访问用
    python爬虫解析页面数据的三种方式
    requests模块的使用
    Python pip源更改
    个人博客项目开发
    Django之中间件
    Django之发送邮件
    Django组件之用户认证组件
    Django之Cookie与session
    Django组件之分页器
  • 原文地址:https://www.cnblogs.com/Franciszw/p/12411640.html
Copyright © 2020-2023  润新知