python第三天,字符串续

  

字符串类型

在python中字符串类型可以用 成对单引号,如:‘你好,中国。‘; 也可以用成对双引号,如:"厉害了,我滴国"。代码如下:

  

通过.title(),可以将一段话的首字母变为大写字母,如:“i love you!”

  

通过.upper()和.lower()可以将字符串全部变为大写或小写,如:

  

  存储数据时,方法lower()很有用。很多时候,你无法依靠用户来提供正确的大小写,因此需要讲字符串先转化为小写,再存储它们。以后需要显示这些信息时,在将其转换为最合适的大小写方式。
  这种情况在我们输入网站验证码的时候很有用,我们在注册一个新的网站的时候也经常遇到这样的问题,网站要求我们输入验证码,但是无论我们输入的是大写的还是小写的都没有关系。
假如:网站后台提供了随机的验证码,有大写有小写,里面肯定存在这转换机制,将我们输入的验证码转换为统一的格式在跟后台生成的验证码进行比较,比如:

#网站随机生成的验证码,有大写还有小写
site_verification_code = "ABadf"
#输入用户看到的验证码,用户可以随便输入,不管大小写都没有关系
user_verification_code = input("Please enter the verification code: ")

if user_verification_code.lower() == site_verification_code.lower():
    #如果用户输入的验证码(转换为小写格式)跟网站随机生成的验证码是一致的,那么用户就可以进入网站,否则就需要重新输入
    print("Welcome to Baidu.")
else:
    print("The code you entered is incorrect, please re-enter: ")
results:

Please enter the verification code: abadf
Welcome to Baidu

  我们输入abadf或者abADf,只要是跟网站随机生成的验证码一致,最后都会进入到网站里面,这就与验证码的验证机制类似;
假如我们输入了错误的验证码,比如acadf,看结果是怎样的如下:

results:
Please enter the verification code: acadf
The code you entered is incorrect, please re-enter: 

  这个时候程序运行结果提示我们,我们输入的验证码是错误的,需要我们重新输入,当然这个程序没有加入循环语句,这个是可以添加循环的,可以是无限循环,也可以设置输入多少次,编程就是对现实世界的描述,在编程中体现它。

合并拼接字符串

  在很多情况下,都需要合并字符串。例如,我们可能将姓和名存储在不同的变量中,等要显示姓名时,再将它们合二为一:

  

  Python使用加号(+)来合并字符串。在这个实例中,我们使用+来合并first_name、空格和last_name,以得到完整的姓名,在Python中,编程是可以美丽的,让程序看起来整洁漂亮,所以需要时刻修饰代码,让代码看起来整洁美观。
  比如添加一些空格、换行符、特殊符号(-," "等),制表符等,让代码看起来整齐有序,让人有一种享受感,耳目一新。 

使用制表符或换行符来添加空白   

  在编程中,空白泛指任何非打印字符,如空格、制表符和换行符。我们可以只用空白来组织输出,以使代码更易读,而且美观有序。
  要在字符串中添加制表符,可使用字符组合\t;要在字符串中添加换行符,可使用字符组合\n:

  

  

