字符串的定义

•第一种方式:
str1 = 'redhat'
•第二种方式:
str2 = "redhat"
•第三种方式:
str3 = """redhat"""

转义符号

\n   代表换行符

\t    代表tab符

\"    代表双引号本身

\'     代表单引号本身

>>> print "sunny,"ok""
  File "<stdin>", line 1
    print "sunny,"ok""
                   ^
SyntaxError: invalid syntax
>>> print "sunny,\"ok\""
sunny,"ok"

字符串类型转换

str(obj) 将其他类型内容转换为字符串
int(obj) 将字符串转换为为整数
float(obj) 将字符串转换为浮点型
long(obj) 将字符串转换为长整型

字符串操作

字符串属于序列,序列支持的操作如下:

一、索引

• 索引(s[i] ):获取特定偏移的元素
• 给出一个字符串,可输出任意一个字符,如果索引为负数,就是相当于从后向前数。

>>> s='hello'
>>> s[0]
'h'

>>> s[-1]
'o'
>>> s[0]+s[1]
'he'
二、切片

切片S[i:j]提取对应的部分作为一个序列:
•上边界并不包含在内;
•如果没有给出切片的边界,切片的下边界默认为0,上边界为字符串的长度;

•扩展的切片S[i:j:k],其中i,j含义同上,k为递增步长;

s[:]获取从偏移量为0到末尾之间的元素

s[1:]获取从偏移量为1到末尾之间的元素

>>> num='abcdefgh'
>>> num[0:2]
'ab'
>>> num[0:6:2]
'ace'
>>> num[:]
'abcdefgh'
>>> num[1:]
'bcdefgh'
>>> num[::-1]         #表示倒序显示所有元素
'hgfedcba'
三、成员操作符(判断子串)

判断一个字符串是不是属于s字符串

>>> a='hello'
>>> 'o' in a
True
>>> 'o' not in a
False
四、连接操作符

>>> a='hello'
>>> b='world'
>>> a+b
'helloworld'
五、重复操作符

>>> "$"*10          #将$重复显示10次
'$$$$$$$$$$'

>>> print "#"*10 + "管理系统" + "#"*10
##########管理系统##########

内置函数

一、计算长度

>>> a='hello'
>>> len(a)
5

二、取最大、最小

In [19]: max('1234')
Out[19]: '4'
In [20]: min('1234')
Out[20]: '1'

三、枚举

#可以同时遍历索引和遍历元素

>>> s='hello'
>>> for i,j in enumerate(s):
...     print i,j
...
0 h
1 e
2 l
3 l
4 o

四、比较

cmp()

五、zip

>>> s='123'
>>> s1='abc'
>>> s2='ABC'
>>> zip(s,s1,s2)
[('1', 'a', 'A'), ('2', 'b', 'B'), ('3', 'c', 'C')]

字符串常用操作

[]里的内容表示可要可不要

str.capitalize()
- 将字符串首字母大写,并返回新的首字母大写后的字符串;

tr.center(width[,fillchar])
- 返回一个长为width的新字符串,在新字符串中原字符居中,其他部分用fillchar指定的符号填充,未指定时通过空格填充。

tr.count(sub[, start[, end]]) -> int
- 返回sub在str中出现的次数,如果start与end指定,则返回指定范围内的sub出现次数。

str.endswith(suffix[, start[, end]])
- 判断字符串是否以suffix结束,如果start和end指定,则返回str中指定范围内str子串是否以suffix结尾,如果是,返回True;否则返回False
str.startswith(prefix[, start[, end]])

tr.find(sub[,start[,end]])
- 判断sub是否在str中,存在返回索引值,不存在返回-1.
str.index(sub[,start[,end]])
- 与find方法函数功能相同,如果sub不存在时抛出ValueError异常;

str.isalnum() //判断是否都是字母或数字
str.isalpha() //判断是否都是字母
str.isdigit() //判断是否都是数字
str.islower() //判断是否都是小写
str.isspace() //判断是否都是英文空格
str.istitle() //判断是不是都是标题(有大小写)
str.isupper() //判断是不是都为大写字母
str.join(seq)
- 以str作为分隔符,将序列seq中的所有元素合并为一个新的字符串。

In [12]: a='123'
In [13]: b='456'
In [14]: a.join(b)
Out[14]: '412351236'

str.replace(old,new[,count])
- 将str中的old字符串替换为new字符串,并将替换后的新字符串返回,如果count指定,则只替换前count个字符串

In [64]: s="h e llo"
In [65]: s.replace(" ","")
Out[65]: 'hello'

tr.split([sep[,maxsplit]])
- 以sep字符串作为分割符对str进行切割,默认为空格;
- maxsplit代表切割的此处

In [66]: a="admin redhat centos"
In [67]: a.split()
Out[67]: ['admin', 'redhat', 'centos']

str.strip([chars])
- 返回一字符串,将str中首尾包含指定的chars字符删除的字符串,未指定时,删除首尾的空格。

str.lower() //将大写字母转换为小写

str.upper() //将小写字母转换为大写

str.ljust()

-字符串对齐格式化字符串

In [16]: str='hello'
In [17]: str.ljust(30,'*')
Out[17]: 'hello*************************'

str.rjust()

-字符串对齐格式化字符串

In [18]: str='hello'
In [19]: str.rjust(30,'*')
Out[19]: '*************************hello'

题目1:

用户输入一个变量名,判断是否合法

解答:

方法一:运用字符常用操作的知识

