Python自学之路之day03-基本数据类型(int、str、bool)

一、python基本数据类型

1、int ==> 整数. 主要⽤用来进⾏行行数学运算

2、str ==> 字符串串. 可以保存少量量数据并进⾏行行相应的操作

3、bool ==> 判断真假, True, False

4、list ==> 存储大量数据.用[ ]表⽰

5、tuple=> 元组, 不可以发⽣改变 ⽤用( )表⽰

6、dict==> 字典, 保存键值对, ⼀样可以保存⼤量数据

7、set==> 集合, 保存⼤量数据.  不可以重复. 其实就是不保存value的dict

二、整数(int)

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

1、整数可以进行的操作:

  bit_length():计算整数在内存中占⽤的二进制码的长度

  

三、布尔值(bool)

  布尔值取值只有:True, False。

 1、类型转换

  字符串转换数字(str => int): int(str) 

s = "256"
i = int(s)
print(i,type(i))

ss = str(i)
print(ss,type(ss))


打印结果:
256 <class 'int'>
256 <class 'str'>

  bool类型转换成数字(bool=>int):int(bool) True是1, False是0

b = False
c = int(b)
print(c)

打印结果:
0

  int转换成bool(int=>bool)  零: False 非零: True

a = 0
b = bool(a)
print(b)

打印结果:
False

  字符串转换bool(str=>bool) bool(str) 空字符串表示False, 非空字符串表示:True

s = ""  
if s:
    print("哈哈")
else:
    print("呵呵")

打印结果:
呵呵
注意:None代表空,判断时也作为False。

 四、字符串(str)

  把字符连成串. 在python中⽤用', ", ''', """引起来的内容被称为字符串

4.1 切片和索引

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

s = "我是来自德玛西亚的召唤师。"
#
# 获取对应下标的字符串值 print(s[0]) ## 我 print(s[1]) ## 是 print(s[2]) ## 来 print(s[3]) ## 自 print(s[4]) ## 德
#
# 倒叙取值 print(s[-1]) ## 。 print(s[-2]) ## 师 print(s[-3]) ## 唤 print(s[-4]) ## 召

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

  语法: str[start: end]
  规则: 顾头不顾尾, 从start开始截取. 截取到end位置. 但不包括end

s = "我是来自德玛西亚的召唤师。"

## 截取德玛西亚
s1 = s[4:8]
print(s1) # 德玛西亚

## 从第四个截取到最后一个,包括最后一个
s2 = s[4:]  
print(s2) # 德玛西亚的召唤师。

## 从头开始截取到第15个,如果长度不够15则取到最后一个。
s3 = s[:15]
print(s3) #我是来自德玛西亚的召唤师。

## 从头到尾全部取出来
s4 = s[:]
print(s4) # 我是来自德玛西亚的召唤师。

## 从-3到到结尾  默认从左往右取,不包括倒数第三个
s5 = s[-3:]
print(s5) # 唤师。

## 从倒数第三取到倒数第一,不包括倒数第一
s6 = s[-3:-1]  
print(s6) #唤师

## 取到倒数第一个,不包括倒数第一个
s7 = s[:-1]
print(s7) # 我是来自德玛西亚的召唤师

   3. 带步长切片

  语法:

   str[start:end:step]
    start: 起始位置
    end: 结束位置
    step:步⻓

s = "我是来自德玛西亚的召唤师。"

## 从1开始, 到5结束, 每2个取1个,默认取第一个
s1 = s[1:5:2]
print(s1)


## 所有值,每三个取一个
s2 = s[::3]
print(s2)

## 从左往右不包括倒数第五个值
print(s[-5::2])
#取值结果:的唤。


## 步长为负值,取值从右往左
print(s[-1:-5:-1])
#取值结果:。师唤召

## 从倒数第五个开始,到第一个,从右往左步长为三
print(s[-5::-3])
# 取值结果:的玛来

## 步长为负数,则从右往左取,从第七个到开始位置,没2个取一个
print(s[7::-2])

 4.2 字符串的相关操作方法

  1、字符串转来转去

s = "huahua and xiaohua and boy"
## 首字母大写 
print(s.capitalize())
打印结果:
Huahua and xiaohua and boy
## 小写变大写(全部) print(s.upper())
## 大写变小写(全部) print(s.lower()) ## 大小写转换 print(s.swapcase()) ## 每个被特殊字符隔开的字⺟母⾸首字⺟母⼤大写(空格、特殊符号、中文) print(s.title())

  2、切来切去

## 居中 拉长成10, 把原字符串放中间.其余位置补*
s10 = "流浪"
print(s10.center(10, "*"))
 
## 去空格,只能去字符串两端的空格
s11 = "流浪     "
print(s11.strip())

## 指定去掉元素,只能去掉两端
s12 = "-------------流--浪---"
print(s12)
print(s12.strip("-"))

打印结果:
-------------流--浪-----## 字符串替换 
s13 = "流浪 光辉 火男 冰鸟"
print(s13)
print(s13.replace(" ",""))

打印结果:
流浪光辉火男冰鸟
## 替换数量,流浪替换为德玛,这里只能按照顺序更换,没办法指定更换第几个值 s14 = "流浪 光辉 火男 冰鸟 流浪" print(s14) print(s14.replace("流浪","德玛",1)) ## 字符串切割 s15 = "流浪 光辉 火男 冰鸟 流浪" print(s15) print(s15.split(" ")) ## 这里根据 空格切割,切割后为列表
打印结果:
流浪 光辉 火男 冰鸟 流浪
['流浪', '光辉', '火男', '冰鸟', '流浪'] ## 如果切割符在左右两端,那么一定会出现空字符串 s15 = "流浪 光辉 火男 冰鸟 流浪" print(s15.split("流浪")) 打印结果: ['', ' 光辉 火男 冰鸟 ', '']

   3、格式化输出

# 之前的写法
s1 = "我叫%s, 今年年%d岁了了, 我喜欢%s" % ('sylar', 18, '周杰伦') 
print(s1)

# 按位置格式化
s2 = "我叫{}, 今年年{}岁了了, 我喜欢{}".format("周杰伦", 28, "周润发") 
print(s2)

# 指定位置,位置需要一一对应
s3 = "我叫{0}, 今年年{2}岁了了, 我喜欢{1}".format("周杰伦", "周润发", 28)
print(s3)

# 指定关键字
s4 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28)
print(s4)

  4、查找

s = "我叫sylar, 我喜欢python, java, c等编程语言."

# 判断是否以sylar开头,返回True或者False
print(s1.startswith("sylar"))

# 是否以'语言'结尾
print(s1.endswith("语言."))

# 查找"a"出现的次数
print(s1.count("a"))

# 查找'sylar'出现的位置,返回索引位置,如果不存在返回-1
print(s1.find("sylar"))

# 求索引位置,如果不存在则报错
print(s1.index("java"))

  5、条件判断 

# 是否由字⺟母和数字组成,返回True或者False
s20 = "123a"
print(s20.isalnum())

# 是否由字母组成
s20 = "123a"
print(s20.isalpha())

# 是否由数字组成, 不包括⼩小数点
s20 = "123.123"
print(s20.isdigit())

 

posted @ 2019-08-05 13:31  小哥boy  阅读(161)  评论(0)    收藏  举报