当前位置: 首页 > wzjs >正文

强化网站建设和管理手机端网站的建设

强化网站建设和管理,手机端网站的建设,张家港网站建设培训班,会展设计专业1. 内置的数据结构有哪几种 Python 中有多种内置的数据结构,主要分为以下几种: 1.1 数值类型 整数(int):用于表示整数,没有大小限制。例如:1, -5, 100。浮点数(float)…

1. 内置的数据结构有哪几种

Python 中有多种内置的数据结构,主要分为以下几种:

1.1 数值类型
  • 整数(int):用于表示整数,没有大小限制。例如:1, -5, 100
  • 浮点数(float):用于表示小数。例如:3.14, -0.5
  • 复数(complex):由实部和虚部组成,虚部以 jJ 结尾。例如:3 + 4j
1.2 序列类型
  • 字符串(str):由零个或多个字符组成的不可变序列。例如:"hello"
  • 列表(list):一种可变的序列类型,可以包含不同类型的元素。例如:[1, 'a', True]
  • 元组(tuple):一种不可变的序列类型,使用圆括号表示。例如:(1, 2, 3)
1.3 集合类型
  • 集合(set):无序且唯一元素的集合,可变类型。例如:{1, 2, 3}
  • 冻结集合(frozenset):不可变的集合类型。例如:frozenset([1, 2, 3])
1.4 映射类型
  • 字典(dict):以键值对形式存储数据,键是唯一的,可变类型。例如:{'name': 'Alice', 'age': 25}
  • 要点:

不同的数据结构在内存占用和性能表现上有所差异。例如,列表在插入和删除元素时效率相对较低,尤其是在列表头部操作;而集合在查找元素时具有较高的效率,时间复杂度为 O (1)。在实际应用中,需要根据具体的需求选择合适的数据结构。比如,当需要存储有序且可重复的数据时,列表是不错的选择;当需要快速判断元素是否存在时,集合更为合适。

2. 如何实现单例模式?请写出三种实现方式

2.1 使用模块

Python 的模块在第一次导入时会被执行,并且会将模块的内容加载到内存中,后续的导入操作都会使用同一个模块对象,因此可以利用这一特性实现单例模式。

python

# singleton.py
class Singleton:def __init__(self):passsingleton_instance = Singleton()

在其他文件中使用:

python

from singleton import singleton_instance
2.2 使用装饰器

python

def singleton(cls):instances = {}def get_instance(*args, **kwargs):if cls not in instances:instances[cls] = cls(*args, **kwargs)return instances[cls]return get_instance@singleton
class MyClass:def __init__(self):passobj1 = MyClass()
obj2 = MyClass()
print(obj1 is obj2)  # 输出: True
2.3 使用类方法

python

class Singleton:_instance = None@classmethoddef get_instance(cls):if cls._instance is None:cls._instance = cls()return cls._instanceobj1 = Singleton.get_instance()
obj2 = Singleton.get_instance()
print(obj1 is obj2)  # 输出: True
  • 要点

单例模式在实际开发中有很多应用场景,比如数据库连接池、日志记录器等。在多线程环境下使用单例模式时,需要考虑线程安全问题。例如,使用类方法实现单例模式时,在多线程环境下可能会创建多个实例,需要使用锁机制来保证线程安全。

  • 示例

python

import threadingclass Singleton:_instance = None_lock = threading.Lock()@classmethoddef get_instance(cls):with cls._lock:if cls._instance is None:cls._instance = cls()return cls._instance

 

3. 如何反转一个整数

例如 -168 --> -861

python

def reverse_integer(x):sign = -1 if x < 0 else 1num_str = str(abs(x))reversed_str = num_str[::-1]return sign * int(reversed_str)print(reverse_integer(-168))  # 输出: -861
  •  要点:

实现整数反转的关键步骤是先处理符号,然后将绝对值转换为字符串进行反转,最后再加上符号。在处理整数反转时,需要考虑整数溢出的问题。虽然 Python 的整数类型没有大小限制,但在某些需要与其他语言交互或对性能有严格要求的场景下,可能需要考虑溢出问题。另外,可以对输入进行合法性检查,确保输入是有效的整数。

4. 用一行代码写出 1 + 2 + 3 + ... + 10000

python

print(sum(range(1, 10001)))
  • 要点: 

使用 sum 函数和 range 函数可以在一行代码中完成 1 到 10000 的求和。同样,对于较大的范围,使用数学公式 n * (n + 1) // 2 可以更高效地计算。另外,可以将这个功能封装成一个函数,方便计算任意范围的整数求和。以下是示例代码:

  • 示例

python

def sum_range(n):return n * (n + 1) // 2print(sum_range(10000))

 

5. 遍历列表时删除元素的正确做法

5.1 使用列表推导式创建新列表

python

original_list = [1, 2, 3, 4, 5]
new_list = [i for i in original_list if i != 3]
print(new_list)
5.2 反向遍历列表并删除元素

python

original_list = [1, 2, 3, 4, 5]
for i in range(len(original_list) - 1, -1, -1):if original_list[i] == 3:del original_list[i]
print(original_list)
  •  要点: 

正确的做法有使用列表推导式创建新列表和反向遍历列表并删除元素。列表推导式的优点是代码简洁,易于理解,但会创建一个新的列表,占用额外的内存。反向遍历列表的方法不会创建新的列表,但代码相对复杂一些。在处理大型列表时,需要根据具体情况选择合适的方法。另外,还可以使用迭代器和 filter 函数来实现相同的功能。

 

6. 可变类型和不可变类型

  • 可变类型:对象创建后,其值可以被修改的类型。常见的可变类型有列表(list)、集合(set)、字典(dict)。

