Python再接触

来源:互联网 发布:c语言找出数组最多的数 编辑:程序博客网 时间:2024/05/01 23:05

编码之间的转换

这里写图片描述

unicode 编码成 utf-8 utf-8 解码成 unicode
unicode 编码成 gdk gdk 解码成 unicode
.decode() //编码
.encode() //解码

例子:

a = "dyq"                         a_unicod = a.encode('utf-8')   # a = "dyq" 解码成 unicoda_gdk = a_unicod.decode('gdk')  # a_gdk 编码成 gdkprint()

字符编码之间的转换关键要记住一个图,这个其实没太大作用,P3都是默认utf-8,除非遇到不同编码类型的才需要重新解码,编码
Python3版本可以直接转码成gdk,不需要解码到unicod再编码成gdk了,省略了一步。

a_utf8 = a_unicod.decode('gdk') 

运算符

算数运算
这里写图片描述

比较运算
这里写图片描述

赋值运算
这里写图片描述

逻辑运算
这里写图片描述

成员运算
这里写图片描述


基本数据类型

这里写图片描述

从上图可得的分类:

单值

  • 数字(int)
    整数
    浮点数
    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
  • 字符串(str)
  • 布尔值(bool)
    真(True)
    假(False)

集合

  • 列表(list)
  • 元组(tuple)
  • 字典(dict)

不同的类里面有针对各自对象的功能(又称方法),需要的时候从类里调用方法。

查看数据类型

a = "what"print(type(a))   #type可以用来查看数据类型

查看类型的方法

print(dir(123)) #dir函数可以显示数据a里面所有的方法名称(只是显示名称)print(help(123))    #help函数可以查看数据类型的方法详情

数字类型常用方法

  • 整数之间的加法 + 其实就是运行功能里的 _add_

这个只做简单了解,就是运算的时候其实是调用的类里面的add方法

n1 = 123n2 = 456print(n1+n2)  =  print(n1.__add__n2)
  • .length:获取该数字占用的最小位数是多少
n1 = 123b = n1.bit_length()print(b)>>> 7   #最少7位

当然还有很多可以方法供我们使用,了解详情请点这里。


字符串类型常用方法

对字符串的增

  • +=:增加内容
name = "xiaoming"b = "123"name += b[0:2]    #这里选择把变量b范围内的内容添加到name里面name += "b"     #然后再在name的最后一列加上字符“b”print(name)

数字123用引号括住以后,在赋值给变量,这时它的类型就不再是数字了,而是字符串类型。


对于字符串类型没有专门的删除方法


对字符串修改

  • .upper(self):字符串里的内容全部变大写
name = "xiaoming"print(name)name2 = name.upper()    #upper后面的括号不添加参数print(name2)输出内容:xiaomingXIAOMING
  • .lower:全部变小写
print(name.lower()) 
  • .capitalize(self):首字母变大写
name = "xiaoming"print(name.capitalize())输出结果:Xiaoming
  • .center(self, width, fillchar=None),其他部分用指定字符填充
a = "eric"b = a.center(10,"*")    #括号里的内容表示的意思是,把eric居中到10位里面,空白处用*填充print(b)输出结果:***eric***
  • .expandtabs(self, tabsize=None):拓展,把制表符变成指定个数空格
content = "hello\t123"print(content.expandtabs())     #默认变成8个空格print(content.expandtabs(10))   #也可以指定变成多少个空格,但指定个数要包含前面的内容的个数。输出结果:hello   123hello     123   
  • .join(self, iterable):用什么什么连接元素
a = ("xiao","ming")    s = "--".join(a)    #这里的用法不太一样,前面跟参数,后面跟对象,这里表示用"--"把两个元素连接起来,用来连接的内容可以指定print(s)输出结果:xiao--ming
  • .swapcase:小写变大写,大写变小写
a = "xiao"b = "MING"print(a.swapcase())print(b.swapcase())输出结果:XIAOming
  • .partition:分隔,以指定字符为分隔点把值分隔开
name = "xiaoming"b = name.partition("o")     #括号内可以指定用其中的那个字符作为分割点print(b)输出结果:('xia', 'o', 'ming')    #分隔以后数据类型就变成了元组类型。
  • replace(self, old, new, count=None:替换,把自定内容替换成另一个指定内容
name = "xiaoming"b = name.replace("o", "a")      #括号内的参数,第一个是旧内容,第二个是新内容print(b)
  • .strip() .lstrip() .rstrip():移除空格,三个方法:可以移除所有空格;可以移除左;右空格。

    有时候元素中会有空格,我们需要对数据里的空格进行修改,但只集中操作无法删除对象中间的空格

name = " xiao ming "print(name.strip())print(name.rstrip())print(name.lstrip())输出结果:xiao ming xiao mingxiao ming 
  • .decode(self, encoding=None, errors=None):对字符编码
  • .encode(self, encoding=None, errors=None):对字符转码
a = "xiaoming"                         a_unicod = a.encode('utf-8')   # a = "dyq" 解码成 unicoda_gdk = a_unicod.decode('gdk')  # a_gdk 编码成 gdkprint()

对字符串的查

  • .count(self, sub, start=None, end=None):统计子序列的个数
name = " xiao ming "b = name.count("i",0, 5)    #括号里的参数,第一个表示要统计的对象,第二和第三个表示统计的范围,从0开始算起。print(b)输出结果:1   #在元素的第一位到第五位,i字符一共出现了1次所以统计为1
  • .endswith(self, suffix, start=None, end=None):是否以某字符结尾
  • startswith(self, prefix, start=None, end=None):是否以某个字符开头
name = "xiao ming"print(name.endswith("a", 0, 3))     #第一个参数表示指定结尾字符,第二三个参数指定位置print(name.startswith("o"))输出结果:True    #如果是以这个字符结尾的则返回真,如果不是返回假False
  • .find(self, sub, start=None, end=None):查找字符位置,如果没有则返回-1
name = "xiaoming"print(name.find("a", 0, 6))输出结果:2
  • index(self, sub, start=None, end=None):与上面的find作用相同,但没有找到后则会报错

这里就不举例说明了

  • isalnum(self):是否是数字和字符,如果元素中包含字符和数字的话就返回真
name = "123xiaomin/g3"print(name.isalnum())输出结果:False   #因为字符里面有特殊字符所以不为真
  • .isalpha(self):是否为字母,如果为则为真

  • .isdigit(self):是否为数字,如果为则为真

  • .islower(self):是否为小写,如果为则为真

当然还有很多可以方法供我们使用,了解详情请点这里。

0 0
原创粉丝点击