一 python 中的基础数据类型

1.int  数字类型(整数类型)  主要用来数学计算

2.str  字符串   可以保存少量数据进行操作

3.bool  布尔值  判断真假   True  False

4. list  列表  保存大量数据  用 []  表示

5. tuple 元祖  不可以放生改变  用(,) 表示

6.dict   字典    以 键值对的形式 存放 ,可以保存大量数据  用{key:value} 表示   ,key 是可hash 的,就是不可变的对象

7. set  集合   用{} 表示  ,不可以重复  , 去重最快的办法, 不保存 value 的 字典

(1) int (整数)

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

整数可以进行的操作:
      bit_length(). 计算整数在内存中占用的二进制码的长度

(2) 布尔值(bool)

布尔值 只有  True  False

转换问题:

  str => int    int(str)

  int => str    str(int)

  int => bool    bool(int)   0是 False   非0 就是 True

  str = > bool    bool(str)  空字符串 就是 False  非空就是 True

  bool => str    str(bool)  把 bool 值转换成相对应的 "值"

print(int(False))  #
print(int(True)) #
print(str(bool)) # <class 'bool'>
print(type(bool)) # <class 'type'>
print(str(False)) # False
print(str("False")) # False

(3) 字符串   把字符连成串, python 中 用 ' ',"",""" """ ,引起来的内容称为字符串

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

#     0123456 7 8
s1 = "python最牛B"
print(s1[0]) # 获取第0个
print(s1[1])
print(s1[2])
print(s1[3])
print(s1[4])
print(s1[5])
print(s1[6])
print(s1[7])
print(s1[8])
# print(s1[9]) # 没有9, 越界了. 会报错
print(s1[-1]) # -1 表示倒数.
print(s1[-2]) # 倒数第⼆个

b, 切片

语法: str[start:end:step] 从start 开始 到 end 结束,每 step 取 一个

规则: 顾头不顾尾    start 可以取到,但是 end 是 取 不到的

print(s2[0:3]) # 从0获取到3. 不包含3.
print(s2[6:8])
print(s2[6:9]) # 最⼤是8. 但根据顾头不顾腚, 想要取到8必须给9
print(s2[6:10]) # 如果右边已经过了最⼤值. 相当于获取到最后
print(s2[4:]) # 如果想获取到最后. 那么最后一个值可以不给.
print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数.
# 你怎么数也数不到-5
print(s2[-5:-1]) # 牛b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后一个呢?
print(s2[-5:]) # 什么都不写就是最后了
print(s2[:-1]) # 这个是取到倒数第一个
print(s2[:]) # 原样输出
# 跳着取, 步长
print(s2[1:5:2]) # 从第一个开始取, 取到第5个,每2个取1个
print(s2[:5:2]) # 从头开始到第五个. 每两个取一个
print(s2[4::2]) # 从4开始取到最后. 每两个取一个
print(s2[-5::2]) # 从-5取到最后.每两个取一个
print(s2[-1:-5]) # -1:-5什么都没有. 因为是从左往右获取的.
print(s2[-1:-5:-1]) # 步长是-1. 这时就从右往左取值了
print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取一个

c . 字符串的相关操作

# 1.大小写转换
s = "hAHagE"
s.capitalize()
print(s) ## hAHagE 发下并没有改变,因为字符串本身是不会发生改变的 ret = s.capitalize()
print(ret) ## Hahage 首字母大写,其余的都是小写
# 2. 大小写的转换

s = "asdASkjJJHkj"
ret = s.upper()
print(ret) # ASDASKJJJHKJ 全部变成大写 s = "asdASkjJJHkj"
ret = s.lower() # 对 东欧的一些字母 支持不够好
print(ret) # asdaskjjjhkj 全部变成 小写 ## 应用, 检验用户输入的 验证码是否 合法
3.大变小 小变大

s = "asdASkjJJHkj"
ret = s.swapcase()
print(ret) # ASDasKJjjhKJ 大小写互换 大变小 小变大
4.变成小写

s = "asdASkjJJHkj"
ret = s.casefold()
print(ret) # asdaskjjjhkj 全部变成 小写 # 和 lower 的区别,lower() 对某些字符支持不够好,比如东欧的
## casefold() 对所有的字符都有效
5.每个被特殊字符隔开的字母的首字母大写

