码迷,mamicode.com
首页 > 编程语言 > 详细

python第三天,字符串续

时间:2018-03-08 23:04:15      阅读:392      评论:0      收藏:0      [点我收藏+]

标签:namespace   如何   not   双引号   开发项目   spec   har   info   细节   

  

字符串类型

在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 arent 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 youre Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, its a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- lets 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程序员来说都应易于理解。

python第三天,字符串续

标签:namespace   如何   not   双引号   开发项目   spec   har   info   细节   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!