牢记python语言基础知识

本文涉及的产品
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 【6月更文挑战第20天】 `input` & `print`- `print()`支持任意数量的位置参数,默认用空格分隔,可通过`sep`和`end`定制输出。- 可重定向`print`到文件,如`print("hello!", file=f)`。- `flush=True`确保立即输出,避免大字符串滞后。## 2. 基本数据类型- `str`, `bytes`, `int`, `bool`, `float`, `complex`。- `bytes`是底层I/O的基础,`sys.stdout.buffer`处理字节输出。

简介

本文介绍python语言基本知识,Python提供了灵活的输入输出、数据类型、继承机制以及对象属性管理,通过__special__方法和__slots__等特性优化性能和内存使用。

具体包括元类, boolint子类,用于兼容性。 MRO(方法解析顺序),对象与属性,__getattr__, __setattr__, __delattr__管理对象属性,哈希与ID,dir & vars__slots__, 控制实例变量存储,节省内存,防止动态属性添加。

本文的关键点,包括inputprint的用法、基本数据类型、MRO、对象属性、哈希和内存标识以及__slots__的作用。

Toroid托瑞德符号.png

1 input 和 print

完整的print

print(*values, sep=' ', end='\n',file=sys.stdout, flush=False)

简单的value表示可用提供任意数量的位置参数给 print,它将正确打印。 默认使用空格分隔

使用print将输出打印到文件

    with open('test.txt', 'w') as f:
        print("hello!", file=f)

有些语言有特殊对象,可用让你调用print方法,通过使用熟悉的print接口写入文件。

在python,您可更进一步,临时配置print函数默认写入文件

    sys.stdout = open('mytext.txt', 'w')

flush是print函数的布尔标志。它所做的只是告诉print将文本立即写入控制台/文件,而不是将其放入缓冲区中。

这通常没有太大的区别,但是如果您将一个非常大的字符串打印到控制台,您可能希望将其设置True 为避免向用户显示输出时出现滞后

2 五个基本数据类型关键字 str, bytes, int, bool, float, complex

基于文本的数据类型

  • 字符串类型 str
  • 字节码 bytes

    实际上是计算中所有I/O的基础,如果您了解计算机,所有数据其实

          都以位和字节存储和处理,这是终端的真正工作方式
    

    sys模块的I/O缓冲区

          sys.stdout.buffer
          sys.stdin.buffer
    

    缓冲区对象接收butes,将它们直接写入输出缓冲区,并返回字节数

      >>> char_count = sys.stdout.buffer.write("hello!\n".encode())
      hello!
      >>> char_count
      7
    

    为了证明都是字节,另一个字节打印表情符号的示例

              b'\xf0\x9f\x90\x8d'   # 🐍的utf-8编码 encoded string of the snake emoji
    
      _ = sys.stdout.buffer.write(b'\xf0\x9f\x90\x8d')
          🐍
    

    int是另一种广泛使用的基本原始数据类型。

    它也是 2 种其他数据类型的最小公分母:float和complex. complex是 的超类型float,而后者又是 的超类型int。

3 mro对这些类的属性来自行检查

mro 代表 方法解析顺序,它定义了查找类调用方法的顺序。

本质上,方法调用首先在类本身调用如果它不存在,则在父类搜索,然后在其父类的父类搜索一直到顶部。

object.python的所有内容都继承自object,是的,python的几乎所有东西都是对象

>>> int.mro()
[<class 'int'>, <class 'object'>]
>>> float.mro()
[<class 'float'>, <class 'object'>]
>>> complex.mro()
[<class 'complex'>, <class 'object'>]
>>> str.mro()
[<class 'str'>, <class 'object'>]
>>> bool.mro()
[<class 'bool'>, <class 'int'>, <class 'object'>]

您可从它们 “根”类型 看出,所有其他数据类型都不是任何东西的 子类 除了 object 它将永远存在,除了bool 它继承自int。

现在 您可能希望知道 为什么要bool subclass int,这主要是因为兼容性原因。
所以您都可用在预期bool 的任何地方传递 一个 int。

4 对象 object

obj.x通过调用getattr的方法访问属性。

类似地 setattr 设置一个新属性和 delattr删除一个属性分别调用和。

对象的哈希是通过预定义的hash方法生成的,对象的字符串表示来自repr

而python的所有对象都是object.

5 小结

创建对象使用type 基础元类时,通过指定不同的内置函数的原语,可以实现很多特殊的功能,适应不同的场景,比如在某些会话调用中,惰性计算的例子。这在将来章节我们可以谈到。

目录
相关文章
|
6月前
|
存储 Go 索引
牢记python对象的操作方式
【6月更文挑战第20天】在Python中,`hash()`和`is`帮助确定对象的相等性。`dir()`和`vars()`揭示对象的属性和内部表示,`__slots__`优化内存使用。列表和字典结构有不同的内存和性能特性,字典使用哈希表进行快速访问。
385 5
牢记python对象的操作方式
|
16天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
15天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
3天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
97 80
|
21天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
133 59
|
1天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
14 2
|
15天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
41 10
|
18天前
|
机器学习/深度学习 人工智能 Java
Python 语言:强大、灵活与高效的编程之选
本文全面介绍了 Python 编程语言,涵盖其历史、特点、应用领域及核心概念。从 1989 年由 Guido van Rossum 创立至今,Python 凭借简洁的语法和强大的功能,成为数据科学、AI、Web 开发等领域的首选语言。文章还详细探讨了 Python 的语法基础、数据结构、面向对象编程等内容,旨在帮助读者深入了解并有效利用 Python 进行编程。
|
17天前
|
机器学习/深度学习 人工智能 数据挖掘
探索Python编程的奥秘
在数字世界的海洋中,Python如同一艘灵活的帆船,引领着无数探险者穿梭于数据的波涛之中。本文将带你领略Python编程的魅力,从基础语法到实际应用,一步步揭开Python的神秘面纱。
37 12
|
16天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
下一篇
DataWorks