猿记录

一个记录、分享的博客

您的位置:主页 > 技术专栏 > python >

python数字和字符串类型

2017-08-09 17:19:27 作者:yxl 次阅读 python

今天总结一下数据类型中的数字和字符串型。

预习:

复制代码
# 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
name = " aleX"
# 1)    移除 name 变量对应的值两边的空格,并输出处理结果
# 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果# 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果# 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
# 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
# 6)    将 name 变量对应的值变大写,并输出结果# 7)    将 name 变量对应的值变小写,并输出结果# 8)    请输出 name 变量对应的值的第 2 个字符?
# 9)    请输出 name 变量对应的值的前 3 个字符?
# 10)    请输出 name 变量对应的值的后 2 个字符?# 11)    请输出 name 变量对应的值中 “e” 所在索引位置?# 12)    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
复制代码

 

一、数字(int,float)

在python3中数字类型只有整形,浮点型,复数。而复数在平时的编程中几乎用不到所以我们只要掌握整形和浮点型即可。(长整形在python3中取消了统一用整形,所以在python3中整形长度无限制)

整型int:年级,年纪,等级,身份证号,qq号,手机号等

ps:

level=10

浮点型float:身高,体重,薪资,温度,价格

ps:

height=1.81

salary=3.3

复制代码
1 n = 12
2 f = 1.5
3 print(type(n)) # int即为整形
4 print(type(f)) #float即为浮点型
5 
6 #科学计数法在python中的应用:(10用e代替)
7 print(1.3e-3)    #1.3e-3 --> 0.0013
8 print(1.3e3)    #1.3e3 --> 1300.0
复制代码

了解:

复数(complex)

x=1-2j

print(x.real)

print(x.imag)

 

 

数字类型的特点:

1、只能存放一个值

2、一经定义,不可更改

3、直接访问


 

二、字符串类型

包含在引号(单,双,三)里面,由一串字符组成

用途(描述性的数据):姓名,性别,地址,学历,密码等。

ps:

复制代码
 1 s1 = 'lln'
 2 s2 = "lln"
 3 s3 = '''lln'''
 4 s4 = """lln"""
 5 
 6 print(type(s1))
 7 print(type(s2))
 8 print(type(s3))
 9 print(type(s4))
10 #均为str字符串类型
复制代码

取值:

首先要明确,字符串整体就是一个值,只不过特殊之处在于:python中没有字符类型,字符串是由一串字符组成,想取出字符串中的字符,也可以按照下标的方式取得

ps:

name = "lln"

name:取得是字符串整体的那一个值(lln)

name[1]:取得是第二位置的字符(l)

字符串拼接:
msg1='hello'
msg2=' world'
字符串中的+的用法:
msg1 + msg2
'hello world'
res=msg1 + msg2
print(res)
hello world
字符串中的*的用法:
msg1*3
'hellohellohello'

注意:字符串不能再用其它符号。

字符串常用方法全解:

复制代码
#移除两边的空格或字符
name = "   llN***"
print(name)
print(name.strip("*"))

#判断以什么结尾和开头
name = "lln"
print(name.endswith("l"))  #false
print(name.startswith("l"))  #true

#替换
name = "lln"
print(name.replace("n","N"))  #llN
print(name.replace("l","L"))  #LLn
print(name.replace("l","L",1))  #Lln 1指定替换次数

#格式化字符串
str = "name:{},age:{},sex{}"
print(str)  #name:{},age:{},sex{}
print(str.format("lln",22,"man"))  #name:lln,age:22,sex:man
str = "name:{0},age:{1},sex{0}"
print(str.format("lln",22))  #name:lln,age:22,sex:lln
str = "name:{x},age:{y},sex{z}"
print(str.format(y=22,x="lln",z="man"))  #name:lln,age:22,sex:man

#索引
name = "lln love"
print(name.find("o"))  #返回位置
print(name.find("a"))  #搜索不到返回-1
#查索引
print(name.index("o")) #索引o位置
print(name[4])
print(name[name.index("o")])
#字符统计
print(name.count("l"))  #字母l出现的次数
print(name.count("l",0,4))  #统计0-3位中l出现的次数

#切分
name = "hello world"
print(name.split())  #['hello', 'world']默认以空格分隔
name = "he:llo wor:ld"
print(name.split(":"))  #['he', 'llo wor', 'ld']可以指定分隔符
print(name.split(":", 1))  #分两部分

# join 连接字符串数组。
name = " "
print(name.join(["lln", "say", "hello", "world"]))  # 可迭代对象必须都是字符串

#center,ljust,rjust,rfill 对其格式
name = "lln"
print(name.center(30,"-"))
print(name.ljust(30,"*"))
print(name.rjust(30,"*"))
print(name.zfill(50))  #用0填充

#expandtabs 替换制表符“\t' 的字符数
name = "lln\thello"
print(name)
print(name.expandtabs(1))

#所有字母大写(小写)
name = "lln"
print(name.upper())
name = "LLN"
print(name.lower())
#判断是否大写(小写)必须全部大写或小写
name = "lln"
print(name.isupper())
print(name.islower())

# captalize,swepcase,title
name = "lln"
print(name.capitalize())  #首字母大写
name = "LlN"
print(name.swapcase())  # 大小写反转
msg = "lln say hi"
print(msg.title())  # 每个单词的首字母大写
# 判断首字母大写
name = "Lln"
print(name.istitle())

#取值及切片
name = "hello world"
print(name[0])  #h
print(name[6])  #w
#print(name[20])  报错
print(name[-1])  #d
print(name[-3])  #r
print(name[1:3])  #el 切片
print(name[1:5])  #ello 切片
print(name[1:5:3])  #eo 切片 3为步长

#判断字符串能否转换成数字
# age=input('age: ')
# if age.isdigit():  #如果用户输入12返回true如果abc则返回false
#     new_age=int(age)
#     print(new_age,type(new_age))

#判断是否是空格(必须全是空格)
name = ""
print(name.isspace())
name = "   "
print(name.isspace())

print("===>")
name = "egon123"
print(name.isalnum())  # 字符串由字母和数字组成
print(name.isalpha())  # 字符串只由字母组成
复制代码

 

预习解答:

复制代码
# 写代码,有如下变量,请按照要求实现每个功能
name = " aleX"
# 1)    移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip())
# 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果print(name.startswith("al"))
# 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果print(name.endswith("X"))
# 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace("l","p"))
# 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
print(name.split("l"))
# 6)    将 name 变量对应的值变大写,并输出结果print(name.upper())
# 7)    将 name 变量对应的值变小写,并输出结果print(name.lower())
# 8)    请输出 name 变量对应的值的第 2 个字符?
print(name[1])
# 9)    请输出 name 变量对应的值的前 3 个字符?
print(name[0:3])
# 10)    请输出 name 变量对应的值的后 2 个字符?print(name[-2:])
# 11)    请输出 name 变量对应的值中 “e” 所在索引位置?print(name.index("e"))
# 12)    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
print(name[0:-1])
复制代码

 

 

小知识点:

布尔:True False
用途:用来判断

复制代码
pinfo={'name':'lln','age':22,'sex':'male'}
pinfo['age'] > 20  #True
pinfo['sex'] == 'female'  #False

#补充:
#True--->1
#False--->0
复制代码

凡本站注明“本站”或“投稿”的所有文章,版权均属于本站或投稿人,未经本站授权不得转载、摘编或利用其它方式使用上述作品。

编辑:yxl 关键词:
0

网友评论