python基础数据类型之整型、浮点型、字符串以及相关内置方法

数据类型int、float、str

一、定义

 1.1 整型int的定义
 age=10 #本质age=int(10)

 1.2浮点型float的定义
 salary=3000.3 #本质上 salary=float(3000.3)

注意: 名字+括号的意思就是调用某个功能,比如 print(…)调用打印功能 int(…)调用创建整型的数据的功能
float(…)调用创建浮点型数据的功能

二、类型转换
1、数据类型转换

1.1 int可以将由纯整型构成的字符串转化为整型,若包含其他任意非整数符号,
则会报错
s = '123'
print(type(s))
返回结果: 
<class 'str'>


# 转换方式
s = '123'
s = int('123')
print(type(s))
返回结果:
<class 'int'>


s = int('12.3') #错误演示:字符串内包含了非整数符号。
print(type(s))
返回结果:
Traceback (most recent call last):
  File "C:/Users/dai/PycharmProjects/untitled/数字类型.py", line 31, in <module>
    s = int('12.3')
ValueError: invalid literal for int() with base 10: '12.3'

需要转换的内容必须是整型,否则会出现上述报错

1.2进制转换

 十进制转其他进制
s = bin(3) #十进制转二进制
print(s)

s = oct(9) # 十进制转八进制
print(s)

s = hex(17) # 十进制转十六进制
print(s) 

返回结果:
0b11
0o11
0x11



其他进制转十进制
s = int('0b11',2) #二进制转十进制 
print(s)

s = int('0o11',8) # 八进制转十进制
print(s)

s = int('0x11',16) # 十六进制转十进制
print(s)

返回结果:

3
9
17

1.3 float 同样可以用来做数据类型的转换

s = '12.3'
s = float(s)
print(type(s))

返回结果:
<class 'float'>

1.4 使用

数字类型主要就是用来做数学运算与比较运算,因此数字类型除了与运算符结合使用之外 ,并无其他要掌握的内置方法

三、字符串
1.1 定义

定义: 在单引号\双引号\三引号内包含一串字符
s = 'dls' 本质上:s = str('任意形式的内容')
s1 = "dls" 本质上: s1 =str("任意形式的内容")
s2 = """dls""" 本质上: s2 =str("""任意形式的内容""")
 三种符号定义都可以。

1.2 类型转换
数据类型转换: str() 可以将任意数据类型转换为字符串类型:例如

list转换str
s = [1,2,3]
print(type(s))
s = str(s)
print(type(s))

返回结果:
<class 'str'>
<class 'list'>
dict转换str
s = {"name":"dls","age":18}
print(type(s))
s = str(s)
print(type(s))
返回结果:
<class 'dict'>
<class 'str'>
 tuple转换str
s = (1,2,3,4)
print(type(s))
s = str(s)
print(type(s))
返回结果:
<class 'tuple'>
<class 'str'>
set 转换 str
s = {1,2,3}
print(type(s))
s = str(s)
print(type(s))
返回结果:
<class 'str'>
<class 'set'>

1.3使用

 1.1 优先掌握的操作

str1 = 'hello python'
 1.按索引取值(正向取,反向取)空格也算索引:
 1.1正向取(从左到右)
print(str1[6])


1.2反向取(负号表示从右往左)
print(str1[-4])

1.3 对于str来说,只能按照索引取值,不能改
str1[0]='H'
print(str1) #报错TypeError
返回结果:
p
t
TypeError: 'str' object does not support item assignment

2.切片(顾头不顾尾,步长)


 2.1顾头不顾尾:取出索引为0到7的所有字符
str1 = 'hello python'
print(str1[0:8])

 2.2 步长:0:9:2,第三个参数2代表步长,会从0开始,每次累加一个2即可,所以会取出索引0、2、4、6、8的字符
print(str1[0:9:2])

 2.3反向切片: -1表示从右往左一次取值
print(str1[::-1])
返回结果:
hello py
hlopt
nohtyp olleh

3.长度len

3.1获取字符串的长度,即字符的个数,但凡存在于引号内的都算作字符
str1 = 'hello python'
print(len(str1))
返回结果:
12