#!/usr/bin/env python
# coding:utf-8
"""
变量名的命名规则:由数字、字母、_组成并且不能以数字开头
"""
while True:
    name=raw_input("输入一个变量名:")
    if name[0].isdigit():
        print "变量名不合法(error 1)"
    else:
        for i in name[1:]:
            if not(i.isalnum() or i == "_"):
                print "变量名不合法(error 2)"
                break
        else:
            print "变量名合法"

方法二:使用string函数
In [48]: import string

In [49]: string.digits
Out[49]: '0123456789'

In [50]: string.letters
Out[50]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

#!/usr/bin/env python
# coding:utf-8
"""
变量名的命名规则:由数字、字母、_组成并且不能以数字开头
"""
import string
while True:
    name=raw_input("输入一个变量名:")
    if name[0] == string.digits:
        print "变量名不合法(error 1)"
    else:
        for i in name[1:]:
            if not(i in string.digits or i in string.letters or i == "_"):
                print "变量名不合法(error 2)"
                break
        else:
            print "变量名合法"

转载于:https://blog.51cto.com/13548905/2054384

Python(四)字符串相关推荐

  1. python四:字符串和数字

    # 字符串(引号括起来) s1 = "双引号括起来的字符串" s2 = '单引号括起来的字符串' s3 = """三个双引号""& ...

  2. Python打卡四——字符串讲解

    Python打卡(四) 字符串讲解 1.字符串的基本特点 字符串的本质是字符序列.Python中的字符串是不可变的,我们无法对原字符串做任何修改,但是,我们可以将字符串的一部分复制到新创建的字符串中, ...

  3. str.replace()——Python的“第四”字符串格式

    str.replace(),Python的"第四"字符串格式. [学习的细节是欢悦的历程] Python 官网:https://www.python.org/ Free:大咖免费& ...

  4. python 遍历字符串

    python 遍历字符串, 可以把字符串当作列表 来遍历即可 第一种方法使用for in 循环 # 使用for in str_a = "Hello,Python" for i in ...

  5. Swift解读专题四——字符串与字符

    2019独角兽企业重金招聘Python工程师标准>>> Swift解读专题四--字符串与字符 一.引言 Swift中提供了String类型与Characters类型来处理字符串和字符 ...

  6. python 遍历字符串的每一个字符_Python之字符串的遍历的4种方式

    python的字符串遍历有4种方式: 1. 下标法 2. for in 3. iter内置函数 4. enumerate 其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标ind ...

  7. 【Python】Python入门-字符串初相识

    公众号:尤而小屋 作者:Peter 编辑:Peter 从本文开始准备介绍Python中的常见数据结构:字符串.列表.集合.字典.其中字符串.列表.字典应用非常频繁,需要重点掌握,本文介绍的是字符串及相 ...

  8. Python之字符串的134个常用操作

    一.字符串切片操作 test = "Python Programming" print("String: ", test)# First one charact ...

  9. python返回字符串长度的函数_Python如何查找字符串的长度?(代码示例)

    在Python中字符串是Unicode代码点的不可变序列.给定一个字符串,我们如何查找它的长度?本篇文章就来给大家介绍在Python中查找字符串长度的四种方法,希望对大家有所帮助.[相关视频教程推荐: ...

  10. Python(19)-字符串、Unicode字符串

    高级数据类型--字符串.Unicode字符串 1.字符串的定义 2.字符串的长度.计数.Index 3.字符串常用方法 3.1判断类型 3.2查找和替换 3.3文本对齐 3.4去除空白字符.strip ...

最新文章

  1. 实验室博士背着导师私发了两篇SCI,导师知道了会怎样?
  2. 关于sybase的调优
  3. python 钩子函数的使用
  4. Bit-Z CEO长顺入围2018中国经济潮流人物
  5. 关于使用 jquery Validate 使用出现的问题
  6. 前端学习(3080):vue+element今日头条管理-发布文章功能介绍
  7. java cookie id,我如何在Java中获取会话ID
  8. G4L---linux系统---硬盘对拷(克隆)
  9. [个人备忘]SpringMVC+Mybatis+freemarker后台代码生成器自动生成新建表格数据的增删改查处理
  10. 【图像隐写】基于matlab GUI DWT+SVD数字水印 【含Matlab源码 939期】
  11. 通过Visio软件的宏编写Java代码
  12. 学习Java还是学习大数据,哪个好?
  13. leetcode---1728. 猫和老鼠 II
  14. uniapp 引用图片地址
  15. 』 [大话IT]我编的计算机基础教材,大家批判批判
  16. c语言小程序飞机大战,飞机大战微信小游戏:经典像素飞机大战小程序,点开即玩...
  17. 2022宁波市第五届网络安全大赛(初赛Misc部分)
  18. IRremoteESP8266库 红外控制空调方法
  19. 服务器显示htx插槽,Socket F接口Opteron主板与服务器Computex展示
  20. 企业级服务器固态硬盘,普通SSD与企业SSD的区别_Intel服务器CPU_企业存储技术与评测-中关村在线...

热门文章

  1. 2019腾讯后台开发暑期实习面经汇总
  2. ebay OA题目汇总 (更新于20210728)
  3. 一家专业做SEO的公司介绍给大家|利槿网络
  4. FeiBoStr 斐波那契
  5. 实现Activity刷新 (转)
  6. wxWidgets搜索事件处理函数顺序
  7. Silverlight游戏设计(Game Design):(四)从零开始搭建游戏主体框架
  8. How do use my library
  9. 苹果CEO乔布斯如何工作
  10. smarty模板截取字符串乱码问题完美解决```````