python基础教程:数值与字符串类型
Python3 中有六个标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)。
- 不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合);
- 可变数据(两个):List(列表)、Dictionary(字典)。
一、数字类型
数字类型包括:int(整型)、float(浮点数)、complex(复数)、bool(布尔值)。
注:python2中还有一个长整型,python3已经没有了。
#a=10
#b=10.0
#c=True
#d=1+2j
#print(type(a))
#print(type(b))
#print(type(c))
#print(type(d))
运行结果如下:
<class 'int'>
<class 'float'>
<class 'bool'>
<class 'complex'>
数值取整的三种方法:向下取整int,四舍五入round,向上取整ceil
import math
a=2.23
b=6.66
print(int(a),int(b)) #2,6
print(round(a),round(b)) #2,7
print(math.ceil(a),math.ceil(b)) #3,7
二、String 字符串类型:
在单引号\双引号\三引号内,输入一串字符即构成一个字符串。例如,name=‘张三’ 这样name这个变量就是字符串类型。单引号,双引号使用起来没有区别,三引号一般用于多行注释。
字符串有很多常用的方法,经常使用的如下:
1、去除空格:
- str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格
- str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认为空格
- str.rstrip():删除字符串右边指定字符,默认为空格
'''
str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格
str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认为空格
str.rstrip():删除字符串右边指定字符,默认为空格'''
>>> a=" abc "
>>> b = a.strip() # b='abc'
>>> b = a.lstrip() # b = 'abc '
>>>b = a.rstrip() #b = ' abc'
2、字符串的连接
“+”连接两个字符串,这个方法比较耗费资源,连接两个字符串就要开辟一次内存空间。。如果是n个字符串相连 那么会开辟n-1次内存。
str.join() 方法用于指定一个字符连接另外一个字符串。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#“+”
>>> a='hello'
>>> b='world'
>>> print(a+b)
helloworld#“str.join()”
>>> a='H'
>>> b='world'
>>> c=a.join(b)
>>> c
'wHoHrHlHd'
3、字符串的大小写转换
使用str.upper() str.lower()
>>> str1='abc'
>>> str2='FGH'
>>> print(str1.upper())
ABC
>>> print(str2.lower())
fgh
4、字符串的格式化:‘%’和format
'%'表示占位符号,和C语言的类似。后面可带一个参数,表示该位置将用什么类型来取代,常用的有如下:
%b 二进制整数 %d 十进制整数 %i 十进制整数%o 八进制整数 %x 十六进制整数 |%c 单个字符%s 字符串 %r 字符串 (生成的字符串会带单引号)%e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e)%f 浮点数字(用小数点符号) %g 浮点数字(根据值的大小采用%e或%f)%p 指针(用十六进制打印值的内存地址) %n 存储输出字符的数量放进参数列表的下一个变量中
例如:
name='zs'
age=18
print('My name is %s,age is %d'%(name,age)) #My name is zs,age is 18
可以用如下的方式,对格式进行进一步的控制:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有+,-,’ ‘或0。+表示右对齐,而且显示正负号。-表示左对齐。’ '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。
width表示显示宽度 precision表示小数点后精度
例如:
print('%+8.3f'%3.1415926) #' +3.142' 注意前面有空格
print('%08.3f'%3.1415926) #’0003.142‘
2、format的用法
三种调用方法如下:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> res1='{} {} {}'.format('egon',18,'male')
>>> res2='{1} {0} {1}'.format('egon',18,'male')
>>> res3='{name} {age}{sex}'.format(sex='male',name='egon',age=18)
>>> res1
'egon 18 male'
>>> res2
'18 egon 18'
>>> res3
'egon 18 male
同样format也有更加具体的控制格式: : 填充 对齐 宽度 , . 类型
引导符号 想填充的字符 <左 >右 ^居中 数字分割符 浮点数精度 cf
例如:
print('{:*^30,.2f}'.format(3.1415926)) # *************3.14*************
5、split 的用法:
默认分隔符为空格。同时也可以指定切片的次数和切片方向。具体可以看下面示例
>>> name='root:x:0:0::/root:/bin/bash'
>>> print(name.split(':'))
['root', 'x', '0', '0', '', '/root', '/bin/bash']>>> name='C:/a/b/c/d.txt'
>>> print(name.split('/',1))
['C:', 'a/b/c/d.txt']>>> name='C:/a/b/c/d.txt'
>>> print(name.rsplit('/',1))
['C:/a/b/c', 'd.txt']
6、replace的用法:
默认是替换全部匹配的地方,可以自己手动指定替换次数。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> shuaige='Panan:"Panan is the most hansome person in the world."'
>>> print(shuaige.replace('Panan','Dashu',1))
Dashu:"Panan is the most hansome person in the world.">>> print(shuaige.replace('Panan','Dashu',))
Dashu:"Dashu is the most hansome person in the world."
7、isdigit的用法:
age=input('>>: ')
print(age.isdigit())
8.其他方法:
- find,rfind,index,rindex,count
- center,ljust,rjust,zfill
- expandtabs
- captalize,swapcase,title
- is数字系列
- is其他
#find,rfind,index,rindex,count
name='egon say hello'
print(name.find('o',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
# print(name.index('e',2,4)) #同上,但是找不到会报错
print(name.count('e',1,3)) #顾头不顾尾,如果不指定范围则查找所有#center,ljust,rjust,zfill
name='hello'
print(name.center(30,'-'))
#------------hello-------------
print(name.ljust(30,'*'))
#hello*************************
print(name.rjust(30,'*')) #*************************hello
print(name.zfill(10)) #用0填充
#00000hello#expandtabs
#默认‘\t’等于八个空格,参数可以自己指定个数
name='egon\thello'
print(name)
print(name.expandtabs(1))#captalize,swapcase,title
print(name.capitalize()) #首字母大写
print(name.swapcase()) #大小写翻转
msg='egon say hi'
print(msg.title()) #每个单词的首字母大写#is数字系列
#在python3中
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字
#在python3中
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字#isdigt:bytes,unicode
print(num1.isdigit()) #True
print(num2.isdigit()) #True
print(num3.isdigit()) #False
print(num4.isdigit()) #False#isdecimal
#Python isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
#bytes类型无isdecimal方法
print(num2.isdecimal()) #True
print(num3.isdecimal()) #False
print(num4.isdecimal()) #False#isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric()) #True
print(num3.isnumeric()) #True
print(num4.isnumeric()) #True#三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())
总结:
最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric
#is其他
name='egon123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isidentifier()) #字符串里面只要是符合变量的规则返回TRUE
print(name.islower()) #包含字母,并且只有全部是小写才返回TRUE
print(name.isupper())
print(name.isspace()) #检查是否只有空格
print(name.istitle()) #检查所有单词首字母是否大写
python基础教程:数值与字符串类型相关推荐
- Python基础(3) - 数据类型:2字符串类型
Python字符串的表示有三种方法: 1.单引号(') >>>a = 'I love python. ' 2.双引号(") >>>a = " I ...
- Python基础教程:拼接字符串的7种方法
@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要给大家总结介绍了关于Python拼接字符串的7种方法,分别是来自C语言的 文章目录 前言 1.来自C语言的%方式 2. ...
- python基础教程学习笔记 —字符串
字符串的基本操作 字符串是不可变的,所以类似下面的操作是错误的. >>> str="abcdefghijklmn" >>> str 'abcde ...
- c++如何让字符串重复输出_如何入门Python之自学python基础教程送你参考
随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 什么是算法 ...
- python print 输出到txt_(Python基础教程之七)Python字符串操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- python字符串_(Python基础教程之七)Python字符串操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- 全网惟一面向软件测试人员的Python基础教程-在Python中怎么干倒字符串?
全网惟一面向软件测试人员的Python基础教程 起点:<python软件测试实战宝典>介绍 第一章 为什么软件测试人员要学习Python 第二章 学Python之前要搞懂的道理 第三章 你 ...
- python基础教程视频-python从入门到精通之30天快速学python视频教程
python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv python入门教程-2-Python编程语言初接触.mkv ...
- python黑马教程ppt_,python基础教程 PPT
python基础教程 PPT Python我这里有Python编开发,进阶,化,实战等系列视频教程,还有安装包,素材,代码内容,这里就不一一说了,全套内容一共300G左右,非常的详细,需要的请到网盘下 ...
- Python基础教程,Python入门教程
Python 是一门上手简单.功能强大.通用型的脚本编程语言.Python 类库极其丰富,这使得 Python 几乎无所不能,网站开发.软件开发.大数据分析.网络爬虫.机器学习等都不在话下. 这套 P ...
最新文章
- 定义一个带参带返回值的方法,实现输出随机数数组
- java用线程插入一张图片_JAVA中怎么用线程实现图片的切换?
- 网站面临改版!在修改标题后该如何快速提升排名?
- python变量和变量赋值的几种形式
- oracle使用存储过程做铺底数据
- 支付宝服务窗的简单开发体会
- C++中重载与重写函数区别及虚函数(转载)
- 【渝粤题库】陕西师范大学500001 理论力学 作业(专升本)
- react之虚拟DOM的两种创建方式
- Windows操作系统,启动Tomcat之后DOS窗口乱码处理
- VisualStudioCode常用快捷键
- Mac使用JMeter录制脚本
- ADT-谷歌浏览器插件-广告终结者
- 彻底理解android的各种Flag以及|运算
- PM42L-048 步进电机
- 看过这篇文章,终于找到单身的原因了!
- java表示自然数,将一个正整数表示为连续自然数的和
- python3爬虫有道翻译_一篇文章教会你利用Python网络爬虫获取有道翻译手机版的翻译接口...
- cf 830 D1. Balance (Easy version)
- numpy-repeat
热门文章
- Linux文本处理三剑客之awk
- SAP中国首个基于SAP HANA的Business One Analytics项目初试锋芒
- Linux集群服务知识点总结及通过案例介绍如何实现高性能web服务
- sharepoint权限操作(记录以备忘)
- C#基础知识整理:基础知识(1) Main方法
- mysql select db 废弃_php 项目放服务器显示mysql_connect 已经废弃 ?
- c语言使单片机输出低电平,单片机开发中的一些实用技巧
- 软件测试mysql基础面试题_测试面试题合集之数据库
- 【转】SAP S4 OP/Cloud 10个区别
- 生产订单收货数量与物料凭证计算总数量不一致