首页 > 技术文章 > python中数据的变量和字符串的常用使用方法

xianhaiyan 2015-05-20 11:45 原文

1、查看变量类型:

a=2

print(a,type(a))

print的用法:在print后面跟多个输出,可以用逗号分隔。

回收变量名,如把a存储不同的数据,你不需要删除原有变量就可以直接赋值

2、关于字符串的一些用法:

>>> say='let's go'
SyntaxError: invalid syntax

提示语法错误是因为值中有三个单引号,系统自动匹配了前两个单引号,正确的写法如下:

say="let's go" 

say='let\'s go'

输入多行字符串:

say="hello!\nwhere are you going?\nwo are going to schonl."  #\n表示换行

>>> say="""
hello!
where are you going?
wo are going to school.
"""

对字符串的操作:

say='let\'s go'

>>> say[2] #查找自定字符
't'

>>> say[:3]
'let'

>>> say[1:3]#查找1到3位置的字符,不包括3
'et'

>>> say[2:] #查找字符位置2和之后的数据
"t's go"

>>> say[2::2]#查找2到之后的数据,部长为2,
'tsg'

>>> say[::1]#1表示字符串顺序显示
"let's go"
>>> say[::-1]#-1表示字符串倒叙显示
"og s'tel"

对字符串逐一输出:

关于字符串的一些用法,可在IDLE中查看,比较方便

比如定义一个字符串,s1='Ni'

输入s1.系统自动会显示出相应的一些方法参数。

也可如此写:'Ni'.index('i')

say.find('a')=say.index('a')    #查找字符a在字符串say中首次出现的位置

sat.rfind('a')=sat.rindex('a')  #查找字符a在字符串say中末次出现的位置

find和index的区别是如果查找的字符串不存在,find返回-1,index会报错提示ValueError: substring not found

 

>>> say.capitalize() #把字符串首字母大写
"Let's go"

>>> say.casefold() #把大写字母转换成小写

>>>s.lower()#把大写字母转换成小写

>>>s.islower()#检查字符串是否都是小写
>>>s.upper()#把字符串的字母转换成大写

>>>s.isupper()#检查字符串是否都是大写

>>> s.istitle()#检查字符串中首字符是否大写,比如;'Ni Hao'为true,'Ni hao'则为false
>>> say.center(3,'d') #3表示字符串总长度,d表示长度不够用d填充

>>>say.count('i')#查询i字符在say中出现次数

>>>say.encode()

>>> s.endswith('o') #检查o是否是最后一个字符,正确就返回True

>>> s='this is \tmy student' #
>>> s.expandtabs()
'this is         my student'

>>> format("empty dict:{{}}") #具体的用法还没参透
'empty dict:{{}}'


>>> s1.replace('e','shenm')  #把字符e替换成shenm
'nishenm'

>>> s1='nihao123'
>>> s1.isalnum()  #sialnum检查字符串是否有字母和数字组成,是返回True否则返回false
True
>>> s1='&^nihao'
>>> s1.isalnum()
False

>>> s1="nihao"
>>> s1.isalpha() #检测字符,全为字母(可包括汉字)则返回true,否则返回false
True

>>> s='nihao'
>>> s.islower() #检查字符串是否都为小写,是反正ture,否则返回false

>>> s2='100'
>>> s2.isdecimal() #检查字符串是否为十进制,是返回true,否则返回false
True

>>> s2.isdigit() #检测字符串是否为数字,是则返回true,否则返回false

>>>s.isnumeric()检测字符串是否为数字,是则返回true,否则返回false,这种方法是只针对unicode对象。注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可


>>> '你好'.isidentifier()  #检查字符串是否合法
True
>>> '你好123'.isidentifier()
True
>>> 'nihao123'.isidentifier()
True
>>> '123'.isidentifier()
False

 

>>> s.isprintable() #具体意思还不是很明白
True

>>> s='   '
>>> s.isspace() #检测字符串是否只由空格组成,是返回true,否则返回false
True

>>> s.join('niaho')
'nNIHAOiNIHAOaNIHAOhNIHAOo'

>>> s.ljust(7)#返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
'NIHAO  '

>>> s.rjust(10)#返回一个右对其器,并用空格填充的新字符,如果长度小于原字符串长度则返回原字符串
'  nihao ni'

>>> s.lstrip('N')#截取字符串最左边的空格或指定字符
'IHAO'

  

   

4、序列:tuple(定值表,也可叫元组)和list表

  tuple的各个元素不可在变更

  list的各个元素可以再变更。

      s2=[45,58,89,78]

  print s2[3]  //打印出s2中角标为3的值

    其它引用方式:基本样式[下限:上限:步长](注:在范围引用是,写明上限,则此上限本身不能包括在内)

      比如:s1=(2,1.3,'love',5.6,9,12)

           print s1[:2]  //从下标为2到最后

    print s1[0:5:2] //从下标0到5不包括5,每隔2获取一个元素

    print s1[2:0:-1] //从下标2到下标1

    执行命令如下;

  

     尾部元素引用:

      print s1[-1]  //序列最后一个元素

  print s1[-3]  //序列倒数第三个元素

5、运算:

  print 1+9  //加法

  print 10-9  //减法

  print 1*9  //乘法

  print 10/9  //除法

  print 1**9  //乘方

  print 10%3 //求余数

6、判断:

print 5==6

print 5!=6

print 5>=6,6<5

print 5 in [1,4,5]  //5是list 中的一个元素

6、逻辑运算:

推荐阅读