python基础三篇搞定-1

数据类型

    int  float  complex  bool  None  str

    complex复数分为两部分,实部+虚部,虚部必须是以j或J结尾的数,例(1+1j

变量命名规则

    python的变量命名规则和别的语言差不多

        变量名必须为字母(a-zA-Z)或下划线(_)开头

        不能使用python的关键字(保留字)

        True  False  None  is  del  if  elif  else  pass  not  等

    python变量名区分大小写

赋值语句(新建变量)

    c = 3

    a = b = 3

    变量名1, 变量名2, ... = 表达式

运算符

    +  -  *  /  //  %  **

    python的/和别的语言的//相同,1/2=0.5,3/2=1.5

    python的//和别的语言/相同,1//2=0,3//2=1,3.0//2=1.0

比较运算符

    ==  !=  <>  >  <  >=  <=

赋值运算符

    =  +=  -=  *=  /=  //=  %=  **=

高级运算符

    &  |  ^  ~  <<  >>

    &位与(交集)  |位或(并集)  ^位异或(对称补集)  ~取反  <<左移  >>右移

逻辑运算符

    and  or  not

    和别的语言一样有短路特性

    表达式1 and 表达式2          当表达式1为假时不会执行表达式2,因为无论表达式2的值是真还是假这条语句都为假

    表达式1 or 表达式2            当表达式1为真时不会执行表达式2,因为无论表达式2的值是真还是假这条语句都为真

is/is not运算符

    is是判断两个对象的id(内存)地址是否相同

    is not与is相反

in/not in运算符

    in是判断对象是否被另一个对象包含,例  'a' in 'abc'

    not in与in相反

小整数对象池:

  CPython中,整数-5至256永远存在于内存中不会释放,并可以重复使用

多行语句连接符

    多行语句用\连接,但是用[],{},()包含的语句不需要用分隔符也可以直接换行写

多条语句连接符(不建议这样做,最好一行一句语句)

    多条语句写在同一行时用分号;隔开

字符串描述符

    '字符串'  "字符串"  '''字符串'''

    a = '字 符 串'

    a.split(sep)  使用sep作为分隔符分割将字符串分割成列表

    a.join(迭代器)  将迭代器的元素用a进行连接

    a.lower()  将字符串转换为小写

字符串的运算:

    +  拼接字符串

    *  生成重复的字符串

字符串比较运算:

    ==  !=  >  >=  <  <=

注释

    #单行注释

    '''

    多行注释

    '''

    """

    多行注释

    """

判断语句

    if 真值表达式1:

        执行语句1

    elif 真值表达式2:

        执行语句2

    elif 真值表达式3:

        执行语句3

    ...

    else:

        执行语句4

条件表达式

    表达式1 if 真值表达式 else 表达式2

    如果真值表达式为真返回表达式1否则返回表达式2

pass语句

    填充语法空白,如果你不知道在一个函数下写什么语句,可以用pass代替,等想好再更改

    例:  if True:

            pass

        else:

            pass

正负号运算符:

    +  -

字符串中反斜杠转义字符表

\'    单引号

\"    双引号

\\    反斜杠

\n    换行

\r    返回光标至行首

\f    换页

\t    水平制表符

\v    垂直制表符

\b    退格

\0    字符串, 字符值为零

\xXX  XX 为两位十六进制表示的字符

\uXXXX  Unicode16 的十六进制表示的字符

\UXXXXXXXX Unicode32的十六进制表示的字符

字符串前加r表示不试用转义字符

    例:  r"\n"  输出  \n

通用索引:下标从0开始

    [索引]  ['键']

切片:浅复制切片

    [(开始索引b):(结束索引e)(:(步长s=1))]      小括号() 括起的部分代表可以省略

    1.开始索引是切片切下的位置,0代表第一个元素,1代表第二个元素,-1 代表最后一个元素

    2.结束索引是切片的终止索引(但不包含终止点)

    3.步长是切片每次获取完当前元素后移动的方向和偏移量

        1) 没有步长,相当于取值完毕后向右移动一个索引的位置(默认为1)

        2) 当步长为正整数时,最正向切片

        3) 当步长的负整数时,取反向切片

        反向切片时,默认的起始位置为最后一个元素,终止位置是第一个元素的前一个位置

循环语句

    while 真值表达式:

        语句

    for 变量 in 迭代器:

        语句

    使用continue进入循环体的下一个循环

    使用break跳出循环体

列表:list

    a = []  或者  a = list()

    a.append(obj)  添加数据到末尾

    del a[index]  删除指定索引的元素

    a.remove(v)  移除第一个值匹配v的元素

    a.count(v)  返回列表包含多少个匹配v的元素

    a.index(v)  查找第一个匹配v的元素的索引

    a.copy()  浅拷贝一个a的副本,深拷贝使用import copy的copy.deepcopy(a)

    [2] + 3  返回[2,3]

    [2] * 3  返回[2,2,2]

元组:tuple

    元组和列表差不多,但是元组是不可更改的

    a = (0,)

    a = (0,1)

字典:dict

    d = {}      d = dict()

    d = {'键1':'值1', '键2':'值2'...}

    字典的键必须为不可变类型,字典内容的顺序是不确定的

    d['键3'] = '值3'      新增或者修改

    del d['键1']        删除键和值

    '键4' in d      判断字典是否存在键

集合:set

    a = set()  a = {1, 2, 3, 4}

    集合是相当于只有键没有值的字典(键则是集合的数据)

固定集合:frozense

    固定集合的元素在创建后就不能修改了

    a = frozense()

    a = frozense(迭代器)

    a = frozense(1,2,3)

字节串:bytes

    a = bytes(n)  生成n个值为0的字节串

    在Ascii字符串前面加上b将字符转为字节串

    字节串创建后不可更改

字节数组:bytearray

    a = bytearray(n)

    字节数组可更改

文件对象

    f = open('文件名或者绝对路径','打开方式'[,encode='ascii'])

    打开方式有3种(只能选一种)

        r    只读方式打开,文件指针为0

        w    只写方式打开,如果文件存在则删除文件所有数据,否则创建一个新文件

        a    追加方式打开,文件指针为文件末尾,如果文件不存在则创建新文件

    打开方式可以附加属性(都可以选)

        b    以二进制方式打开

        +    以读写方式打开

你可能感兴趣的:(python基础三篇搞定-1)