4.成员运算in 和 in not

4.1 in:判断hello是否在str1里面
str1 = 'hello python'
print('hello' in str1)

4.2 not in:判断dls 是否不在str1里面
print('dls' not in str1)
返回结果:
True
True

5.strip移除字符串首尾指定的字符(默认移除空格)

5.1括号内不指定字符,默认移除首尾空白字符(空格、\n、\t)
str1 = ' like python '
res=str1.strip()
print(res)
返回结果:
like python

5.2 括号内指定字符,移除首尾指定的字符
str2 = '***dls***'
res=str2.strip('*')
print(res)
返回结果:
dls

6.切片split

6.1 括号内不指定字符,默认以空格作为切分符号
str1 = 'hellow python'
res = str1.split()
print(res)

6.2括号内指定分隔符,则按照括号内指定的字符切割字符串
str2 = '127.1.1.0'
res = str2.split('.')
print(res) # 注意:split切割得到的结果是列表数据类型
返回结果:

['hellow', 'python']
['127', '1', '1', '0']

7.循环

str5 = 'abcdef'
for line in str5: #依次取出字符串中的每一个字符
    print(line)
返回结果:
a
b
c
d
e
f

3.3.2掌握的操作

1.strip,lstrip,rstrip

str1 = '*****dls*****'
print(str1.strip('*')) #移除左右两边的指定符号
print(str1.lstrip('*')) #移除左边指定的符号
print(str1.rstrip('*')) #移除右边指定的符号
返回结果:
dls
dls*****
*****dls

2.lower(),upper()

str2 = 'my Name is Dls! '
print(str2.lower()) # 将英文大写转为小写
print(str2.upper()) #将英文小写转为大写
返回结果:
my name is dls!
MY NAME IS DLS! 

3.startswith,endswith

str3 = 'dls'
print(str3.startswith('d'))
startswith()判断字符串是否以括号内指定的字符开头,结果为布尔值true或者false
print(str3.endswith('s'))
endswith()判断字符串是否以括号内指定的字符结尾,结果为布尔值true或false
返回结果:
True
True

4.格式化输出值format

之前我们在使用%s来做字符串的格式化输出操作,在传值时,必须严格按照位置%s–对应,而字符串的内置方法format
则提供了一种不依赖位置的传值方式

案例:

format括号内在传参数时完全可以打乱顺序,但仍然能指名道姓的为指定的参数传参
 str4 = 'my name is {name},my ange is {age}'.format(name='dls',age=18)
print(str4)
返回结果:
my name is dls,my ange is 18

5.split,rsplit

split 会按照从左往右的顺序对字符串进行切分,可以指定切割次数
str1 = 'C:|Users|dai|AppData|'
res = str1.split('|', 1)
print(res)

rsplit 会按照从右往左的顺序对字符串进行切分,可以指定切割次数
res1 = str1.rsplit('|',1)
print(res1)
返回结果:
['C:', 'Users|dai|AppData|']
['C:|Users|dai|AppData', '']

6.join

从可迭代对象中取出多个字符串,然后按照指定的分隔符进行拼接,拼接的结果为字符串

res = 'hellow'
print('%'.join('hello'))# 从字符串'hello'中取出多个字符串,然后按照%作为分隔符号进行拼接
res = {'name':'dls','age':18}
print('|'.join(res))# 从列表中取出多个字符串,然后按照*作为分隔符号进行拼接
返回结果:
h%e%l%l%o
name|age

7.replace

用新的字符替换字符串中的旧字符

str1 = 'my name is dls,my age is 18'
str2 = str1.replace('dls','lls') # 语法:replace('旧内容', '新内容')
print(str2)

可以指定修改的个数
str3 = str1.replace('is','IS',1)# 只把一个is改成IS
print(str3)
返回结果:
my name is lls,my age is 18
my name IS dls,my age is 18

8.isdigit

判断字符串是否是纯数字组成,返回结果为True或False

str2 = '85455adhafbh'
str3 = '123'
print(str2.isdigit())
print(str3.isdigit())
返回结果:
False
True

本篇完结!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值