python中的FQA (python 学习篇 1)

Q:1.  "  if __name__=='__main__'   "  这句是什么意思,可以不加?    

A:   如果单独运行该文件,则该模块的内容会被执行; 若运行的文件引用该文件,例如该文件是a.py, 另一个文件b.py引用a.py:from a import * ,那么此时,a.py就不是主程序了,main模块里面的就会被忽略。 详见stackoverflow https://stackoverflow.com/questions/419163/what-does-if-name-main-do 

Q:2.  "  def __init__(self):   " 这句是什么意思,可以举例子解释下吗?

A:  创建类的对象后,就会执行。 例如:

例1:

class Class1:
    def __init__(self):
        print("hello")


test = Class1()

执行结果:
>>> hello

一般 def __init__函数都用来创建构造器赋值,比如:

例2:

class Class1:
    def __init__(self, num):
        self.num = num


test = Class1(100)
print(test.num)

 执行结果:

>>> 100

详情可以看https://qiita.com/Morio/items/0fe3abb58fcaff229f3d

  

Q:3.   如何读取.csv文件?

A:     

     import numpy as np

         from numpy import genfromtxt
         get_info = genfromtxt('get_info.csv', delimiter=',')    

Q:   4. list(列表)跟 array (数组)的区别? 哪个能用 shape方法?

A: #生成格式不一样,简而言之:array_a=array (list_b)

    一维:     

      list=[1,2,3,4] 

      array=array([f1, 2, 3, 4])

     #使用一样 , 例如: list[0]         ->   1

             array[0]   ->   1

    二维:

     list=[[1,2],[3,4],[5,6],[7,8]]

     array=array([[1,2],[3,4],[5,6],[7,8]])

     #使用稍微有点区别, 例如 list[0][1]   -> 2     //不能用list[0,1],否则会报错“list index must be integers or slice, not tuple” 

                而 array[0,1]  或者  array[0][1]  都行 -> 2

Q:  列表list跟元组tuple有什么区别

A:  list=[1,2,3]

   tuple=(1,2,3)

   使用方法是一样的,区别就是tuple赋值后就不能修改了,而列表list的值可以变

Q:    如何列表,数组,元组互相转换?

A:  a=[1,2,3]          // a是一个列表

       b=tuple(a)       //转化为元组

   c=array(a)   //转化为数组(array)

Q:   如何输出二维列表的第1列,比如a=[ [1,2],[3,4],[5,6],[6,7],[7,8],[8,9],[9,10],[10,11],[11,12],[12,13],[13,14] ] 

A: b=[i[0] for i in a]

原文地址:https://www.cnblogs.com/yyagrt/p/11217747.html