python 数据类型一 (重点是字符串的各种操作)
一、python基本数据类型
1,int,整数,主要用来进行数学运算
2,bool,布尔类型,判断真假,True,False
3,str,字符串,可以保存少量数据并进行相应的操作(未来使用频率最高的一种类型)
4,list,列表,用来存储大量数据,用[]表示(里面可以存放各种数据类型)
5,tuple,元组,不可以发生改变,用()表示
6,dict,字典,保存键值对,{key : value}也可以保存大量数据
7,set,集合,保存大量数据,不可以重复,其实就是不保存value的dict
二、整数(int)
在python3中所有的整数都是int类型,但在python2中如果数据量比较大,会使用long类型,在python3中不存在long类型。
整数可以进行的操作:bit_length() 计算整数在内存中占用的二进制码的长度(很少用)
十进制5转化成二进制是101,长度是3,程序如下:
三、bool类型,取值只有True和False,bool值没有操作
转换问题:
str => int int(str)
int => str str(int)
int => bool bool(int) 0是False,非0是True
bool => int int(bool) True是1,False是0
str => bool bool(str) 空字符串是False,非空字符串是True
bool => str str(bool) 把bool值转换成相应的“值”,即字符串True或者False
结论:所有的空都是False,所有的非空都是True;例如:0,None,空字符串,空列表,空字典,空集合,空元组。
要想把某数据转换成xxx数据类型,则xxx(数据)即可;
补充:比较下面两个死循环
while 1:
print(“hello world!”)
和
while True:
print(“hello world!”)
我们可以发现两者的区别是循环条件分别是1和True,我们通常用第一种。因为前者代码较后者更少,且计算机最底层认的是01,True需要转化成01,而1到了计算机底层也是1,所以前者比后者运行快那么一点点。
四、字符串(str)
把字符连成串,在python中用’,”,’’’,”””引起来的内容被称为字符串。
切记:字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响的,每次操作都返回新字符串。
4.1 索引和切片
索引:索引就是下标,下标从0开始,使用[下标]可以获取到每一个字符,如下列代码示例:
切片:我们可以使用下标来截取部分字符串的内容。
语法:str[start : end]
规则:顾头不顾尾,从start开始,截取到end位置,但不包括end,如下列代码示例:
通过上边知道切片默认是从左向右截取,我们可以给出第三个参数来控制方向,第三个参数叫步长,步长为负数时,则从右往左取值。
语法:str[start : end : step]
start : 起始位置
end : 结束位置
step : 步长(步长如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1)
如下列代码示例:
4.2 字符串的相关操作方法
s1.capitalize() # 首字母大写,其他字母都变成小写
s1.lower() # 全部转换成小写
s1.upper() # 全部转换成大写,记住!!!
s1.swapcase() # 大小写互相转换
s1.casefold() # 转换成小写,和lower相比,casefold()对所有字母都有效,比如东欧的一些字母
s1.title() # 每个被非字母字符隔开的单词首字母大写
s1.center() # 居中,
示例:s5 = “周杰伦”
ret = s5.center(10 , “*”)
s1.expandtabs() # 改变\t的长度,更改为8
s1.strip() # 去掉字符串左右两端空格(还有换行符\n,缩进\t),也可以加参数去掉指定的元素,记住!!!
s1.lstrip() # 去掉字符串左边空格
s1.rstrip() # 去掉字符串右边空格
s1.replace(“原字符”,“新字符”) # 将原字符替换成新字符,也可以再加一个参数指定替换几个,记住!!!
s1.split() # 字符串按照指定字符切割(注意:如果切割符在左右两端,则切完一定出现空字符串),还可以跟第二个参数,表示根据第几个指定字符分割,记住!!!
注意:split默认是按照空白切割!具体示例如下:
a = "al ex ha nishi shui"
lst = a.split()
print(lst)
# 结果为:['al', 'ex', 'ha', 'nishi', 'shui']
4.3 格式化输出
4.4 查找
s13.startswith() # 是否以指定字符开头,记住!!!
s13.endswith() # 是否以指定字符结尾,记住!!!
s13.count() # 查找指定字符在字符串中出现的次数
s13.find() # 查找指定字符的索引,若没有所查找字符,则返回-1
s13.index() # 求指定字符索引,注意:若找不到,程序会报错
4.5 条件判断
s14.isalnum() # 是否由字母和数字组成
s14.isalpha() # 是否由字母组成(包括汉字)
s14.isdigit() # 是否由数字组成,不包括小数点
s14.isdecimal() # 这个比较牛,中文数字也能识别
s14.islower() # 是否是小写字母
s14.isupper() # 是否是大写字母
4.6 计算字符串长度,用法如下示例:
4.7 迭代
我们可以使用for循环来遍历(获取)字符串中的每一个字符。
语法:
for 变量 in 可迭代对象 :
pass(也存在break和continue)
else:
当循环结束的时候会执行
可迭代对象:可以一个一个往外取值的对象。
python 数据类型一 (重点是字符串的各种操作)的更多相关文章
- 4. Python数据类型之数字、字符串、列表
开发过程中,我们需要处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型主要有以下几种:数字.字符串.列表.元组.字典.集合等 ...
- Python数据类型(数字和字符串)
1.1 Number(数字) Python可以处理任意大的整数,包括负整数. 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的.,比如,\(1.23\ti ...
- python数据类型一(重点是字符串的各种操作)
一.python基本数据类型 1,int,整数,主要用来进行数学运算 2,bool,布尔类型,判断真假,True,False 3,str,字符串,可以保存少量数据并进行相应的操作(未来使用频率最高的一 ...
- Python数据类型深入学习之字符串
一. Python字符串 1. 下面来看一下python中常见字符串常量和表达式: Python中用来编写字符串的方法有以下几种: (1) 单引号:'speade' (2) 双引号:"spe ...
- python数据类型内置方法 字符串和列表
1.字符串 内置方法操作# a = 'qqssf'#1. print(a[-1:]) #按索引取,正向从0开始,反向从-1开始# print(len(a)) #取长度# a = 'qqssf'# 2. ...
- python数据类型之String(字符串)
String(字符串) 1.概述 字符串是以单引号或双引号括起来的任意文本,比如"abc",'xy'等等,请注意''或者""本身只是一种表示方式,并不是字符 ...
- Java 常用知识点汇总(数据类型之间转换、字符串的相关操作-截取、转换大小写等)
1.Java四类八种数据类型 byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围- ...
- Python学习总结4:字符串常量与操作汇总
参考博客:http://www.cnblogs.com/Camilo/archive/2013/09/21/3332267.html http://www.cnblogs.com/SunWentao/ ...
- Python学习笔记 (2) :字符串输出、操作、格式化和日期、时间格式化
一.字符串输出及运算 1.常用输出格式及方法 ')#单引号 ")#双引号 """)#三个引号 1234567890 1234567890 1234567890 ...
随机推荐
- 【转】ssh-copy-id帮你建立信任
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc. == 对于做运维的同学来说,给两台UNIX/Linux机器建立ssh信任关系是 ...
- 2019.01.21 bzoj2989: 数列(二进制分组+主席树)
传送门 二进制分组入门题. 主席树写错调题2h+2h+2h+体验极差. 题意简述:给一堆点,支持加入一个点,询问有多少个点跟(x,y)(x,y)(x,y)曼哈顿距离不超过kkk. 思路:题目要求的是对 ...
- 2019.01.21 bzoj2441: [中山市选2011]小W的问题(树状数组+权值线段树)
传送门 数据结构优化计数菜题. 题意简述:给nnn个点问有多少个www型. www型的定义: 由5个不同的点组成,满足x1<x2<x3<x4<x5,x3>x1>x2 ...
- 微信小程序组件的使用
1.在page同级目录下新建components文件夹,然后新建目录test,新建组件test 2.新建在page目录下新建目录,然后新建page页面.注意:每新建一个页面,都要修改app.json文 ...
- react native项目的创建和运行
1.创建项目 react-native init projectName 2.运行项目 在AndroidStudio上运行安卓模拟器 cd projectName react-native run-a ...
- 范围for循环(c++11)
1.概念 1)c++11新标准下用范围for循环来遍历序列 2)使用范围for循环时,如果要修改序列中的元素,则必须把循环变量定义成引用类型: int main() { string s = &quo ...
- p1 批梯度下降算法
(蓝色字体:批注:绿色背景:需要注意的地方:橙色背景是问题) 一,机器学习分类 二,梯度下降算法:2.1模型 2.2代价函数 2.3 梯度下降算法 一,机器学习分类 无监督学习和监督学习 无监 ...
- java se的那些细节
局部变量:方法体内或语句块内,不能有修饰符 成员变量:与类的对象共存,可以有修饰符 类属性:与类共存,可以有修饰符 一.局部变量:必须先赋值,才能使用,如果不赋初值,则会报错,即没有默认的始使值,而基 ...
- python中global 和 nonlocal的使用
1.global关键字用来在函数或其他局部作用域中使用全局变量.但是如果不修改全局变量也可以不使用global关键字. gcount = 0 def global_test(): gcount+=1 ...
- 学习stm32 让我们一起回顾一下C语言吧
ODR 是一个端口输出数据寄存器,也只用了低 16 位.该寄存器为可读写,从该寄存器读出来的数据可以用于判断当前 IO 口的输出状态.而向该寄存器写数据,则可以控制某个 IO 口的输出电平.该寄存器的 ...