删除空白

  在程序中,额外的空白可能令人迷惑。如"python"和"python "看起来几乎没有什么两样,但是对程序来说,它们是两个不同的字符串,Python能够发现"python "中的额外空白,并认为它们是有意义的--除非你告诉它不是这样的。

  在学习取出末尾空白之前我们先学习下如何获取字符串长度,这个时候我们会利用到len(),如图:

  通过这个方法,我们可以看出有三个空格在subject中,那么我们通过rstrip()来确保末尾没有空格也就是去除末尾的3个空格,如图所示

  

  

  在上面程序中,我们对程序进行了处理,输出了原始程序以及长度,还有剔除空格后的长度,可以看出,在Python中,加空格和不加空格是不一样的,必要的时候要剔除多余的空格。
  python提出空格有三种方法,rstrip()、lstrip()和strip()。
  单词strip的含义是:除去,剥去;剥夺;删除;清除,拆除,在Python中主要是删除空格,rstrip()是删除单词右边的空格,lstrip()是left+strip的缩写,意思是删除单词左边的空格,制霸单词strip()是删除单词两侧的空格;
  学过excel函数的应该知道,excel函数trim()也是为了删除空格的,但是它能删除单词中间的空格,在Python中strip()方法是不可以的,只能删除两侧的空格:
  比如:在excel中,trim(" I love Python ") = "I love Python",但是在Python中,使用strip()方法,得到的结果是:"I love Python"是无法删除字符串中间的字符的。
  然而,这种删除只是暂时的,并没有真正的从favorite_language中删除右边的空格,只是在输出结果的时候我们得到了我们想要看到的结果。
  要永久删除这个字符串中的空白,必须将删除操作的结果存回到变量中:
  favorite_language = favorite_language.rstrip()
  为删除这个字符串中的空白,需要将其末尾的空白删除,在将结果存回到原来的变量中。在编程中,经常需要修改变量的值,在将新值存回到原来的变量中。这就是变量的值可能随程序的运行或用户的输入数据而发生变化的原因。

数字转字符串

  在开发过程中,很多时候我们会用到字符串和数字进行组合,如果强行进行转换是会报错的,如图:

  

  那么如果想要将两种类型合在一起使用,这个时候我们用到了str()这个方法,如图:

  

  有数字的时候一定要转化为字符串才能够合并拼接

使用字符串时避免语法错误

  Python对输入的单词很严格,大小写,字符格式等都要严格终于,有一个地方出错系统就会报错,我也经常遇到这样的问题,比如字符串和数字拼接,经常会忘记把数字转化为字符串,这样系统就会报错。

Python之禅

  编程语言Perl曾在互联网领域长期占据着统治地位,早期的大多数交互式网站使用的都是Perl脚本。彼时,“解决问题的办法有多个”被Perl社区奉为座右铭。
  这种理念一度深受大家的喜欢,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在开发项目期间,这种灵活性是可以接受的,但大家最终认识到,
  过于强调灵活性会导致大型项目难以维护:要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量的时间。
  经验丰富的程序员倡导尽可能避繁就简,Python社区的理念都包含在Tim Peters编写的“Python之禅”中。要获悉这些有关编写优秀Python代码的指导原则,只需要在解释器中执行命令
  import this。就能查看编写程序的原则,指导性意见。
  

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren‘t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you‘re Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it‘s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let‘s do more of those!

  Beautiful is better than ugly.
  Python程序员笃信代码可以编写的漂亮而优雅。编程是要解决问题的,设计良好、高效而漂亮的解决方案都会让程序员心生敬意。随着对Python的认识越来
越深入,并使用它来编写越来越多的代码,有一天也许会有人站在你后面惊呼:“哇,代码编写的真是偏亮!”

  Simple is better than complex.
  如果有两个解决方案,一个简单,一个复杂,但都行之有效,就选择简单的解决方案吧。这样,你编写的代码将更容易维护,你或他人以后改进这些代码时也会
更容易。
  Complex is better than complicated.
  现实是复杂的,有时候可能没有简单的解决方案。这种情况下,就选择最简单可行的解决方案吧。
  Readability counts.
  即便是复杂的代码,也要让它易于理解。开发的项目涉及复杂代码时,一定要为这些代码编写有益的注释。
  There should be one -- and preferably only one --obvious way to do it.
  如果让两名Python程序员去解决同一个问题,他们提供的解决方案应大致相同。这并不是说编程没有创意空间,而是恰恰相反!然而,大部分编程工作都是
  使用常见解决方案来解决简单的小问题,但这些小问题都包含在更庞大、更有创意空间的项目中。在你的程序中,各种具体细节对Python程序员来说都应易于理解。

原文地址:https://www.cnblogs.com/pengpengzhang/p/8531196.html

时间: 2024-10-18 13:53:23

python第三天,字符串续的相关文章

python (三)字符串处理

