答疑1108晨迪问

0.交互界面的好处,程序员一般如何使用交互界面?

答: 我们现在见过有两个敲代码的地方。一个是Pycharm的IDE,一个是黑屏的交互环境。比如计算3+5,你会发现在IDE里面不用print()这个函数3+5就不会给你任何反应,而交互环境中,3+5很爽快的就给你打印个5。交互环境就显得很方便,很人性化,你给它输入个东西,交互环境马上就给你回应,所以交互环境多用于调试阶段,还有就是我们初学代码时,在里面敲一敲。注意,交互环境是个失忆患者,它不会记得你敲过什么,关闭了就没有了。在平时编码中,我们需要保存代码,并且会写的多。所以,记得在IDE里面写~~~

1.只读变量是否只能在交互界面使用?

在这里插入图片描述

答: 恭喜你,发现了这个_只读变量,我刚才在IDE里面试了下,print(price+)是不行的,它会说NameError: name '’ is not defined。_表示上一次的输出结果,的这种含义仅能在交互环境中这样用。
刚好我今天敲代码,也发现了一个
,但不是这个意思,代码如下:

traveler_ids = [('USA', '31195855'), ('BRA', 'CE342567'), ('ESP', 'XDA205856')]
for country, _ in traveler_ids:
    print(country)

traveler_ids一个元组列表, 元组的形式(country_code,passport_number)
代码运行结果,是这样的:

USA
BRA
ESP

所以,_ 在这里是什么意思呢?仅仅是个占位符~ 我只想要country,管你passport_number是什么~ 但是print(_)的时候,是可以显示出passport_number的,不信你试试~

2.迭代是什么意思?

在这里插入图片描述

c迭代嘛,其实就是遍历。就是通过for循环一遍一遍一遍去拿list或者tuple里面的值。你这个例子其实是这样的:

list = [1,2,3]
for x in list:
	print(x)
3 列表嵌套的用处,以及嵌套后如何打印指定的列表?
a=['a','b','c']
b=[1,2,3]
x=[a,b]
print(x[0:1])

输出为什么这样:[[‘a’, ‘b’, ‘c’]]
答: 输出这样是没有错的呀,x是个嵌套列表。X长这个样子[[‘a’, ‘b’, ‘c’], [1, 2, 3]],[‘a’, ‘b’, ‘c’]是x的第0个元素,[1, 2, 3]是x的第1个元素,你写的x[0:1]结果是拿到x里面从0开始到1的那个元素,不包括1,这是个切片操作,切片结果为list,结果没毛病。

又问:

a=['a','b','c']
b=[1,2,3]
c=['A','B','C']
x=[a,b,c]
print(x[0],x[1])

输出为:[‘a’, ‘b’, ‘c’] [1, 2, 3],如何像无嵌套的列表那样使用:来表示从哪个嵌套列表输出到哪个嵌套列表,还是没有办法?
答: 你这个绕口令我没有看懂。。。尝试说一下:

a=['a','b','c']
b=[1,2,3]
c=['A','B','C']
x=[a,b,c]

#在a中加入new
x[0].append("new")
#在b中加入old
x[1].append("new")
#在x中加入列表[1,True]
x.append([1,True])
print(x)

运行结果这样:
[[‘a’, ‘b’, ‘c’, ‘new’], [1, 2, 3, ‘new’], [‘A’, ‘B’, ‘C’], [1, True]]
不知道是不是你要的?

4 列表append输出错误,以及如何给嵌套列表添加元素?
a=['a','b','c']
b=[1,2,3]
c=['A','B','C']
x=[a,b,c]
#print(x[0][0],x[1][1:])
y=a.append("alpha")
print(y)

输出为:None

答: 你误会append()了,你看这个链接
http://www.runoob.com/python3/python3-att-list-append.html
append() 方法用于在列表末尾添加新的对象
该方法无返回值,但是会修改原来的列表!!!!
a.append(“alpha”)已经把alpha加进a里面了,但是它是雷锋,做了好事不留名~ 没有留名你又给y,y可不就是None么~

5 Python每一行结尾什么时候使用“:”,什么时候使用“;”?

答: ;是个什么鬼?我说下冒号:,冒号普遍用于for语句后面,if后面,try后面,函数定义之后,我的理解是~ 你们都听我说,我下面有东西,要开始执行了~~~

6 列表和元组类似,列表可以修改,元组不可以修改。

答: 初学时,可以这样理解。来看一个“可变的”tuple:

t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)

运行结果:(‘a’, ‘b’, [‘X’, ‘Y’])
这个tuple定义的时候有3个元素,分别是’a’,‘b’和一个list。不是说tuple一旦定义后就不可变了吗?怎么后来又变了?
在这里插入图片描述
当我们把list的元素’A’和’B’修改为’X’和’Y’后,tuple变为:
在这里插入图片描述
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

那些不可变的元素有哪些呢?答案是字符、字节和数值这种基础类型。

Ps: 元组的神奇不止与此~~~~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值