热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

菜鸟学Python第三天

内存管理Cpython解释器

内存管理


C python解释器的垃圾回收机制



  • 什么是垃圾: 当一个值身上没有绑定任何变量名(该值得引用计数=0)时,该值就是一个垃圾。



引用计数增加

  # age=18 # 18的引用计数等于1
  # x=age # 18的引用计数等于2

引用计数减少"del x"解除变量名和值的绑定,减少计数,然后由Python机制回收


变量值的三个特征



  • id : 反映的是内存地址


  • type : 数据类型


  • 值 : 值本身

    总结:


    1. id相同,值一定相同



    1. 值相同,id可以不同


    2. is 与 ==的区别




    • == :值是否相等


    • is : id是否相等




    1. 可变类型和不可变类型:判断可不可变,主要是判断id是否改变。




    • 可变类型:值改变,id不可变


    • 不可变类型:值改变,id也变,证明根本不是在改变原值,是创建了新值,原值就是不可变类型。







Python 2中与用户交互(了解)




    1. 在Python 3中只有一个input

      特点:会将用户输入的任意类型都存成str类型



    1. 在Python 2中只有一个raw_input,与Python 3的input一模一样


    x = raw_input('>>>:')

     

    python 2 中的 input 要求用户输入明确的类型,输入什么类型就存为什么类型。

    >>> x = input('x:')
    x:123
    >>> x
    123
    >>> type(x)

     




 

数据类型的基本使用


1. 整型:int



  • 作用:用来记录年龄、等级、各种号码状态


  • 定义:


age = 10

 


  • 使用:略



2.浮点型:float



  • 作用:用来记录身高,体重、工资状态


  • 定义:


height = 1.83

 


  • 使用:略



3.字符串:str



  • 作用:用来记录描述性质状态,比如名字、性别等。


  • 定义:在单引号('')、双引号(" ")、三引号(''' ''', """ """)内包含一系列字符。


    • 三种不同引号的区别:



        1. 单引号和双引号基本无区别,都是用来存放单个字符串,但要注意的是要保证前后的一致性


        2. 三引号多用来存放多行字符串


        3. 字符串的嵌套时,要保证内外引号的差异性,否则就会报错







x = 'abc' # 等同于x = "abc"
?
y = """
abc
123
hahaha
"""
?
msg = 'my name is "Jason"'

 


  • 使用:


    1. 字符串的加法运算(仅限于字符串同类型相加)


    2. 字符串的乘法(相乘的对象必须是int类型)


    3. 字符串之间的大小比较




4.列表:list

作用:用来存取多个值,用索引对应值,索引反映的是位置

定义:在[]内用逗号分隔开多个任意类型的值

>>> l = [1, 0.1, 'Jason', ['a', 'b', 'c']]
>>> print(type(l))

 

使用:列表的取值及嵌套取值

5.字典:dict

作用:用来存放多个值,用key对应value,其中key对value有描述性作用

定义:在{}内,用逗号分隔开多个元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key通常是字符串类型。

>>> s = {'name':'Jason','age':'23','hobby':'basketball'}

 

用法:按照key取value

>>> s = {'name':'Jason','age':'23','hobby':'basketball'}
>>> print(s['age'])
23

 

6.布尔类型:bool

作用:用来控制程序的走向

定义:布尔类型只有两种,True/false;

与之前的类型不同,基本不需要提前定义

用法:通常用在循环或判断语句中,控制程序流程的走向

所有数据类型自带布尔值,除0,None,空(任何为空的数据类型)的布尔类型为False外,其他数据类型的布尔值皆为True。

7.None

>>> print(type(None))

 

 



基本运算符


1. 比较运算符

比较运算符包含:">", ">=", "<", "<=", "==", "!="

用法:通常用于循环或判断语句中,输出值为布尔类型。

2. 逻辑运算符



  • and:连接左右两个条件,只有在两个条件同时成立时,输出结果才为真


  • or:连接左右两个条件,只要有其中一个条件成立时,输出结果就位真


  • not:非


注:当统一语句中存在两个以上条件时,用括号标明优先级可增加代码可读性

&#160;


推荐阅读
  • 2022年Python面试题一.Python基础二.企业面试题结束语🥇🥇🥇✅作者简介:大家好我是编程IDὌ ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 思科IOS XE与ISE集成实现TACACS认证配置
    本文详细介绍了如何在思科IOS XE设备上配置TACACS认证,并通过ISE(Identity Services Engine)进行用户管理和授权。配置包括网络拓扑、设备设置和ISE端的具体步骤。 ... [详细]
  • 本文将详细介绍Python中*args和**kwargs的用法,包括它们的基本概念、应用场景以及注意事项。 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • [c++基础]STL
    cppfig15_10.cppincludeincludeusingnamespacestd;templatevoidprintVector(constvector&integer ... [详细]
  • 双指针法在链表问题中应用广泛,能够高效解决多种经典问题,如合并两个有序链表、合并多个有序链表、查找倒数第k个节点等。本文将详细介绍这些应用场景及其解决方案。 ... [详细]
  • 探讨Redis的最佳应用场景
    本文将深入探讨Redis在不同场景下的最佳应用,包括其优势和适用范围。 ... [详细]
  • 本文介绍如何通过 Python 的 `unittest` 和 `functools` 模块封装一个依赖方法,用于管理测试用例之间的依赖关系。该方法能够确保在某个测试用例失败时,依赖于它的其他测试用例将被跳过。 ... [详细]
  • 在Python中,可以通过导入 `this` 模块来优雅地展示“Python之禅”这一编程哲学。该模块会将这些指导原则以一种美观的方式输出到控制台。为了增加趣味性,可以考虑在代码中对输出内容进行简单的加密或混淆处理,以提升用户体验。 ... [详细]
  • Pyhotn3基础笔记(上卷)吉多范罗苏姆(GuidovanRossum)一.解释器Python的解释器如今有多个语言的实现,包括&#x ... [详细]
  • 本文介绍了使用Python根据字典中的值进行排序的方法,并给出了实验结果。通过将字典转化为记录项,可以按照字典中的值进行排序操作。实验结果显示,按照值进行排序后的记录项为[('b', 2), ('a', 3)]。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
author-avatar
George_唐晓龙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有