h2 { margin-top: 0.46cm; margin-bottom: 0.46cm; direction: ltr; line-height: 173%; text-align: justify; page-break-inside: avoid; orphans: 0; widows: 0 } h2.western { font-family: "DengXian Light", serif; font-size: 16pt } h2.cjk { font-family:

Python学习系列(三)(字符串)

Python学习系列(三)(字符串) 一个月没有更新博客了,最近工作上有点小忙,实在是没有坚持住,丢久又有感觉写的必要了,可见本人的坚持精神不佳,本系列没有任何目的,纯属业余学习,或者说是一时兴趣所致.通过本文,能够学习字符串的基本操作,日积月累,多多练习,学到了,会用了才是王道. 一.基本概念 1,关于转义问题 1)"''"方式: >>> s="Hello 'Jack'--" >>> print s Hello 'Jack'--

python基本数据类型之字符串(三)

python基本数据类型之字符串(三) 转换和判断方法 在python中,有一些内置方法可以将字符串转化特定形式,而与之对应的一些方法可以判断字符串是否符合某些形式.因此,在这篇文章中,笔者把转换方法和相应的判断方法放在一起进行讲解. 这些方法包括:capitalize.casefold.lower\islower.upper\isupper.maketrans\translate.swapcase.title\istitle 1.capitalize.title.istitle capital

python基础三(字符串)

一.字符串 1.1什么是字符串 字符串是python中不可变的一种数据类型,主要用来表示文本. 1.2创建一个字符串 a是变量名称右边是双引号里的字符,只要是被引号引起的python都会认为是字符串. 这里采用的是单引号,结果和上图双引号完全相同,那么为什么还有单引号和双引号呢?因为在某些情况下可能会很适用. 下图中第一个字符串包含一个单引号(这里叫撇感觉更合适),因此不能使用单引号将字符串括起,否则会报错.这里就用到了双引号.注释:在上图中字符串为'Let',因此python不知道如何处理余下

python第三天基础之字符编码

一 了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失 因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上. 在这一点上,我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已. 2. python解释器执行py文件的原理 ,例如python test.py 第一阶段:python解释器启动,

Python基础总结(字符串常用,数字类型转换,基本运算符与流程控制)

一.字符串常用操作 #Python strip() 方法用于移除字符串头尾指定的字符(默认为空格) name='*egon**' print(name.strip('*'))#移除 name 变量对应的值两边的*,并输出处理结果 print(name.lstrip('*'))#移除 name 变量左边的*,并输出处理结果 print(name.rstrip('*'))#移除 name 变量右边的*,并输出处理结果 #startswith,endswith name='alex_SB' print

python基础2之字符串、列表、字典、集合

内容概要: 一.python2 or 3 二.字符串拼接 三.字符串 四.列表.元祖 五.字典 六.集合 七.练习  一.python2 or python3 目前大多使用python2.7,随着时间的推移,python3将会成为python爱好者的主流. python2和3区别: 1.PRINT IS A FUNCTION 1 Old: print "The answer is", 2*2 New: print("The answer is", 2*2) 2 Ol

python学习笔记一--字符串

一.字符串: (一)字符串里单个元素的操作 1. 单个字符(元素)的序列组合. 2. 序列:单个字符的位置 3. 序列的操作:内置函数len获取长度,加位置索引 4. 获取字符串的里的元素:正向索引+反向索引 (二)字符串里多个元素的操作:分片 1. X[I:J]:取出X中从偏移量为I,直到但不包括偏移量为J的元素. 2. 一个分片中,左边界默认为0,并且右边界默认为分片序列的长度. 3. 作为序列,字符串支持使用加号进行合并,或重复. (三)字符串的内置方法及函数的调用: 1. 查询字符串支持

python中列表元组字符串相互转换

python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示: >>> s = "xxxxx" >>> list(s) ['x', 'x', 'x', 'x', 'x'] >>> tuple(s) ('x', 'x', 'x', 'x', 'x') >>> tuple(list(s)) ('x', 'x', 'x', 'x', 'x')