zoukankan      html  css  js  c++  java
  • Python的变量问题

    学习廖雪峰老师的Python教程,在循环的课后习题中发现了一个问题。

    name = ['micheal','bob','jack']
    for name in name:
       print(name)
    print(name)
    print(name[0])

    上面的代码运行的结果

    for这一条语句里面出现两个name,Python是如何处理的呢?第四条语句的输出为什么是jack呢?我是这么理解的:

    先是创建一个list,然后,Python将一个名为name的东西指向这个list(觉得把它想成一个name指针指向这个list会好理解),list创建初始化后来到for语句,这时候,Python先找到名为name的list的内存地址,然后申请生成一个变量空间,然后把刚才那个名为name的东西 (指针?)转头指向新开辟的变量空间,然后Python依次从list的内存空间把数据拿出来存放到name这个变量中。所以第四行中的name的值为“Jack”,这也就解释了为什么第四行的输出是jack。第五行为什么是j?我觉得这是理所当然的,还是解释下吧,毕竟这是我的第一篇文章:-D.

    name="jack"
    print(name[0])

    上面的代码的执行结果就是  j  ,name是一个字符串,name[0]就是读取name的第一个,这在c++中也是这样:

    #include<iostream>
    using namespace std;
    int main()
    {
        char * name;
        name="jack";
        cout<<name[0]<<endl;
    }

    好了,第一篇博客到此结束了,如果有什么理解不对的欢迎指正学习,毕竟开始写博客的目的除了记下这段奋斗的历程,就是为了能更好的相互学习了。

  • 相关阅读:
    【题解】1621. 未命名
    【模板】关于vector的lower_bound和upper_bound以及vector基本用法 STL
    【题解】数颜色 STL vector数组
    【题解】斐波拉契 luogu3938
    【题解】天天酷跑
    【题解】Grape luogu1156改 dp
    【题解】逐个击破 luogu2700
    【题解】ball 数论
    【题解】逐个击破 luogu2700
    【题解】平方根
  • 原文地址:https://www.cnblogs.com/yns-blogs/p/4647757.html
Copyright © 2011-2022 走看看