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

花园桥网站建设公众号平台规则

花园桥网站建设,公众号平台规则,安徽中擎建设公司网站,wordpress切换回经典变奇迹1. 类和对象的区别、对象访问类的方法、创建对象时的操作 类和对象的区别:类是一种抽象的概念,它定义了一组具有相同属性和方法的对象的蓝图或模板。而对象是类的具体实例,是根据类创建出来的实体,每个对象都有自己独立的状态&am…

1. 类和对象的区别、对象访问类的方法、创建对象时的操作

  • 类和对象的区别:类是一种抽象的概念,它定义了一组具有相同属性和方法的对象的蓝图或模板。而对象是类的具体实例,是根据类创建出来的实体,每个对象都有自己独立的状态(属性值)。
  • 对象访问类的方法:对象可以通过点号(.)来访问类中定义的方法。
  • 创建对象时的操作:当创建一个对象时,Python 会为对象分配内存空间,然后调用类的 __init__ 方法(如果存在)来初始化对象的属性。

python

class MyClass:def __init__(self, value):self.value = valuedef print_value(self):print(self.value)# 创建对象
obj = MyClass(10)
# 对象访问类的方法
obj.print_value()

2. 分组一个 list 里面的元素

python

def group_list(lst, group_size):return [lst[i:i+group_size] for i in range(0, len(lst), group_size)]lst = list(range(1, 101))
result = group_list(lst, 3)
print(result)

3. 删除一个 list 里面的重复元素

python

lst = [1, 2, 2, 3, 4, 4, 5]
unique_lst = list(set(lst))
print(unique_lst)

4. 遍历目录与子目录,抓取.pyc 文件

python

import osdef find_pyc_files(root_dir):pyc_files = []for root, dirs, files in os.walk(root_dir):for file in files:if file.endswith('.pyc'):pyc_files.append(os.path.join(root, file))return pyc_filesroot_directory = '.'  # 当前目录
pyc_files = find_pyc_files(root_directory)
print(pyc_files)

5. 生成含有 n 个元素值为 1~n 的数组,元素顺序随机,但值不重复

python

import randomdef generate_random_array(n):arr = list(range(1, n + 1))random.shuffle(arr)return arrn = 10
random_arr = generate_random_array(n)
print(random_arr)

6. 在不用其他变量的情况下,交换 a、b 变量的值

python

a = 5
b = 10
a, b = b, a
print(f"a = {a}, b = {b}")

7. 在一个 function 里设置一个全局变量

python

global_var = 0def set_global_variable():global global_varglobal_var = 10set_global_variable()
print(global_var)

8.写出下面代码的运行结果

python

def extendList(val, list=[]):list.append(val)return listlist1 = extendList(11)list2 = extendList(111, ['a','b','c'])list3 = extendList('a')print "list1 = %s" % list1print "list2 = %s" % list2print "list3 = %s" % list3

以下代码的输出结果为:

python

list1 = [11, 'a']
list2 = ['a', 'b', 'c', 111]
list3 = [11, 'a']

关键分析:

  1. 默认参数的陷阱
    Python 中函数的默认参数(如 list=[])在函数定义时仅初始化一次,而非每次调用都新建。因此,多次调用函数且未显式传递 list 参数时,会共享同一个默认列表。

  2. 执行过程

    • list1 = extendList(11)
      未传递 list 参数,使用默认的空列表 []
      添加 11 后,默认列表变为 [11]list1 指向该列表。

    • list2 = extendList(111, ['a','b','c'])
      显式传递新列表 ['a','b','c'],与默认列表无关。
      添加 123 后,返回 ['a','b','c', 111]list2 独立。

    • list3 = extendList('a')
      再次使用默认列表(此时已为 [11])。
      添加 'a' 后,默认列表变为 [11, 'a']list1list3 均指向此列表。

  3. 最终表现

    • list1list3 共享被修改后的默认列表,因此内容相同。

    • list2 因显式传递参数而独立。

总结:

Python 中若默认参数为可变对象(如列表),多次调用会导致共享同一对象。


解决方案

将默认参数设为不可变对象(如 None),在函数内初始化可变对象。
例如:

python

def extendList(val, list=None):if list is None:list = []list.append(val)return list

http://www.dtcms.com/wzjs/579613.html

相关文章:

  • 网站开发前后台整个流程wordpress高端企业主题
  • 巩义做网站的餐饮网站建设怎样
  • 做分类信息网站代码免费手机端网站模板下载安装
  • 作文大全网站重庆最近的新闻大事10条
  • 网站优化有什么用绍兴网站建设方案托管
  • 贵州省城乡住房和建设厅网站首页18款禁用免费观看app下载
  • 电子商务网站建设与维护的教学北京做胃镜哪好德胜门网站I
  • 纪检网站建设计划书网页设计实训总结模板
  • 万能应用商店下载seo小白入门
  • 亚翔建设集团有限公司网站宝安区做网站
  • 怎样360网站做推广asp做网站教程
  • 哪个工业园区信息化网站做的好珠海网站建设公
  • 重庆平台网站建设哪里有轮胎 东莞网站建设
  • ios风格网站模板农业网站开发的实验报告
  • 秦皇岛做网站优化公司湖州网站seo
  • 房屋中介网站模板h5小游戏源码大全
  • wordpress 产品链接优化公司网站
  • 方便做流程图的网站电影网页设计报告
  • 顺丰物流网站建设策划书公众号怎么绑定网站吗
  • 苏州最大的网站开心消消乐官方网站开发公司
  • 零基础学做网站页最新网站建设合同
  • 江苏模板网站建设网站建设助君网络
  • 站长统计芭乐鸭脖小猪公司网站百度地图
  • dw网站首页的导航怎么做wordpress 登录代码
  • 花桥网站制作做搜狗手机网站优化排
  • 提升网站权重的策略光谷企业网站建设
  • 深圳求做网站苏宁易购网站建设建议
  • 抚顺网站建设技术员招聘淘客网站怎么备案
  • 微信浏览为网站的缓存怎么清理响应式网站建设市场
  • 如何用jsp做网站ip或域名查询网