zoukankan      html  css  js  c++  java
  • python04:垃圾回收、用户交互、运算符

    一、垃圾回收机制详解:

    1,引用计数
        直接引用:直接将变量名跟值联系起来。
        间接引用:容器类型存的是索引值和值的内存地址,其引用为间接引用
        直接拨打电话和转分机号的区别

    2,标记清除
        由于存在循环引用的可能,就会导致无法被引用的值无法清除,因为引用计数不为0.

        变量名存放于内存的:栈区
        变量值存放于内存的:堆区

        先扫描栈区的变量名,将与之间或直接引用的值标记为存活,其他堆区的值标记为失活。
        再清除堆区就清除那些标记失活的(扫描栈区,标记堆区)

    3,分带回收:分代回收的核心思想是:在历经多次扫描的情况下,都没有被回收的变量,
        gc机制就会认为,该变量是常用变量,gc对其扫描的频率会降低。

    二、与用户交互:

    1,接收用户的输入:
        user_name=input('请输入:')这个变量需要绑定变量名(即username=),否则会被系统
        认为是垃圾清除了。
        特点:输入什么都会被存成字符串
        解决方案:age=int(xxx), int能且只能将纯数字的字符串转成整型。

    2,字符串的格式化输出:把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出
        所有版本:% (按照%s一一对应值取值,数量必须严格相等)
    usname=input('请输入名字:')
    usage=input('请输入年龄:')
    tex={'name':'zw','age':18,'hobit':'play'}

    %s:
    # res='my name is %s,and my age is %s' %(usname,usage)#列表内的变量的个数不能多不能少,顺序不能乱
    # res= 'my name is %(name)s,and my age is %(age)s' %(tex)#字典里变量的个数只能多不能少,字典不讲究顺序

    .format:
    # res='my name is {0},my age is {1},my name is {1}'.format(usname,usage) #列表内的变量的个数不能多不能少,顺序可乱
    # res='my name is {name},my age is {age}'.format(name=tex['name'],age=tex['age'])
    #.format()这相当于一个字典,该字典的定义是key=value的形式且key不需要引号,等号右边可以是任一种类型的值(可以再嵌套列表或字典,
    引用采用[]索引法),大括号内的name,age相当于key。
    对比:用{}代替%s,用.format()代替%()

    f
    # res=f'my name is {name},my age is {age}'
    # print(res)

    三、运算符

    1,算术运算符:+ - * /(取小数) //(取整) %(取余) **(指数运算).......
        一般的数学运算,字符也能运算(+是拼接字符,*是复制字符,a*8即8个a)

    2,比较运算符:> < >=  <=  ==(判断是否相等),!=(判断是否不等)

    3,赋值运算符:
        赋值运算符:=
        增量赋值:+=2 (等于自身加2),*= ,/= ,  **=道理类似
        链式赋值:连等于,x=y=z=10(相等于x=10,y=x,z=y)
        交叉赋值:a,b=b,a,ab的值互换
        解压赋值:a,b,c,d,e=list 列表里的数据个数和做左边的变量名的数量必须相等。
             a,b,c,*_,d,e=list 代表将列表的前三个和后两个解压赋值,其他的打包给_,
            *代表中间所以值,_代表无用变量名。
            解压字典默认解压的是key

  • 相关阅读:
    关于搭建系统直播和Thinkphp的杂谈(持续更新)
    linux下phpstudy的搭建以及网站的搭建
    java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
    IntelliJ IDEA 破解
    遍历表格
    Ajax简单示例
    [转shasiqq]@Param 注解在Mybatis中的使用 以及传递参数的三种方式
    一些python学习的链接
    python Scrapy安装错误解决
    SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoade
  • 原文地址:https://www.cnblogs.com/Franciszw/p/12422480.html
Copyright © 2011-2022 走看看