1.1 整数
Python可以处理任意大小的整数,当然包括负整数,,例如:1
,100
,-255
,0
,等等。
1.2 浮点数
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23
,3.14
,-9.01
,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9
,或者12.3e8
,0.000012可以写成1.2e-5
,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。
1.3 数字内置的方法:进制转换
bin(11) 十进制11转换成二进制
oct(10) 十进制10转换成八进制
hex(16) 十进制16转换成十六进制
2、字符串
字符串是以一对单引号'或双引号"
括起来的任意文本,或者是由一对三引号'括起来的多行文本,''比如'abc'
,"xyz"
等等。
Python中没有字符的类型,字符串本身就是一个单独的值,如果要取出字符串中的一个字符,可以使用以下方式:
name = 'mark' name[1] :取得name中第二个位置的字符
2.1字符串的拼接和重复:
字符串可以使用+来进行拼接,也可以使用*来进行重复输出,例如:
'hello,' + ' python.' ---> 'hello, python.'
'python' * 3 ---> 'pythonpythonpython'
2.2字符串的内置方法:
2.2.1 strip方法:
msg=' hello '
print(msg.strip())
>>>'hello'
msg='***hello*********'
msg=msg.strip('*')
print(msg)
>>>'hello'
print(msg.lstrip('*'))
>>>'hello*********'
print(msg.rstrip('*'))
>>>'***hello'
2.2.2 split方法:
info='root:x:0:0::/root:/bin/bash'
user_l=info.split(':')
print(user_l[6])
>>>['root', 'x', '0', '0', '', '/root', '/bin/bash']
msg='hello world egon say hahah'
print(msg.split()) #默认以空格作为分隔符
>>>['hello', 'world', 'egon', 'say', 'hahah']
cmd='download|xhp.mov|3000'
print(cmd.split('|',1)) #第二个参数表示分割次数
>>>['download', 'xhp.mov|3000']
#用处
while True:
cmd=input('>>: ').strip()
if len(cmd) == 0:continue
cmd_l=cmd.split()
print('命令是:%s 命令的参数是:%s' %(cmd_l[0],cmd_l[1]))
>>:cd D:\
>>>命令是:cd 命令的参数是:C:\
2.2.3 isdigit方法
age=input('>>: ').strip()
if age.isdigit(): #不适用于浮点数
print(‘is int’)
else:
print('must be int')
2.2.4 startswitch,endswitch方法
name='alex_AB'
print(name.endswith('AB'))
print(name.startswith('alex'))
>>>
True
True
2.2.5 replace方法
name='hello world, hello python, python is good.'
print(name.replace('python','java',1)) #第三个参数为替换次数
>>>
hello world, hello java, python is good.
2.2.6 format方法
print('my name is %s, my age is %s, my sex is %s.' %('egon',18,'male'))
>>>my name is egon, my age is 18, my sex is male.
print('my name is {}, my age is {}, my sex is {}.'.format('egon',18,'male'))
>>>my name is egon, my age is 18, my sex is male.
print('my name is {0}, my age is {1}, my sex is {0}:{2}.'.format('egon',18,'male'))
>>>my name is egon, my age is 18, my sex is egon:male.
print('my name is {name}, my age is {age}, my sex is {sex}.'.format(sex='male',age=18,name='egon'))
>>>my name is egon, my age is 18, my sex is male. #可以乱序
2.2.7 find,index,count方法
name='goee say hello'
print(name.find('o',1,3)) #左闭右开,找不到则返回-1,不会报错,找到了则显示第一个索引
print(name.index('S')) #同上,但是找不到会报错
print(name.count('e')) #左闭右开,如果不指定范围则查找所有
2.2.8 join方法
join方法是split方法的反向
info='root:x:0:0::/root:/bin/bash'
print(info.split(':'))
>>>['root', 'x', '0', '0', '', '/root', '/bin/bash']
2.2.9 lower,upper方法(字母转换大小写)
name='Python'
print(name.lower())
print(name.upper())
2.2.10 is系列的方法
判断数字的几个方法:
isdigt:适用于str,bytes,unicode
isdecimal:适用于str,unicode
isnumeric:str,unicode,中文数字,罗马数字
判断字母和数字的几个方法:
name='egon123'
print(name.isalnum()) #字符串由字母和数字组成
name='helloworld'
print(name.isalpha()) #字符串只由字母组成
其他:
name='asdfor123'
print(name.isidentifier()) #判断是否包含关键字
name='egGon'
print(name.islower())
print(name.isupper())
print(name.isspace())
name='Egon say'
print(name.istitle()) #判断是否首字母大写
2.2.11其他方法
expandtabs方法
name='egon\thello' #\t输出一个制表符
print(name)
print(name.expandtabs(1)) #制表符转换成空格
center,ljust,rjust,zfill方法
name='egon'
print(name.center(30,'-')) #字符串中心式填充
print(name.ljust(30,'*')) #左对齐填充
print(name.rjust(30,'*')) #右对齐填充
print(name.zfill(50)) #用0填充 #右对齐
captalize,swapcase,title方法
name='eGon'
print(name.capitalize()) #首字母大写,其余部分小写
print(name.swapcase()) #大小写翻转
msg='egon say hi'
print(msg.title()) #每个单词的首字母大写
3、布尔值
一个布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(区分大小写),也可以通过布尔运算计算出来,例如:
>>>True
True
>>>10 == 8
False