python

my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # 输出: [1, 2, 3, 4]
  • 不可变类型:对象创建后,其值不能被修改的类型。常见的不可变类型有整数(int)、浮点数(float)、字符串(str)、元组(tuple)。

python

my_str = "hello"
# 下面这行代码会报错,因为字符串是不可变的
# my_str[0] = 'H'
  •  要点: 

可变类型和不可变类型在函数参数传递时表现不同。不可变类型作为参数传递时,函数内部对参数的修改不会影响到外部的变量;而可变类型作为参数传递时,函数内部对参数的修改会影响到外部的变量。

  • 示例

python

def modify_immutable(num):num = num + 1return numdef modify_mutable(lst):lst.append(4)return lsta = 1
b = [1, 2, 3]
print(modify_immutable(a))  # 输出: 2
print(a)  # 输出: 1
print(modify_mutable(b))  # 输出: [1, 2, 3, 4]
print(b)  # 输出: [1, 2, 3, 4]

 

7. is== 有什么区别

  • == 用于比较两个对象的值是否相等。

python

a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)  # 输出: True
  • is 用于比较两个对象是否是同一个对象,即它们是否指向同一块内存地址。

python

a = [1, 2, 3]
b = [1, 2, 3]
print(a is b)  # 输出: Falsec = a
print(a is c)  # 输出: True
  •   要点: 

在实际应用中,对于简单的数据类型,如整数、字符串等,Python 会对一些常用的值进行缓存,因此在一定范围内使用 is 比较可能会得到意外的结果。

  • 示例

python

a = 100
b = 100
print(a is b)  # 输出: Truea = 1000
b = 1000
print(a is b)  # 输出: False

 

 8. 求出列表所有奇数并构造新列表

python

original_list = [1, 2, 3, 4, 5]
odd_list = [i for i in original_list if i % 2 != 0]
print(odd_list)  # 输出: [1, 3, 5]
  •   要点: 

可以使用列表推导式来筛选出列表中的奇数元素并构建新列表。除了列表推导式,还可以使用 filter 函数和 lambda 表达式来实现相同的功能。

  • 示例

python

original_list = [1, 2, 3, 4, 5]
odd_list = list(filter(lambda x: x % 2 != 0, original_list))
print(odd_list)  # 输出: [1, 3, 5]

 


文章转载自:

http://6zqkk506.qydgk.cn
http://gQ50HwOY.qydgk.cn
http://S49UpDi4.qydgk.cn
http://53I0Va6J.qydgk.cn
http://ORxRSGhd.qydgk.cn
http://HaKWbbZ2.qydgk.cn
http://Yd8y9owy.qydgk.cn
http://9AY9jTwx.qydgk.cn
http://gTokDd3d.qydgk.cn
http://tKYJnfUE.qydgk.cn
http://Wdw4Qeff.qydgk.cn
http://RQtMvJCA.qydgk.cn
http://4yazSuxP.qydgk.cn
http://qKwEjPaM.qydgk.cn
http://wBSdjpdh.qydgk.cn
http://xLLVCEuo.qydgk.cn
http://4v5IySIB.qydgk.cn
http://4D3aamOs.qydgk.cn
http://0d8UYsDe.qydgk.cn
http://HQlvMNmR.qydgk.cn
http://hNOPjvsL.qydgk.cn
http://sPOAU6Kn.qydgk.cn
http://a3QQaqQW.qydgk.cn
http://9Nc7jsal.qydgk.cn
http://HJzFK7MB.qydgk.cn
http://YrMpZUpr.qydgk.cn
http://GoqqgN5B.qydgk.cn
http://x3ePUorx.qydgk.cn
http://daxfqH9K.qydgk.cn
http://OhAY4Irc.qydgk.cn
http://www.dtcms.com/wzjs/760329.html

相关文章:

  • 建设的优质网站学做面包网站
  • 网站程序哪个好建网站公司公司名称大全
  • 通过门户网站做单点登录SAP五一自学网免费教程官网
  • 网站宽度一般是多少没有地址如何注册公司
  • 怎么做联盟网站wordpress怎么去掉主题的搜索框
  • 没有域名怎么搭建网站国建设文化艺术协会网站
  • 做一个企业网站多少钱小说网站开发多少钱
  • 网站与装修公司网站排名seo教程
  • 网站的用户注册怎么做南昌哪里可以做电商网站
  • 花都网站建设策划中国制造网官方网址
  • 奥联网络网站建设望野古诗王绩
  • 网络推广平台网站推广网站建设 厦门
  • 贵州省网站集约化建设个人网站有备案吗
  • 同德县wap网站建设公司怎么把qq空间做成企业网站
  • c2c电商平台网站信息可视化网站
  • 网站建设外地便宜免费的课程设计哪个网站有
  • 大连网站开发网站建设投放广告
  • 小学做试卷的网站网站开发记入什么会计科目
  • 中国城乡建设部证件查询网站网站开发公司怎么选择
  • 优秀原创设计网站大连金普新区规划建设局网站
  • 在线酒店预定网站制作校园营销渠道有哪些
  • 网站规划的原则有哪些内容广东万泰建设有限公司网站
  • 网站开发文档模板深圳防疫隔离政策
  • 自己做的网站显示不全福田汽车公司
  • 网站备案导致网站被k建设网站的企业多少钱
  • 线上营销平台有哪些网站首页优化方案
  • 网站用什么系统好线上营销的好处
  • 深圳品牌网站推广公司昌平网站制作公司
  • 网站建设的费用和预算无极小说网
  • 全国免费发布信息网seo短视频发布页