一. 基本数据类型概况

  1.  int 整数,主要用来进行数学运算
  2.  str 字符串,可以保存少量数据并进行相应的操作
  3.  bool 布尔值,判断真假,True,False
  4.  list 列表. 一般存放大量的数据, 用 [ ] 表示
  5.  tuple 元组. 只读列表, 不能发生改变,用 ( ) 表示.
  6.  dict 字典,保存键值对,一样可以保存大量数据 {"name":"哈哈", "age": "18"}
  7.  set 集合 内容不能重复, 其实就是不保存value的dict
  8.  bytes 一堆字节. 最小数据单元

二. int类型的相关操作.

  在python3中所有的整数都是int类型. 但在python2中如果数据量比较大,会使用long类型.在python3中不存在long类型

  数字没办法进行其他相关操作,操作只有+ - * /  //   %  ** 这类

  8bit = 1 byte

  bit_lenth()  来求整数在内存中占用的二进制码长度

三. bool类型的操作. 基本类型转换的问题

  bool类型没有操作

  类型转换

  结论一: 想把xxx转换为y类型 y(xxx)
  结论二: 能够表示False的数据: 0 , False, "" , [] , {} , set() , tuple() , None

四. str 认识字符串(重点, 多)    

  字符:  单一的文字符号,字符按照固定的顺序连成串, 被' 或者" 或者''' 或者"""括起来的内容

  字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响的

字符串相关的操作方法:

    1  .upper() 转换成大写,忽略大小写
2 .capitalize() 首字母转换成大写
3 .swapcase() 大小写互相转换
4 .casefold() 转换成小写, 和lower的区别: lower对某些字符支持不够好, casefold对所有字母都有效,比如东欧的一些字母
5 .title() 每个被特殊字符隔开的字母首字母大写
6 .center(10," * ") 拉长成10, 把原字符串放中间,其余位置补 *
7 .expandtabs() 可以改变\t 的长度,默认长度更改为8
8 .strip() 去掉左右两端的空白,空格, \t, \n, 所有用户输入的内容都要去空白
9 .lstrip() 去掉左边空格
10 .rstrip() 去掉右边空格
11 .replace(old,new)把old 替换成new
12 .split()字符串切割
13 .startswith() 判断是否以xxx开头
14 .endswith() 判断是否以xxx结尾
15 .find() 查找, 找不到返回-1 .index() 也可查找索引 如果查找不到,结果为报错  
16 .isdigit() 判断是否是数字组成
17 .len() 求长度 用法可视为和print()一样
18 .endswith() 判断是否以xxx结尾
19 .count() 查找xxx出现的次数
20 .isalnum() 判断是否由字母和数字组成
21 .isalpha() 判断是否由字母组成
22 .isnumeric() 判断是否由数字组成 可以识别中文
23 .isupper() 判断是否是大写字母
24 .islower() 判断是否是小写字母
25 .join() 拼接字符串

1.切片和索引

  索引,就是下标. 下标从0开始

2.切片, 我们可以使用下标来截取部分字符串的内容  

s[start:end:step]
start开始的位置
end 结束
step 步长,控制方向,每xx个取一个

3.格式化输出:

s12 = "我叫%s, 今年年%d岁了了, 我喜欢%s" % ('Bob', 18, '周杰伦') # 之前的写法
print(s12) s12 = "我叫{}, 今年年{}岁了了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化
print(s12) s12 = "我叫{0}, 今年年{2}岁了了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置
print(s12) s12 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28) # 指定关键字
print(s12)

4.查找:

s = "我叫Tom, 我喜欢python, java, c等编程语言."
ret1 = s.startswith("Tom") # 判断是否以Tom开头
print(ret1)
ret2 = s13.startswith("我叫Tom") # 判断是否以我叫Tom开头
print(ret2)
ret3 = s13.endswith("语⾔") # 是否以'语言'结尾
print(ret3)
ret4 = s13.endswith("语⾔.") # 是否以'语⾔.'结尾
print(ret4)
ret7 = s13.count("a") # 查找"a"出现的次数
print(ret7)
ret5 = s13.find("t") # 查找't'出现的位置
print(ret5)
ret6 = s13.find("tory") # 查找'tory'的位置, 如果没有返回-1
print(ret6)
ret7 = s13.find("a", 8, 22) # 切片找
print(ret7)
ret8 = s13.index("t") # 求索引位置. 注意. 如果找不到索引. 程序会报错
print(ret8)

5.条件判断:

s14 = "123.16"
s15 = "abc"
s16 = "_abc!@"
# 是否由字⺟母和数字组成
print(s14.isalnum())
print(s15.isalnum())
print(s16.isalnum())
# 是否由字⺟母组成
print(s14.isalpha())
print(s15.isalpha())
print(s16.isalpha())
# 是否由数字组成, 不包括小数点
print(s14.isdigit())
print(s14.isdecimal())
print(s14.isnumeric()) # 这个中文都识别.
print(s15.isdigit())
print(s16.isdigit()) # 练习. ⽤用算法判断某⼀一个字符串是否是小数
s17 = "-123.12"
s17 = s17.replace("-", "") # 替换掉负号
if s17.isdigit():
print("是整数")
else:
if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):
print("是小数")
else:
print("不是⼩数")

6 .join() 拼接

li = ["a", "b", "c", "d"]
s = "_".join(li)
print(s) # a_b_c_d li = "abcdef"
s = "_".join(li)
print(s) # a_b_c_d_e_f

五.for循环遍历字符串

for 变量 in 可迭代对象
循环体 举例:
s = ""
for c in s:
print(c) 用while的话可以这么写
s = "12345"
index = 0
while index < len(s):
  print(s[index])
  index += 1

 

  in有两种用法:                                                                    

  1. 在for中. 是把每⼀一个元素获取到赋值给前面的变量.

  2. 不不在for中. 判断xxx是否出现在str中.                              

# 练习, 计算在字符串"I am sylar, I'm 14 years old, I have 2 dogs!"中数字的个数

s20 = "I am sylar, I'm 14 years old, I have 2 dogs!"
count = 0
for c in s20:
  if c.isdigit():
    count = count + 1
print(count)

  

python中的基本数据类型(int,bool,str)及字符串操作的更多相关文章

  1. day3------基本数据类型int, bool, str,list,tuple,dict

    基本数据类型(int, bool, str,list,tuple,dict) 一.python基本数据类型 1. int  整数. 主要用来进行数学运算 2. str  字符串, 可以保存少量数据并进 ...

  2. 基本数据类型int,bool,str

    .基本数据类型(int,bool,str) 基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放大 ...

  3. python基本数据类型,int,bool,str

    一丶python基本数据类型 1.int 整数,主要用来进行数学运算. 2.str 字符串,可以保存少量数据并进行相应的操作 3.bool 判断真假.True.False 4.list 存储大量数据, ...

  4. python基础知识梳理----3基本数据类型,int,bool,str ,for 循环,迭代

    一:python的基本类型 1.int  -----整数,主要进行数学运算 2.str  -----字符串,可以保存少量数据,并进行相关操作, 3. bool ---布尔类型,判断真假 4.list ...

  5. 第三天-基本数据类型 int bool str

    # python基础数据类型 # 1. int 整数 # 2.str 字符串.不会用字符串保存大量的数据 # 3.bool 布尔值. True, False # 4.list 列表(重点) 存放大量的 ...

  6. 基本数据类型(int,bool,str)

    目录: 1.int        数字类型 2.bool      布尔值 3.str    字符串类型 一.整型(int) 在python3中所有的整数都是int类型.但在python2中如果数据量 ...

  7. 三.int , bool , str

     03.万恶之源-基本数据类型(int, bool, str) 本节主要内容: 1. python基本数据类型回顾 2. int----数字类型3. bool---布尔类型4. str--- 字符串类 ...

  8. 关于int,bool,str

    今日主要内容 基本数据类型(int,bool,str) 1.基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list ...

  9. python-基本数据类型(int,bool,str)

    一.python基本数据类型 1. int ==>  整数. 主要⽤用来进⾏行行数学运算 2. str ==> 字符串串, 可以保存少量量数据并进⾏行行相应的操作 3. bool==> ...

随机推荐

  1. Selenium Webdriver——设置等待时间

    1.隐式等待 implicitlyWait(): 当使用了隐士等待执行测试的时候,如果 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常 当查找元素或元素并 ...

  2. centos7 ping www.baidu.com ping 不通。

    centos7 ping www.baidu.com ping 不通. 记录下,在搭建NodeJS服务器遇到的坑:centos7 ping www.baidu.com ping 不通. 1. 配置网卡 ...

  3. canvas和svg的区别

    讨论关于canvas和svg的区别.首先canvas是html5提供的新元素<canvas>,而svg存在的历史要比canvas久远,已经有十几年了.svg并不是html5专有的标签,最初 ...

  4. dsm winscp 获得 root 权限修改上传文件

    使用DSM开了ssh只可以用admin登陆scp没有权限上传文件.可以用以下方法. ssh 登陆 dsm sudo -i  取得root权限 修改 /etc/sudoers 文件中 %administ ...

  5. 禁止ImageCapture自动启动

    [禁止ImageCapture自动启动] 打开ImageCapture,点开左下角菜单,把Connecting this iPhone opens:的内容改为以下选项即可.

  6. 【poj3254】Corn Fields 状态压缩dp

    AC通道:http://vjudge.net/problem/POJ-3254 [题目大意] 农夫约翰购买了一处肥沃的矩形牧场,分成M*N(1<=M<=12; 1<=N<=12 ...

  7. PHP与Imagemagick

    Imagemagick:相关站点: ImageMagick中文站:http://www.imagemagick.com.cn/ ImageMagick英文站:http://www.imagemagic ...

  8. How To Debug Qmake Pro File

    对于程序代码,我们经常使用到调试. 可是,对于有些项目的配置文件,比如Qt的Pro文件, 一个项目复杂的话,Pro文件就很容易出错. 此时的Pro文件,如果也能调试的话,那么是十分的快捷方便的. 解决 ...

  9. qt QTcpServer与QTcpSocket通讯

    分类: C/C++ TCP        TCP是一个基于流的协议.对于应用程序,数据表现为一个长长的流,而不是一个大大的平面文件.基于TCP的高层协议通常是基于行的或者基于块的.          ...

  10. Java程序设计16——Annotatio注释

    Annotation是代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取,并执行相应的处理.通过使用Annotation,程序开发人员可以在不改变原有逻辑的情况下,在源文件嵌入一些补充信息.代 ...