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
- Python再接触
- Python再接触第二次
- Yii之再接触
- AIDL基础再接触
- Python--第二天再接着介绍一下Python呗
- 第2天:再接着介绍一下Python呗
- 再接着介绍一下Python呗(12/11)
- 再接触——数据结构和编译原理
- [ 生活杂感 ] 什么样的人尽量不要再接触
- 【南大软院大神培养计划】JS再接触
- 再接下来。。。
- 量化分析师的Python日记【第2天:再接着介绍一下Python呗】
- 量化分析师的Python日记【第2天:再接着介绍一下Python呗】
- 未言心相醉,不再接杯酒。
- 路由下再接路由的方法
- H608B再接路由器,包括桥接!
- Spark-再接着上次的Lamda架构
- 是“再接再励”还是“再接再厉”?
- 顺序表的各种操作
- 02 C#(int)中Convert、Parse、TryParse的区别
- Unity Input Touch fingerId
- NightWatchJS
- 签到 2016.6.26
- Python再接触
- redis log
- Proxy
- android学习第一篇 开发环境搭建
- 编程需要知道多少数学知识?
- 关于瑞纽博环境集团李兵吃骗员工,拖欠员工4个多月工资至今未发,怎么办?
- gedit 打开中文乱码。。
- c++第五次实验(数组分离)
- 网络编程中常见错误码总结