python学习之第六课时--基本数据类型(数字int字符串str)
- 基本数据类型
数字 int
字符串 str
布尔值 bool
列表 list
元组 tuple
字典 dict
- 数据类型关系图
- 查看一个对象的类
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”helloworld” b=type(a) print(b)
运行输出: <type “str”> str是字符串类
备注:第一个是IDLE(python GUI)运行出来的,第二个是pycharm运行出来的
- 查看一个对象类的类库
如上图,查到对象的类后,将类名称写在下面,按下ctrl键用鼠标点击这个类名称,就可以进入这个类的类库
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”helloworld” b=type(a) print(b) str #按着ctrl键用鼠标点击这个类名称,就可以进入这个类的类库
如图所示,部分str类库内容:
- 每一个类的 类库里都有操作对象的各种功能(实际是函数)
大小写转换
1) 小--大 upper
2) 大--小 lower
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorld” b=a.upper() C=a.lower() print(b) print(c)
上面a为字符串类的对象变量,upper()和lower()为字符串类的类库功能函数,b=a.upper()打印b就将字符串转换成大写HELLOWORLD,c=a.lower()打印c就将字符转换成小写helloworld
- 查看一个对象功能函数
如上面:
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorld” b=a.upper() C=a.lower() #按着ctrl键用鼠标点击这个对象功能函数,就可以进#入这个类的类库,找到相对应的函数源代码 print(b) print(c)
- 查看一个对象的类库里具备哪些功能
如:dir()
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorld” b=dir(a) print(b) #运行后打印对象类库所具备功能
这样就会得到:[‘_add_’,’_class_’,’_contains_’,’_doc_’.......等等
- 查看一个对象类库的所有功能与详情方法等
如:help()
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorld” b=help(dir(a)) print(b) #运行后打印出对象类库的所有具备功能
基本数据,对象类库里的常用功能
注意:对象类库里的功能函数,前后带有下划线的为特殊函数(魔法方法),是python程序的内置函数
如: _add_
#!/usr/bin/env python # -*- coding:utf-8 -*- a=25 b=36 print(a+b) #如上列,其实内部计算流程是 a=25 b=36 print(a._add_(b)) #所以两个结果是一样的 #目前可以不用管他
打印出对象在内存的地址:
如: id()
#!/usr/bin/env python # -*- coding:utf-8 -*- a=25 b=id(a) print(b) #打印出对象在内存的地址 38363240
1. 整数(int) 创建整数对象
#!/usr/bin/env python # -*- coding:utf-8 -*- a=25 print(a) #或者 b=int(25) print(b)
特殊说明:
所有以类名称加()创建的一个对象都是执行的类库里的(_init_)这个功能,初始化的意思
如:
int(25)执行的对应功能是_init_,然而a=123又是转换a=int(25),最后还是执行的_init_这个功能其他类也是如此,每一个类都有_init_初始化_add_() 相加 格式:a._add_(b)
bit_length() 取二进制的最小表示位数(返回多少位) 格式:a.bit_length()
#!/usr/bin/env python # -*- coding:utf-8 -*- a=25 b=a.bit_length() print(b)
输出:
- 字符串,string
字符串常用功能:
移除空白
分割
长度
切片
索引
注意:python2.7版本索引中文字符串会乱码(2.7是以字节编码的),3.0版本以上没问题(3.0是以字符编码的)
说明:2.7版本中文是以字节编码的,如utf-8一个中文是3个字节,所以当索引字符下标是一个汉字是右3个下标的,索引一个下标不是一个完整的汉字,就会出现乱码
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”你好” print(a[0]) #索引一个下标不是一个完整的汉字,就会出现乱码
2.7版本中,用切片的方法打印一个汉字, 注:utf-8一个中文就是3个字节
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”你好” print(a[0:3]) #用切片的方式0到3就能打印出你字
判断索引数用len()函数(字符串大小),配合循环使用
切片 a[初索引:末索引]:把一串字符串分成几个字符,成为新的字符
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”Helloworld” print(a[0:2]) print(a[4:8]) #分别输出He oWor 切成两个独立新字符串
wapcase(self) #(大写变小写,小写变大写)
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”Helloworld” b=a.swapcase() print(b) #输出HelloWorld 返回大写变小写,小写变大写
startswith(self,prefix,start=None,end=None) #判断是否以某个字符或者字符串起始,返回真或者假
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”人生可以平凡但不可以平庸” b=a.startswith(“人生”) print(b) #输出True 返回真
splitlines(self,keepends=False) #根据换行分割
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorld\python” b=a.spiltlines() print(b) #输出 ['HelloWorld', 'python'] 返回分割后的列表
split(self,sep=None,maxsplit=None) #(分割字符串) 分割的标示字符,标示字符分割有效位置:也就是从左边最多分割几次
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorldShortlife” b=a.split(“e”,2) print(b) #输出 ['H', 'lloWorldShortlif', ''] 返回分割后的列表
replace(self,old,new,count=None) #(替换)字符串里被替换的字符,替换成什么字符,可选:位置从左向右找几个
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorldShortlife” b=a.replace(“e”,”L”) print(b) #输出 HLlloWorldShortlifL 将字符串里的字符替换成指定字符
partition(self,sep) 有参 #(分割前,中,后三部分)分割位置字符
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorldShortlife” b=a.partition(“World”) print(b) #输出 ('Hello', 'World', 'Shortlife') 从位置字符那里分割,返回元组
strip(self,chars=None) #(移除两边空白)
#!/usr/bin/env python # -*- coding:utf-8 -*- a=” qiang ” b=a.strip(“World”) print(b) #输出 qiang 出除两边空白
备注:移除左右侧空白分别是(lstrip,rstrip)
join(self,iterable)有参 #(l连接一个列表成一串字符串) “连接符”.join(字符变量) 注意:如果连接符””为空,连接起来就是一串字符串
#!/usr/bin/env python # -*- coding:utf-8 -*- a=[“lu”,”zou”,”chen”] b=”--”.join(a) print(b) #输出 lu--zou--chen 将列表连接成一串字符串
format(*args,**kwargs)有参 #(替换字符串里的占位符),动态参数
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”姓名 {0} 年龄 {1}” #{ }占位符里面一般从0编号 b=a.format(“luqiang”,”20”) print(b) #输出 姓名 luqiang 年龄 20 替换字符串里的占位符
find(self,sub,start=None,end=None) 有参 #(寻找字符在字符串里的位置),如果找到返回位置数(若有多个返回第一个字符位置),否则返回-1
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”HelloWorld” b=a.find(“l”) print(b) #输出 2 (打印字符”l”第一个位置)
expandtabs(self,tabsize=None)有参
#(将tab转换成空格,默认一个tab转换成8个空格),自定义换成空格数
注意:\t表示tab键,如果在编辑器直接tab键,编辑器会自动转换成空格
#!/usr/bin/env python # -*- coding:utf-8 -*- a=”Hello\tWorld” b=a.expandtabs(16) print(b) #将tab键转换成16个空格打印出Hello World #注意如果不指定,默认是8个
count(self,sub,start=None,end=None)有参
#(查找字符在字符串中的次数)
Capitalize() 首字母大写 格式: a.capitalize()
字符串部分功能总结:
首字母大小写
去空格
替换
是否以什么开头或者结尾
查找字符
查找一个字符出现次数
连接,将列表转换成字符串