s = "as哈哈dAS_kj,sa   ds*ad/sadJJHkj"
ret = s.title()
print(ret) # As哈哈Das_Kj,Sa Ds*Ad/Sadjjhkj ### 中文也算特殊字符
6.居中
s = "哈哈哥"
ret = s.center(5,"*")
print(ret) # *哈哈哥* 把 s 拉长 到 5 个位置,然后放中间
7.更改 tab 的长度

s = "哈哈\t哥"
ret = s.expandtabs()
print(ret) # 哈哈 哥 可以改变 \t 的长度,默认更改为 8
8. 去空格

s = "            哈哈哥          "
ret = s.strip()
print(ret) # 哈哈哥 去掉 两边的 空格 s = "asjjdjjb"
ret = s.strip("ab")
print(ret) # sjjdjj 也可以去掉 字符串 左右两边的 元素 ret = s.lstrip() # 去掉 左边的 空格
ret = s.rstrip() # 去掉 右边的 空格
9. 替换 指定的元素

s = "hahage_嘻嘻姐_呵呵"

ret = s.replace("hahage","哈哈哥")
print(ret) # 哈哈哥_嘻嘻姐_呵呵
s = "hahage_嘻嘻姐_呵呵,呵呵笑死了"

ret = s.replace("呵呵","哈哈哥",2)
print(ret) # hahage_嘻嘻姐_哈哈哥,哈哈哥笑死了 替换 2 个
 
10 字符串 切割

s = "hahage_嘻嘻姐_呵呵,呵呵笑死了"

ret = s.split(",")
print(ret) # ['hahage_嘻嘻姐_呵呵', '呵呵笑死了'] 切完就是个列表 注意.注意.注意: s = "哈哈哥_嘻嘻姐_呵呵,呵呵笑死了哈哈" ret = s.split("哈哈")
print(ret) # ['', '哥_嘻嘻姐_呵呵,呵呵笑死了', ''] ### 如果切割符在 左右 两端,那么一定会出现 空 字符串
11 格式化 输出

s1 = "我叫%s,今年%s岁了,我喜欢 %s." % ("哈哈哥","","张敏") # 之前写法,个人比较喜欢

s2 = "我叫{},今年{}岁了,我喜欢{}".format("哈哈哥",25,"邱淑贞") # 按位置格式化

s3 = "我叫{2},今年{0}岁了,我喜欢{1}".format(25,"朱茵","哈哈哥")# 指定位置

name = "哈哈哥"
age = 20
girl_name = "嘻嘻姐"
s4 = f"我叫{name},今年{age}岁了,我喜欢{girl_name}"
12 以什么开头,用 s.startswith(元素)       

s = "我叫哈哈哥,我今年20岁了,我喜欢的女明星是嘻嘻姐"

ret = s.startswith("哈哈哥")
print(ret) ## False ret = s.startswith("我")
print(ret) ## True
13  以什么结尾 用  s.endswith(元素)
ret = s.endswith("姐")
print(ret) ## True
14  元素出现的 次数

ret = s.count("哈")
print(ret) ## 2 15 查找 元素 索引 的位置 ret = s.index("哈哈")
print(ret) ## 2 求索引 找不到会报错
ret = s.find("哈哈")
print(ret) # 2 ret = s.find("哈哈姐")
print(ret) ## -1 找不到返回 -1 ret = s.find("哈哈哥",1,12)
print(ret) ## 2 切片找
16 条件判断
# 条件判断
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()) # 这个比较牛B. 中文都识别.
print(s15.isdigit())
print(s16.isdigit())
17.计算 字符串的长度    len()

s = "我叫哈哈哥,我今年20岁了"
ret = len(s)
print(ret) ## 13 注意:
len 是 python 中的内置函数
18  迭代 

我们可以使用 for 循环 来获取 字符串的 每一个 字符

语法:
for 变量 in 可迭代对象:
pass 可迭代对象 就是一个一个可以 往外 取值的 对象
s = "我叫哈哈哥,我今年20岁了"

while 循环:

index = 0
while index < len(s):
print(s[index]) ## 利用切片索引 来完成 字符串的 查找
index += 1 for 循环: for i in s:
print(i)
 

