python学习积累

一、基础

1.   #!/usr/bin/python

# -*- coding: UTF-8 -*-

2.以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;

以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

3.number

   创建number对象: var1 = 1

   删除number对象: del var1

3. 字符串:

1. ① 截取字符串:变量 [头下标:尾下标]   

      Python字符串的截取使用切片

    ②加号(+)是字符串连接运算符,星号(*)是重复操作

    下标可以为空表示取到头或尾

2. replace 产生新数组

 3. strip()用于移除字符串头尾指定的字符(默认为空格或换行符)

 4.列表 list

   ① 截取列表:变量 [头下标:尾下标]

   ② 加号(+)是字符串连接运算符,星号(*)是重复操作

        下标可以为空表示取到头或尾

    ③ 追加元素到末尾

         变量.append(‘a’)

     ④ 把元素插入到指定的位置,比如索引号为1的位置

          变量.insert(1,’a’)

     ⑤ 删除list末尾的元素

          变量.pop()

     ⑥ list的长度: len(list) 

5.元组 tuple

     ① 因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

      元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

     ③ 只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

   Demo1:>>> t = (1,)

                  >>> t

                        (1,)

   Demo2:>>> t = (1)

                  >>> t

                         (1)

二、条件判断

1.if 条件1:

       执行语句

    elif 条件2:

        执行语句

     else:

        执行语句

2.if x:

     print(‘只要x是非零数值、非空字符串、非空list等,为True,否则为False’)

      注:if elif else 后的冒号,执行语句的缩进统一

三、循环

1. for...in

 注:缩进和冒号

 

range() 生成一个整数序列

四、字典 dict

       使用键-值(key-value)存储

1.

不会随着字典大小的增加而变慢。

    1. 判断key是否存在

  2.删除key

     d.pop(‘Thomas’)

3.

       

五、set

1.是一组key的集合,但不存储value,没有重复的key

  要创建一个set,需要提供一个list作为输入的集合

2. 方法:

   (1)添加元素   s.add(key)

   (2)删除元素   s.remove(key)

   (3)交集 s1 & s2

   (4)并集 s1 | s2

六、时间和日期

1.time.time() 获取当前时间戳;

使用时需要引入time模块  import time;

2.获取当前时间

  localtime = time.localtime(time.time())

3.获取格式化时间

 

 

七、函数

Demo

def printme( str ):"打印任何传入的字符串"

      print str;

      return;

 printme(“hello”);

2. try except

   try 子句先执行,没有异常执行else,否则执行except

八、切片

   取list 或 tuple的部分元素

   Demo1:L[0:3] 从索引为0开始取到索引为3,但不包括索引3

          索引为0时可省略0即:list[:3]

   Demo2: L[-1] 取倒数第一个

   Demo3:L[-10] 取后10个数

   Demo4:L[::5] 所有数,每5个取一个

   Demo5:L[:10:2] 前10个数,每两个取一个

   Demo6:L[:] 复制一个list        

九、迭代 for…in…

1.迭代list

   对list实现下标循环(使用Python内置的enumerate函数)

   Demo: for i, value in enumerate([‘A’,’B’,’C’]):

           print(i,value)

   结果:0 A

              1 B

              2 C

可以在for循环中同时迭代索引和元素本身

2.迭代tuple

3.迭代dict

① for key in d: 迭代key

② for value in d.values(): 迭代value

③ for k,v in d.items(): 同时迭代key和value

  1. 迭代字符串
  2. 迭代生成器generator

十、判断一个对象是可迭代对象

  

十一、列表生成式

十二、生成器generator

一边循环一边计算的机制,不必创建完整的list,从而节省大量的空间。

  1. 生成一个generator
  • 把一个列表生成式的[]变成()

>>> L=[x*x for x in range(10)]

>>> L

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

>>> g=(x*x for x in range(10))

>>> g

<generator object <genexpr> at 0x1022ef630>

  •  
  1. 获取generator的每个元素

循环

 十三、迭代器

 十四、map

接收一个函数和一个序列

 十五、reduce

 

 十六、filter

接收一个函数和一个序列

Demo:筛选不为空的字符串

   def not_empty(s):

        return s and s.srtip()

   list(filter(not_empty,[‘A’,None,’B’,’’,’C’]))

   #结果:[‘A’,’B’,’C’]

十七、sorted

  1. 对list进行排序 
  2. >>> sorted([2,1,3,-4])

[-4,1,2,3]

    2. 通过key值实现自定义排序

         >>> sorted([2,1,3,-4],key=abs)

         [1,2,3,4]

  1. 忽略大小写,按照字母排序

  >>> sorted([‘bob’,’app’,’zoe’],key=str.lower)

          [‘apple’,’bob’,’zoe’]

  1.  反向排序 传入参数reverse=True

  >>> sorted([‘bob’,’app’,’zoe’],key=str.lower,reverse=True)

         [’zoe’,‘bob’,’app’]

十八、偏函数

  functools.partial把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单

猜你喜欢

转载自blog.csdn.net/qq_42566295/article/details/81095479