美文网首页
python基础

python基础

作者: zhouyilian | 来源:发表于2017-12-07 18:50 被阅读0次

    基础

    print('''...'''):输出多行
    大写变量名表示常量,如:PI=3.14156
    None:空,inf:无限大

    编码

    ASCII编码:1字节
    GB2312编码:>=2字节,中文编码
    Unicode编码:2字节、4字节
    UTF-8编码:可变长,为节省空间
    工作方式:计算机内部采用Unicode,保存硬盘或传输时用UTF-8

    list迭代

    输出有类似java里的index,python有enumerate

    for i,value in enumerate(['A','B','C']):
        print(i,value)
    #输出 
    0,A
    1,B
    2,C
    

    输出多值的方法

    for x,y in [(1,1),(2,4),(3,9)]:
      print(x,y)
    #输出
    1,1
    2,4
    3,9
    

    dict迭代

    d={'a':1,'b':2,'c':3}
    for key in d:
        print(key)
    #输出 a c b
    

    因为dict的存储不是按照list的方式顺序排列,所以迭代的结果顺序很可能不一样。默认情况下,dict迭代的是key,如果要迭代value,可以用for value in d.values()
    添加元素可以直接赋值:

    dictionary_tk={
      "name":"Leandro",
      "nickname":"TK",
      "nationality":"Brazilian"
    }
    dictionary_tk['age']=24
    print(dictionary_tk)
    #输出
    {'name:'Leandro','nickname':'TK','nationality':'Brazilian','age':24}
    

    set

    set只存储key,且key不能重复,创建时,必须提供一个list作为输入集合:

    s=set([1,2,3]
    print(s)
    

    方法有:s.add(),s.remove(),它有- | & ^集合运算

    函数

    函数参数注意:可变参数,关键字参数,命名关键字参数

    可变参数:

    它会自动组装成tuple

    def calc(*numbers):
      sum=0
      for n in numbers:
        sum=sum+n*n
      return sum
    ...
    calc(1,2)#调用1
    nums=[1,2,3]
    calc(*nums)
    
    关键字参数:

    它会自动组装成dict

    def person(name,age,**kw):
      print('name:',name,'age:',age,'other:',kw)
    ...
    person('Adam',45,city='Beijing',gender='M')
    

    高级特性

    切片、迭代(上面讲了)、列表生成式、生成器(以后更新)、迭代器

    列表生成式
    list(range(1,11))
    #输出 [1,2,3,4,5,6,7,8,9,10]
    
    L=[]
    for x in range(1,11):
      L.append(x*x)
    #输出L
    [1,4,9,16,25,36,49,64,81,100]
    
    [x*x for x in range(1,11)]
    #输出 [1,4,9,16,25,36,49,64,81,100]
    
    #筛选偶数的平方
    [x *x for x in range(1,11) if x%2==0]
    

    高阶函数

    map/reduce

    map()接收两个参数,一个是函数,一个是iterable,如:

    def f(x):
      return x*x
    ...
    r=map(f,[1,2,3,4])
    list(r)
    #输出 [1,4,9,16]
    

    filter

    和map()类似,它是根据函数返回值判断是否保留该元素

    def is_odd(n)
      return n%2==1
    ...
    list(filter(is_odd,[1,2,3,4,5,6]))
    #输出 [1,3,5,6]
    

    对象与变量

    使用constructor方法公开实例变量

    class Person:
      def _init_(self,first_name):
        self.first_name=first_name
    ...
    tk=Person('TK')
    print(tk.first_name)
    #输出 TK
    

    私有变量:_变量名,也可以像公开变量一样访问,只是一个约定而已,但只能通过类中方法来更新私有变量

    class Person:
      def _init_(self,first_name,email):
        self.first_name=first_name
        self._email=email
    ...
    tk=Person('TK','tk@mail.com')
    print(tk._email)
    #输出
    tk@mail.com
    

    私有方法同理:_方法名,只能是类里的方法来调用它

    目前只需要用到这些,未完待续。。。。

    相关文章

      网友评论

          本文标题:python基础

          本文链接:https://www.haomeiwen.com/subject/huejixtx.html