当前位置: 首页 > 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/362653.html

相关文章:

  • 移动端手机网站制作国家职业技能培训学校
  • wordpress模板修改图片网站seo设计方案案例
  • 做网站吸引客户搜索网站有哪些
  • 想开网站怎样做网站优化排名易下拉霸屏
  • 设计一个网站报价互联网项目
  • 萝岗网站建设制作怎么用模板做网站
  • 记事本做网站的流程温州seo招聘
  • 品牌营销策划书百度seo网站优化 网络服务
  • 大学做网站是什么专业百度网讯科技有限公司官网
  • 广东网站建设公司排名长沙百度网站排名优化
  • 自贡做网站的公司百度识图网页版 在线
  • 怎么创建游戏软件seo门户网站建设方案
  • 浙江网站搭建百度框架户开户渠道
  • 手机怎么样做网站站长之家新网址
  • 政府找网站开发商要求王通seo
  • 樟木头网站仿做简述网站建设的基本流程
  • 做定制型网站电子商务网站推广策略
  • 网站开发论文答辩问题近期国际新闻20条
  • 营销型企业网站建设的基本原则是seo发帖网站
  • 虹口专业做网站百度app客服人工电话
  • 中英文网站英文任务放单平台
  • 如何进行网站网站调试站长是什么级别
  • 宝鸡营销型网站建设win7优化大师免安装版
  • 做设计都有什么网站推广代理平台登录
  • 仙居县建设规划局网站社交媒体营销案例
  • 网站的seo优化怎么做一键seo提交收录
  • wordpress设置主题404模板宁波seo推广如何收费
  • 网站建设商业计划书线上推广是什么意思
  • 第一ppt模板免费下载网站关键词推广软件
  • 巴青网站制作百度销售