首页 > 编程语言 > 详细

python 基础

时间:2019-04-11 21:52:48      阅读:115      评论:0      收藏:0      [点我收藏+]


运算符

所有运算符的优先级:
(1) 小括号的优先级最高 () => (3+3)*5
(2) 
    一元运算符:同一时间操作一个数的 ( ~ , - ) -6
    二元运算符: 同一时间操作二个数的 
    
** 符号优先级最高
=  符号优先级最低

整体来说,一元运算符优先级大于二元运算符 , ** 除外

乘,除 > 加,减
() > not > and > or 
( << >> ) > & > ^ > |
算术运算符 > 位运算符 > 比较运算符 > 身份运算符 > 成员运算符 > 逻辑运算符

(1)算数运算符:  + - * / // (地板除) % **(幂运算)
(2)比较运算符:  > < >= <= == != 
(3)赋值运算符  = += -= *= /= //= %= **=
(4)成员运算符  in    not in 针对于容器类型数据
(5)身份运算符  is  is not
(6)逻辑运算符 (and or not)
(7)位运算符 & 按位与  
                000000010011
                000000001111
                000000000011
            | 按位或
                000000010011
                000000001111
                000000011111            
            ^ 按位异或  
                000000010011
                000000001111  
                000000011100
            << 乘以n的2次幂  
                res = 5 << 3    # res = 5 * (3**2)
            >> 除以2的n次幂
                res = 5 >> 3    # res = 5 * (2**3)
            ~ 按位非 (针对于补码来进行操作 ,连符号位都要改变) 公式 -(n+1)

变量_Number_str

        变量的命名
字母数字下划线, 首字符不能为数字
严格区分大小写, 且不能使用关键字
变量命名有意义, 且不能使用中文哦

Number (int float bool complex)
    int (整型)
        # 二进制用0b表示 
            intvar = 0b1010
        # 八进制用0o来表示
            intvar = 0o128
        # 十六进制用0x来表示
            intvar = 0xa6   
    float 浮点型(小数类型)
        # 表示方法一
            floatvar = 3.14
        # 表示方法二 (科学计数法)
            floatvar = 5.88e-2

    bool 布尔类型 (True False)

    complex 复数类型
        '''
        复数: 实数 + 虚数 组成的
        j : 如果有一个数,他的平方等于-1,那么这个数就是j
        科学家认为有。属于高精度的类型
        '''
        # 表示方法一
        complexvar = 4+3j
        complexvar = 4j
        # 表示方法二 complex(实数,虚数)
        complexvar = complex(8,-3)



字符串类型
 \n,\r\n: 代表换行
 \t: 代表一个缩进 水平制表符
 \r: 将\r后面的字符串拉倒当前行首
 # 字符串的格式化
    %d : 整型占位符  
    %f :浮点型占位符
    %s :字符串占位符
    语法: 字符串  %  (值1,值2,。。。。。)  
    
    综合案例:
    strvar = "杜磊开工资了,一共%.2f ,看好了一辆车,价格%d元,心情在%s" % (9.99,10,"崩溃的边缘")


    

容器类型数据

容器类型数据
 可哈希的数据  (不可变的数据):Number(int float bool complex) str tuple
 不可哈希的数据 (可变的数据): list set dict
    list    (列表的特性:可获取,可修改,有序)
    tuple   (元组的特性:可获取,不可修改,有序)
    string  (字符串的特性:可获取,不可修改,有序)
    set (集合特征: 自动去重,无序,用途:用于做交集,差集,并集,补给(做交叉并补的))
    dict (字典特征:键值对存储的数据,有序)

字符串的操作_函数

