python学习04

字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。单引、双引号都可以定义字符串,三引号允许一个字符串跨多行。例如

var1 = 'Hello World!'
var2 = "Python"

1.获取,截取字符串(字符串切片):

mystr = 'hello world'
print(mystr[3])    #获取下标为3的字符  得到结果为l
print(mystr[1:3:1])   #获取下标[1:3]的字符串,不包含3,后面一个参数代表步长
mystr[3,2]           #如果前面大于后面,则什么都不输出,因为默认步长为1
mystr[-1:0]            #什么也没有
mystr[-1:0:-1]          # 固定语法 从后往前取,不包含第一位
mystr[-1::-1]      # 想逆序从后取到前
mystr[::-1]          #同上

2.字符串的一些用法:

下表实例变量 a 值为字符串 "Hello"

in : 判断是否在这些字符串中存在print('H' in a)   输出得到true
not in  :判断是否不在此字符串中print('H' not in a)     输出得到false
 r/R   :    原样输出字符串,如一些特殊字符串"\n",'\t','\'转译符print(r'sd\n')     输出得到sd\n

3.字符串格式化:

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

#!/usr/bin/python
print "My name is %s and weight is %d kg!" % ('Zara', 21) 

以上输出为:

My name is Zara and weight is 21 kg!
%s格式化字符串
%d 格式化整数

%f 浮点数          %.2f表示保留2位浮点数

.format()格式化:

print('{}'.format("hello"))
print('姓名:{name},年龄:{age}'.format(name="张三",age=20))
print('姓名:{0},年龄:{1}'.format("张三",20))

以上输出为:

hello
姓名:张三,年龄:20
姓名:张三,年龄:20
print('aaa{{{}}}'.format(20))       #想输出{}
print('aaa{{0}}'.format())      #想输出{0}

以上输出为:

aaa{20}
aaa{0}

4.类型转换

str(x)  将x转换为字符串类型

print(str(100)==100)
#输出得到false

5.字符串的一些函数:

string.len()    字符串的长度
string.count(sub, start= 0,end=len(string))   返回有几个字符 如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
string.capitalize()     将字符串的第一个字符转换为大写
string.title()         将每一个单词首字母大写
string.find(str, beg=0, end=len(string))    从左找字符串,返回找到的字符串的下标 beg=0, end,如果找不到,返回-1
string.rfind(str, beg=0, end=len(string))        从右面开始找 beg-end 指定一个范围
string.index()            找存在的下标,如果包含子字符串返回开始的索引值,否则抛出异常。
string.rindex():       从右面开始找
string.replace('x','y')         将字符串的'x'替换成'y',但是原字符串不会被改变
string.split(str="", num=string.count(str))    如果split()什么都不写,就是将通过\t和空格进行拆分 num=分割几次
string.startswith(str, beg=0,end=len(string))          判断字符串是否以str开头,beg代表str的下标,默认0,如果是,返回true 否则返回false
string.endswith()               判断是否以‘’结尾,同上
string.lower()              转换 string 中所有大写字符为小写.
string.upper()            转换 string 中所有小写字符为大写.
string.ljust(int num,str="")                   字符串输出时怎样对齐,括号里写大小 达到一个新的高度 以什么填充
string.strip()      string,lstrip()          string,rstrip()                         去左右两端 去左 去右去除空格    不会去除字符串内部的空格
string.partition()                          以此字符串为节点拆分 ,返回头、分割符、尾3个元组。
string.splitlines([keepends])             按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果                                                  为 True,则保留换行符。
string.isalpha()                            判断字符串是否是全是字母/文字(汉字) 非特殊字符(符号)是返回 true 否则false 
string.isdigit()                                  判断字符串是否是全是数字     是返回 true否则 false
string.isalnum()                              判断字符串是否是数字和字母/文字(汉字) 非特殊字符(符号)是返回 true 否则false
string.join(sequence)                         将列表组成新的字符串
string.swapcase()                    翻转字符串中的大小写

小练习:输入一个邮箱,对其进行合法验证,合法则返回其id

email=input('请输入一个邮箱:')
if email.find('@')!=1 and email.find('.')!=1 and\
    email.find('@')<email.find('.') and\
    len(email)<30:
    print('邮箱格式正确,用户名为:',email[0:email.find('@')])
else:
    print('邮箱格式错误')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值