技术问题汇总

过往问题

1、为啥字符串不能通过索引操作改变其中的内容呀???是数据结构的问题?还是其他原因?
像列表都可以,列表是可变类型,所以通过索引操作既可以获取列表中的元素,也可以更新列表中的元素。

2、不可变类型更适合多线程环境,因为它降低了并发访问变量的同步化开销。为什么??

3、不可变类型在创建时间和占用空间上面都优于对应的可变类型,为什么??

import sys
import timeit

a = list(range(100000))
b = tuple(range(100000))
print(sys.getsizeof(a), sys.getsizeof(b)) # 900120 800056

print(timeit.timeit(‘[1, 2, 3, 4, 5, 6, 7, 8, 9]’))
print(timeit.timeit(‘(1, 2, 3, 4, 5, 6, 7, 8, 9)’))

4、输入5人成绩

names = [‘a’,‘b’,‘c’]
courses = [‘english’,‘math’]

scores = [[0] * len(courses) for _ in range(len(names))]

for i,name in enumerate(names):
for j,course in enumerate(courses):
print(f’{name}的{course}成绩为:‘,end=’‘)
scores[i][j] = float(input(’'))

for index, course in enumerate(courses):
curr_course_scores = [score[index] for score in scores]
print(type(score))
avg_score = sum(curr_course_scores) / len(names)
print(f’{course}的平均成绩为:{avg_score:.1f}分’)

if name == ‘main

Python是一种解释型脚本语言,在执行之前不同要将所有代码先编译成中间代码。Python程序运行时是从模块顶行开始,逐行进行翻译执行,所以,最顶层(没有被缩进)的代码都会被执行,所以Python中并不需要一个统一的main()作为程序的入口。在某种意义上讲,“if name== ’main:”也像是一个标志,象征着Java等语言中的程序主入口,告诉其他程序员,代码入口在此——这是“if name==’main:”这条代码的意义之一。

开发人员通常会在模块下方增加一些测试代码,为了避免这些测试代码在模块被导入后执行,可以利用__name__属性。

name__属性是Python的一个内置属性,记录了一个字符串。
若是在当前文件,name 是__main

在这里插入图片描述
若是导入的文件,__name__是模块名。
test文件导入hello模块,在test文件中打印出hello模块的__name__属性值,显示的是hello模块的模块名
在这里插入图片描述

什么说KL散度虽然可以表征两个分布的差别但却不是距离?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值