Python基本数据类型

本文介绍了Python的基本数据类型,包括整数、布尔值、字符串的详细概念和常见操作。重点讲解了整数的`bit_length()`方法,布尔值的转换,以及字符串的索引、切片和不可变特性,并给出了多个示例。

Python基本数据类型

一、Python基本数据类型

  • int ==> 整数. 主要⽤来进⾏数学运算
  • str ==> 字符串, 可以保存少量数据并进⾏相应的操作
  • bool==>判断真假, True, False
  • list==> 存储⼤量数据.⽤[ ]表⽰
  • tuple=> 元组, 不可以发⽣改变 ⽤( )表⽰
  • dict==> 字典, 保存键值对, ⼀样可以保存⼤量数据
  • set==> 集合, 保存⼤量数据. 不可以重复. 其实就是不保存value的dict

二、整数(int)

在Python 3 中所有的整数都是int类型,但在Python 2 中如果数据量较大则会采用 long类型,而在Python 3 中没有long类型。

常用方法:

​ 1、bit_length():计算整数在计算机中占用的二进制数的长度。

三、布尔值(bool)

取值只有True和False。

转换问题:

  • 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值转换成相应的"值"

四、字符串(str)

字符串:把字符连成串. 在python中⽤’, ", ‘’’, “”"引起来的内容被称为字符串.

  1. 索引和切片

    索引:索引指的就是下标,索引从0开始。

    切片:截取字符串指定部分的内容。

    ​ 语法:str[起始位置,结束位置,步长]

    ​ 规则:“顾头不顾尾”,即包含起始位置,但不包含结束位置。

    ​ 步长:如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1。

content = “生活不止眼前的苟且,以后还有一大堆的苟且。”
例:截取“眼前的苟且,以后还有”
print(content[4:14])
例:截取“生不眼的且以还一堆苟”
print(content[::2])
例:将内容翻转
print(content[::-1])
例:截取“一有还后以,且苟的前”
print(content[14:4:-1])
例:截取“止眼前的苟且,以后还有一大堆的苟且。”
print(content[3:])

  1. 字符串其它相关方法

    注意:切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的。

    1:字符串中的字母全部大写

content = “dogfa is a verv beautiful boy!”
content = content.upper()
print(content)
==>"DOGFA IS A VERV BEAUTIFUL BOY!"

2:字符串中的字母全部小写

--------------------------------------------------------------------
注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687
--------------------------------------------------------------------
content = “DOGFA IS A VERV BEAUTIFUL BOY!”
content = content.lower()
print(content)
==>"dogfa is a verv beautiful boy!"

3:英文首字母大写

content = “dogfa is a verv beautiful boy!”
content = content.capitalize()
print(content)
==>"Dogfa is a verv beautiful boy!"

4:大小写转换

content = “dOgfA iS A verv beautiful boy!”
content = content.swapcase()
print(content)
==>"DoGFa Is a VERV BEAUTIFUL BOY!"

5:每个被特殊字符隔开的单词首字母大写

content = "dogfa is a verv beautiful boy!"
content = content.title()
print(content)
==>"Dogfa Is A Verv Beautiful Boy!"

6:居中

content = "欢迎光临~"
content = content.center(15, "*")     #将长度拉长为15,两边用‘*’填充
print(content)
==> "*****欢迎光临~*****"

7:清除空格

content = "   其实世上本没有路,走的人多了也就成了路     "
content = content.strip()     #清楚两端空格
print(content)
==> "其实世上本没有路,走的人多了也就成了路"

str.lstrip()      # 清除左端空格
str.rstrip()      # 清楚右端空格
str.strip("明")        # 清除左右两端的“明”

content = "明天到操场操到天明"
content = content.strip("明")
print(content)
==> "天到操场操到天"

8:字符串替换

content = "明天到操场操到天明"
content = content.replace("操", "*")
print(content)
==> "明天到*场*到天明"

str.replace("需要替换的字符串", "替换为的字符串", "替换数量")    # 替换数量默认为全部替换
content = content.replace("操", "*", 1)
print(content)
==> "明天到*场操到天明"

9:字符串切割

content = "清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村"
content = content.split(",")
print(content)
==> "['清明时节雨纷纷', '路上行人欲断魂', '借问酒家何处有', '牧童遥指杏花村']"

content = content.split("清")
print(content)
==> "['', '明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村']"

注意:如果切割点在开头或者结尾,都将会在列表的开头或结尾产生一个空字符串。

10:格式化输出

例:要求输入以下内容
*********Welcome~*********
name: dogfa
age: 80
job: piaoke
hobby: piaochang
**************************

我们可以这样:
info = '''*********Welcome~*********
name: {0}
age: {1}
job: {2}
hobby: {3}
**************************'''
name = "dogfa"
age = 80
job = "piaoke"
hobby = "piaochang"
print(info.format(name, age, job, hobby))

我们也可以这样:
info = '''*********Welcome~*********
name: {name}
age: {age}
job: {job}
hobby: {hobby}
**************************'''
name2 = "dogfa"
age2 = 80
job2 = "piaoke"
hobby2 = "piaochang"
print(info.format(name=name2, age=age2, job=job2, hobby=hobby2))

11:查找

content = "明天到操场操到天明"
content = content.find("操")
print(content)
==> 3(返回的是下标)

str.find("查找内容", "起始位置", "结束位置")     # 切片查找
content = content.find("操", 4, 7)
print(content)
==> 5

注意:只能查找到第一个内容的索引,查找不到时将会返回"-1"str.index("查找内容")
content = content.index("操")
print(content)
==> 3

注意:查找不到内容时将会直接抛出异常。建议使用find()str.startswith("明")      # 判断字符串是否以“明”开头
str.endswith("明")        # 判断字符串是否以“明”结尾
content = content.startswith("明")
==> True
content = content.endswith("明")
==> True

12:条件判断

# 判断是否为纯数字
str.isdigit()
content = "123456"
content = content.isdigit()
print(content)
==> True

content = "123456abc"
content = content.isdigit()
print(content)
==> False

# 判断是否为纯英文
str.isalpha()
content = "abcde"
content = content.isalpha()
print(content)
==> True

content = "123456abc"
content = content.isalpha()
print(content)
==> False

# 判断是否由数字和字母组成
str.isalnum()
content = "abcde123456"
content = content.isalnum()
print(content)
==> True

content = "@123avb"
content = content.isalnum()
print(content)
==> False


# 其它
str.isdecimal()
str.isnumeric()      # 这个可以判断中文
content = "壹仟伍佰"
content = content.isnumeric()
print(content)
==> True

13:计算字符串的长度

content = "你猜我有多长?"
print(len(content))
==> 7

注意:注意: len()是python的内置函数. 所以访问⽅式也不⼀样。

14:字符串的拼接

content = "嘿嘿嘿"
content = "_".join(content)
print(content)       # 嘿_嘿_嘿

15:迭代

for "变量" in "可迭代对象":
 pass


content = "喜欢唱跳rap篮球"
for item in content:
    print(item)

==> 喜
    欢
    唱
    跳
    r
    a
    p
    篮
    球


可迭代对象:简单来说就是可以一个一个往外取值的对象,如str, list, tuple

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值