字符串的相关操作
    (1)字符串的拼接 ( + )
    (2)字符串的重复 ( * )
    (3)字符串跨行拼接 ( \ )
    (4)字符串的索引
    (5)字符串的切片: 所谓的切片就是截取 
        语法 => 字符串[::]  完整格式:[开始索引:结束索引:间隔值]
        (1)[开始索引:]  从开始索引截取到字符串的最后
        (2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
        (3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
        (4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取字符
        (5)[:]或[::]  截取所有字符串

字符串的函数
    capitalize 字符串首字母大写
    title 每个单词的首字母大写 (非字母隔开的单词)
    upper 将所有字母变成大写
    lower 将所有字母变成小写 
    swapcase 大小写互换 
    count 统计字符串中某个元素的数量
    find 查找某个字符串第一次出现的索引位置 (如果找不到返回-1)
        find("字符串",start,end) 可以划定范围查找
    index 查找某个字符串第一次出现的索引位置(如果找不到,直接报错)
    startswith 判断是否以某个字符或字符串为开头 
    endswith 判断是否以某个字符或字符串结尾 
    split 按某字符将字符串分割成列表(默认字符是空格)
        split(' ',count) 控制分割几次
    join  按某字符将列表拼接成字符串(容器类型都可)
    replace 替换字符串(可选择替换的次数)
        replace(old,new,n)控制替换几次
    center 填充字符串,原字符居中 (默认填充空格)
    strip  默认去掉首尾两边的空白符 ( \n \t 空格)
    isalnum 字符串中的所有字符都是字母数字且至少有一个字符
    isdigit 检测字符串是数字组成 接受二进制字节流 
    isdecimal 检测字符串是否以数字组成  必须是纯数字 
    format 字符串的格式化
            (1)顺序传参         {}
            (2)索引传参         {0} {1}
            (3)关键字传参        {a} {b}
            (4)容器类型数据传参 {list[0]} {dict['key']}
        填充符号的使用( ^ > < )
            ^ 原字符串居中
            > 原字符串居右
            < 原字符串居左
                {who:*>10}
                who : 关键字参数
                *   : 要填充的字符
                >   : 原字符串填充的方向
                10  : 总长度10 = 原字符串长度 + 填充字符的长度
        进制转换等特殊符号的使用( :d :f :s :, )
            :d 整型占位符
            :f 浮点型占位符  :.2f 代表保留两位小数 可以四舍五入
            :s 字符串占位符
            :, 金钱占位符
                # 综合例子
                strvar = "{:s}开工资了,发了{:.2f}钱,买了{:<3d}个降噪耳机"
                res = strvar.format("石墙",999.919,19)
                print(res)

列表的操作_函数

关于列表的操作
    (1)列表的拼接    (同元组)
    (2)列表的重复*   (同元组) 
    (3)列表的切片    (同元组)
    (4)列表的获取    (同元组)
        print(listvar[2])
    (5)列表的修改   (可切片)
        listvar[1] = "文创丰"
        listvar[:2] = "abcd"
        listvar[::2] = ["猪八戒","唐僧","孙悟空"]
    (6)列表的删除   (可切片)
        del listvar[0::2]
        del listvar[0::2]

列表的相关函数 增删改查
    增:
        append 功能:向列表的末尾添加新的元素
        insert 功能:在指定索引之前插入元素
        extend 功能:迭代追加所有元素
    删:
        pop     功能:通过指定索引删除元素,若没有索引移除最后那个
        remove  功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
        clear   功能:清空列表
    其他列表函数:
        index   功能:获取某个值在列表中的索引
        count   功能:计算某个元素出现的次数
        sort    列表排序(默认小到大排序)
                reverse=True 选择倒叙 True (从大到小)
        reverse 功能:列表反转操作

集合的操作_函数

0x集合的交叉并补
    & intersection() 交集 
    - difference()   差集 
    | union()        并集 
    ^ symmetric_difference() 对称差集 (补集情况涵盖在其中)  
    < issubset()     判断是否是子集
    > issuperset()   判断是否是父集
    isdisjoint() 检测两集合是否不相交

集合的相关函数
    增:
        add()    向集合中添加数据
        update() 迭代着增加
            setvar.update("abc") 必须是可迭代对象
    删:
        clear()  清空集合
        pop()    随机删除集合中的一个数据
        discard() 删除集合中指定的值(不存在的不删除 推荐使用)
        remove()  删除集合中指定的值(不存在则报错)
    集合不能够修改和查询

定义一个空的冰冻集合
    frozenset():
        冰冻集合仅仅只能做交叉并补,不能做添加或删除的相关操作

字典的函数

0字典的相关函数
    增:
        dictvar = {}
            dictvar["a"] = 1
        fromkeys()  使用一组键和默认值创建字典 ( 不常用 了解)
    删:
        pop()   通过键去删除键值对 (若没有该键可设置默认值,预防报错)
        popitem()   删除最后一个键值对
        clear() 清空字典
    改:
        update() 批量更新(有该键就更新,没该键就添加)
            dictvar = {"top":"鲁班七号","middle":"甄姬","bottom":"盘古"}
            dictvar2 = {"jungle":"韩信","support":"蔡文姬"}
            dictvar.update(dictvar2)
    查:
        get()   通过键获取值(若没有该键可设置默认值,预防报错)
                存在这个键则拿取这个值,如果不存在这个键,则使用默认值,
                如果不设置默认值,默认返回None
    其他操作:
        keys()   将字典的键组成新的可迭代对象
        values() 将字典中的值组成新的可迭代对象
        items()  将字典的键值对凑成一个个元组,组成新的可迭代对象
        

文件的操作

文件的操作
    open("文件名称","打开的模式","文件的编码")
    open的返回值: 文件的io对象 (简称文件句柄)
    i => input  输入
    o => output 输出
    
    操作模式:
    读:
        r   默认读模式,只读
        rb  二进制的读模式,一般操作非文本文件   
        r+  可读可写 (一般先读后写)
    写:      
        w   写模式,只写
        wb  二进制的写模式,一般操作非文本文件
        w+  可读可写 (默认光标位置文件首) 
    追加: 
        a   追加模式,只追加写
        ab  二进制的追加模式,一般操作非文本文件
        a+  可读可写 (默认光标在文件末尾)    [再写入时,光标位置一个强制在后]
    read()      功能: 读取字符的个数(里面的参数代表字符个数)
    seek()      功能: 调整指针的位置(里面的参数代表字节个数)
                seek(0):移动到文件首行
                seek(0,2):移动到文件末尾
    tell()      功能: 当前光标左侧所有的字节数(返回字节数)
    flush()     强制刷新写入
                刷新缓冲区 flush
                    # 当文件关闭的时候自动刷新缓冲区
                    # 当整个程序运行结束的时候自动刷新缓冲区
                    # 当缓冲区写满了  会自动刷新缓冲区
                    # 手动刷新缓冲区

文件操作的函数
    readable() 检测文件对象是否可读
    writable() 检测文件对象是否可写
    readline([n]) 功能: 读取一行文件内容
        如果当前参数值大于实际字符个数,取当前行
        如果当前参数值小于实际字符个数,取参数值这么多的字符
    readlines()     功能:将文件中的内容按照换行读取到列表当中
    writelines()    功能:将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串类型的可迭代数据
        (1) 需要是可迭代性的数据 
        (2) 里面的元素是字符串
    truncate(n) 功能: 把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中 (字节)


"""
read()      参数是字符
readline()  参数是字符
seek()      参数是字节
truncate()  参数是字节
"""

python 基础

原文:https://www.cnblogs.com/bytes-xyz/p/10692792.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!