基础数据类型(int,str,bool)的更多相关文章

  1. 编码,基础数据类型 int str bool,for循环

    一.编码: ASCII: 8位  1个字节  其实是7位,首位全部是0,创造者留出一位,以便后续使用; gdk :    16位 2个字节 国标码 只能识别汉语和英语 英语:8位 1个字节    汉语 ...

  2. Python学习笔记之基础篇(三)python 数据类型 int str bool 详谈

     python 的数据类型: 1.int:存放 1,2,3 等数据 ,用于数字的运算 2.bool :True, False 用于判断 3.str:字符串,用来存储少量的数据 4.list : 数组的 ...

  3. python基础数据类型—int、bool、字符串的常用方法

    1.int int为整型数据,主要用于计算和类型转化(将字符串转为数字) 常用方法 #bit_length()当用二进制表示数字时所用最少位数,如下十进制数12用二进制表示是1100(bin),所以# ...

  4. Python基础—基础数据类型int、bool、str(Day3)

    一.int 数字 用于计算,+ - * / % **等 bit_lenth():转化成二进制的最小位数. i=4 print(i.bit_length())执行结果:3 1   0000 0001 2 ...

  5. python摸爬滚打之day03----基本数据类型(int,str,bool)

    1.数据类型转换 字符串 ----> bool print( bool("hello") )  -----> True 数字----> bool print( b ...

  6. Python【day 15】基本数据类型-int str bool list

    '''''' ''' 1 python的定义 是一门弱类型的解释性的高级编程语言 这里的高级是相对低级(例如:汇编语言等) 高级编程语言和低级编程语言的区别 1.前者更接近于人的理解--字母组成的语法 ...

  7. Python基础 之 int、bool、str、列表、元组、字典

    数据类型 数据类型划分:可变数据类型     不可变数据类型 不可变数据类型:元组.bool.int (本身不可更改).str      (可哈希) 可变数据类型:列表list.字典dict   .集 ...

  8. python基础-2 编码转换 pycharm 配置 运算符 基本数据类型int str list tupple dict for循环 enumerate序列方法 range和xrange

    1.编码转换 unicode 可以编译成 UTF-U GBK 即 #!/usr/bin/env python # -*- coding:utf-8 -*- a = '测试字符' #默认是utf-8 a ...

  9. python数据类型,int,str,bool

    一,python中的int() int在python中主要用来运算,对字符串的转化,用int(str)表示,并且需要str.isdigit为真. 在int()中二进制的转换如下: #bit_lengt ...

随机推荐

  1. 增强for循环的简单总结

    整体来说:增强型for循环使用起来比较方便,代码也比较简单,如果只是操作集合中元素的而不使用索引的话,建议用此方法.对于普通for循环,如果需要使用索引进行其它操作的话,建议用这个. 详细来说:1,区 ...

  2. MySQL知识点系统总结

    MySQL数据库是一个非常流行的关系型数据库.配合Linux.PHP.Apache,简称lamp,是一般个人企业网站的首选.MySQL用起来不难,要系统的用好,可不是一件简单的事.于是PHP程序员雷雪 ...

  3. python-Web-django-商城-购物车商品加减

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 【VS开发】【C/C++开发】printf缓冲区刷新

    printf之缓冲区小结: 今天调试程序,发现了一个有趣的现象,printf函数没有按照预期的结果输出重复的字符串,单步调试显示代码的确走到了打印屏幕的分支,没有显示不由得想到了是不是缓冲区去刷新的问 ...

  5. boostrap table接收到后台返回的数据格式不一致的解决方法

    后台使用的分页插件是mybatis的PageHelper,返回数据格式如下: 而bootstrap table插件需要服务端返回的数据格式中含有"total"和"rows ...

  6. 在vue中使用Normalize初始化样式

    参考链接:https://www.jianshu.com/p/34533b45aac1

  7. python tarfile模块

    TarFile类对于就是tar压缩包实例. 其由member块组成, member块则包括header块和data块. 每个member以TarInfo对象形式描述. 所以TarFile就是TarIn ...

  8. setsockopt用法详解

    最近做的一个程序用到了IOCP通信模型,里面用到了setsockopt对套接字进行设置,看源代码的时候最setsockopt函数很不理解,看了msdn以后还是不太明白这个函数的用法,于是就到网上找了一 ...

  9. jumpserver跳板机(堡垒机)安装

     jumpserver跳板机(堡垒机) Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent,助力互联网企业 ...

  10. 基于licode搭建webrtc服务器

    0. 前言 licode官网文档安装教程十分简单, 但是实际搭建过程是很艰辛的. 官方文档没有提示说会遇到什么样的问题, 实际过程中可能遇到各种各样的问题, 在解决的时候费时费力, 我就总结一下自己在 ...