美文网首页
day6_总结

day6_总结

作者: 逆流而上_2eb6 | 来源:发表于2018-10-20 11:43 被阅读0次

    数据类型

    int ,float,bool,complex(复数10+10j)
    python2.x中还有long
    科学计数法得到的数是float。12e2 = 1200.0
    优先级:数学运算符>比较运算符>逻辑运算符>赋值运算符
    数学运算符:

        • / % // **
          特别注意,如果运算结果是float,那么结果是不精确的,如
          print (2.4-2 ==0.4) #False,
          所以不能用以上这种方法来判读一些问题

    运算符

    比较运算符:
    > < == != <= >=

    逻辑运算符:
    and, or ,not
    结果都是bool,有短路机制,所以要想好写在前面的条件

    赋值运算符:
    = += -= *= /= //= **=
    a=2;a**=3,#a=8
    先计算得到右边的结果,在运算赋值运算符。

    进制

    进制 2 8 10 16
    符号 0b/0B 0o/0O 0x/0X
    转换 bin() oct() hex()

    进制 原码 反码 补码
    正数 01010 01010 01010
    负数 11010 10101 10110

    位运算(进行位运算用的是补码,运算得到负数要转换为原码)
    & :同1为1;作用:让指定位置置0或保留某一位的值,如奇数 num&1 =1,偶数num&1 = 0
    | :同0为0,作用:让指定位置1,
    ^(异或):不同为1,相同为0;取反包含符号位,正数变负数。
    得到负数要转换位原码
    ~(取反)
    ~0b0101 = ~0b0101(补码) = 0b1010(补码) = 0b1110
    ~0b1101 = ~0b1011(补码) = 0b0100(补码) = 0b0100
    >>:m>>n = m//(2^n) 右移,符号位不变,在符号位后补指定的0或1,正数补0,负数补1
    <<:m<<n = m*(2^n) 左移,后面用0补齐
    移动的是补码,小心!

    字符串

    python中的字符串用Unicode编码,其中包含了ASCII(用一个字节来对一个字符进行的编码)
    chr(数字)返回字符
    ord(字符)获得Unicode编码
    可直接在字符串中写对应的编码值:\u+4位16进制,如:\u12ab
    阻止转义:r/R
    切片s[1:-1:2];s[-1:1:-1],s[1::2];s[-1::-1]
    字符串的运算* +
    in not in
    字符串内置函数
    1.大小写:
    |capitalize()|将字符串的第一个字符转换为大写
    |lower()|转换字符串中所有大写字符为小写.
    |upper()|转换字符串中的小写字母为大写
    |swapcase()|将字符串中大写转换为小写,小写转换为大写
    36 |title()|返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
    2.对齐
    ljust(width[, fillchar])|返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
    rjust(width,[, fillchar])|返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
    center(width, fillchar)|返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
    |zfill (width)|返回长度为 width 的字符串,原字符串右对齐,前面填充0
    3.is…………
    isalnum()|如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
    isalpha()|如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
    |isdigit()|如果字符串只包含数字则返回 True 否则返回 False..
    |islower()|如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
    |isnumeric()|如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)
    |isspace()|如果字符串中只包含空白,则返回 True,否则返回 False.
    istitle()|如果字符串是标题化的(见 title())则返回 True,否则返回 False
    |isupper()|如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
    4.截取
    |lstrip()|截掉字符串左边的空格或指定字符。 Lstrip("kdjf")去掉开头中所有在字符集"kdjf"中字符
    |rstrip()|删除字符串字符串末尾的空格.
    |strip([chars])|在字符串上执行 lstrip()和 rstrip()
    |split(str="", num=string.count(str))|num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
    |splitlines([keepends])|按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

    4.变换字符串内容
    join(seq)|以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
    |replace(old, new [, max])|把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
    5.查找下标,个数,最大(小)字母
    len(string)|返回字符串长度
    max(str)|返回字符串 str 中最大的字母。
    min(str)|返回字符串 str 中最小的字母。
    count(str, beg= 0,end=len(string))|返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
    find(str, beg=0 end=len(string))|检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
    rfind(str, beg=0,end=len(string))|类似于 find()函数,不过是从右边开始查找.
    index(str, beg=0, end=len(string))|跟find()方法一样,只不过如果str不在字符串中会报一个异常.
    rindex( str, beg=0, end=len(string))|类似于 index(),不过是从右边开始.
    6.开始结束
    endswith( suffix, beg=0, end=len(string))|检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以
    obj 结束,如果是,返回 True,否则返回 False.
    startswith(str, beg=0,end=len(string))|检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

    循环分支

    for _ in 序列:
    while bool(条件):
    range(n):产生一个0~n-1的整数序列(python2.x中是xrange).
    range(m,n)
    range(m,n,step) 间隔位step
    注意:如果取到的变量num是不需要的,只是循环,可以用 _ 来代替变量.
    如果是不断的获取序列中的元素,直接用for循环.
    如果循环次数确定,最好也用for循环
    死循环和循环次数不确定的时候最好用while
    break,continue,自然结束后运行的else

    相关文章

      网友评论

          本文标题:day6_总结

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