Python----全局变量、内存管理、数据类型

简介: Python----全局变量、内存管理、数据类型

1、如何跨模块共享全局变量?

在单个程序中跨模块共享信息的规范方法是创建一个特殊模块(通常称为config或cfg)。

只需在应用程序的所有模块中导入配置模块;然后该模块可用作全局名称。

因为每个模块只有一个实例,所以对模块对象所做的任何更改都会在任何地方反映出来。

比如:

在config.py文件中定义一个变量:x = 0

在mod.py文件中导入config

 import config

 config.x = 1

在main.py文件中导入config和mod

 import config

 import mod

 print(config.x)

2、简述python内存管理。

内存管理是有效分配,重新分配和协调内存的过程,以便所有不同的进程都能平稳运行并可以最佳地访问不同的系统资源。

内存管理还涉及清除不再访问的对象的内存。

以引用计数为主,分代回收,标记清除为辅的垃圾回收方式进行内存回收

并且还引入小整数缓冲池和常见简单字符串驻留区的内存缓冲池机制


3、简述pep8的5个规则, 简述python数据类型。

①使用4个空格来缩进代码,不要用tab制表符,也不要tab和空格混用,对于行连接的情况。

②如果可以,注释单独占一行。

③使用文档字符串

④运算符周围和逗号后面使用空格,但是括号里面不加空格:a = f(1,2) + g(3,4)

⑤折行以确保其不会超过79个字符。这有助于小显示器用户阅读,也可以让大显示器能并排显示几个代码、文件。

4、python数据类型:

数字类型(整型、浮点型、复数)、字符串类型、布尔类型、容器类型(列表、元组、字典、集合类型)

5、python中有哪些数据类型是可变数据类型,有哪些数据类型是不可变数据类型。

可变数据类型:在原内存地址上可以修改存储具体内容

列表:list、字典:dict、集合:set

不可变数据类型:在原内存地址上不能修改存储具体内容

数字(int和float)、字符串类型、元组:tuple

6、 有一个文本内容格式如下,每行个字段用空白隔开,假设你不知道它里面的具体内容。

a  a1  a2  a3

b  xx

c  123 yy

请将它们的每一行内容按照如下格式输出:

a
  a1
    a2
      a3
b
  xx
c
  123
     yy
with open("test.txt",'w',encoding="gbk") as fp:
    fp.write("a  a1  a2  a3\nb  xx\nc  123 yy")
with open("test.txt",'r',encoding="gbk")as fp:
    for line in fp:
        line = line.split() #split()以空白进行分割
        print(line)
        i = 0
        for line2 in line:
            # print(line2)
            a = " "*i + line2
            # b = a.replace(" ",' ')
            print(a)
            i += len(line2)


7、有如下python脚本, a.py , 它执行时,可以接受命令行参数。比如:python3 a.py -name sc -age 5 应该如何实现:

# -*- coding: utf-8 -*-
import argparse
parser = argparse.ArgumentParser('description=Show this usage')
parser.add_argument("--name", type=str,  help='display an  name')
parser.add_argument("--age", type=int, help='display an  name')
args = parser.parse_args()
print(args.name,args.age)

在linux中执行:python3 argparse.py --name=sc --age=5

8、如何判断字符串中是否有重复字符串

str2 = input("请输入一个字符串: ")
str3 = set(str2) #字符串转成集合:天生去重
# print(str3)
dict1 = dict()#定义一个空字典
if len(str2) == len(str3):
    print(f"字符串中没有重复的")
else:
    print("字符串中有重复的")
for i in str2:
    dict1[i] = str2.count(i)
print(dict1)
相关文章
|
26天前
|
传感器 数据采集 监控
Python生成器与迭代器:从内存优化到协程调度的深度实践
简介:本文深入解析Python迭代器与生成器的原理及应用,涵盖内存优化技巧、底层协议实现、生成器通信机制及异步编程场景。通过实例讲解如何高效处理大文件、构建数据流水线,并对比不同迭代方式的性能特点,助你编写低内存、高效率的Python代码。
100 0
|
2月前
|
人工智能 Python
python基本数据类型简介
本文简要介绍了Python的基本数据类型,包括整型、浮点型、字符串、列表、字典和布尔类型,帮助读者对Python数据类型有初步了解。
|
2月前
|
存储 安全 开发者
Python中的数据类型详解
Python是一种动态类型编程语言,具备丰富的数据类型,包括数值类型、序列类型、映射类型和集合类型等。这些类型为高效编程提供了强大支持。
|
4月前
|
Python
Python技术解析:了解数字类型及数据类型转换的方法。
在Python的世界里,数字并不只是简单的数学符号,他们更多的是一种生动有趣的语言,用来表达我们的思维和创意。希望你从这个小小的讲解中学到了有趣的内容,用Python的魔法揭示数字的奥秘。
114 26
|
4月前
|
数据可视化 Linux iOS开发
Python测量CPU和内存使用率
这些示例帮助您了解如何在Python中测量CPU和内存使用率。根据需要,可以进一步完善这些示例,例如可视化结果或限制程序在特定范围内的资源占用。
170 22
|
5月前
|
存储 程序员 Python
Python 变量和简单数据类型
本文介绍了 Python 编程的基础知识,从创建第一个 Python 文件 `hello_world.py` 开始,讲解了 Python 文件的运行机制及解释器的作用。接着深入探讨了变量的定义、命名规则和使用方法,并通过示例说明如何修改变量值。同时,文章详细解析了字符串的操作,包括大小写转换、变量插入及空白字符处理等技巧。此外,还涵盖了数字运算(整数与浮点数)、常量定义以及注释的使用。最后引用了《Python 之禅》,强调代码设计的美学原则和哲学思想。适合初学者快速掌握 Python 基础语法和编程理念。
|
5月前
|
Python
探索Python的各式数据类型
以上就是Python数据类型的一次简单而有趣的游览。和她继续接触,你会发现她还有更多有趣的面象,例如集合里的冰冻集合(Frozenset),序列里的字符串(String)和字节序列(Bytes)等等。希望这次游览能对你有所启发,让你更好地理解和使用Python。
76 21
|
7月前
|
监控 Java 计算机视觉
Python图像处理中的内存泄漏问题:原因、检测与解决方案
在Python图像处理中,内存泄漏是常见问题,尤其在处理大图像时。本文探讨了内存泄漏的原因(如大图像数据、循环引用、外部库使用等),并介绍了检测工具(如memory_profiler、objgraph、tracemalloc)和解决方法(如显式释放资源、避免循环引用、选择良好内存管理的库)。通过具体代码示例,帮助开发者有效应对内存泄漏挑战。
326 1
|
10月前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
240 62
|
10月前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
186 61

推荐镜像

更多