PYthon成长之路第一篇(1)__字符串初识
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PYthon成长之路第一篇(1)__字符串初识,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4214字,纯文字阅读大概需要7分钟。
内容图文
![PYthon成长之路第一篇(1)__字符串初识](/upload/InfoBanner/zyjiaocheng/1090/20b6af917b4e4310949ae490aa36c684.jpg)
在很多编程的书中都会以print “Hello,world!”这样的而一个程序为开始,那么hello,world是什么呢?这就是本章讲解的字符串(也即是一串字符)
一、单引号,双引号和转义引号
(1)在一般的时候 ‘Hello,world!’和“Hello,world!”是没有什么区别的,那么为什么会两个都可以用呢?是因为在某些情况下,他们会排上用处
![]()
View Code1 >>> "Hellow,world"2‘Hellow,world‘3 >>> ‘Hellow,world‘4‘Hellow,world‘
(2)在下面的代码中,第一段字符串包含了单引号,所以呢整体就不能用单引号包括起来,如果这样做的话,解释器就会抱怨(它这么做也是对的)
![]()
View Code1 >>> "Let‘s go!"2"Let‘s go!"3 >>> ‘Ler‘s go!‘4 SyntaxError: invalid syntax
(3)虽然上面的代码,用双引号执行时成功的,但是我们不一定要这么来去做,这里就涉及到转义(\),这样做Python就会明白其中一个单引号是一个字符
>>> ‘Ler\‘s go!‘
"Ler‘s go!"
二、字符串拼
(1)如果我们 想输出这样下例的字符,那么我们是不是需要用很多的(\),如果我们不想用反斜线怎么办?这里我们可以通过另外一种方法实现
我们只是接连写了两个字符串,Python会自动连成一个字符串(这种机制用的不多)
![]()
View Code1 >>> "\"Hellow\",world!"2‘"Hellow",world!‘3 >>> #字符串拼接45 >>> ‘"Hellow"‘‘,world!‘6‘"Hellow",world!‘
(2)另外一种方法就行+号一样将字符串拼接起来,下面是使用变量来定义字符
![]()
View Code1 >>> "Hellow,"+"world!"2‘Hellow,world!‘3 >>> x = "Hellow,"4 >>> y = "world!"5 >>> x+y 6‘Hellow,world!‘
注!python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
(3)在我们想将字符串跟数字相连时我们需要使用反引号,例如
![]()
View Code1 >>> aa = 22 2 >>> print"aaaa"+aa 3 4Traceback (most recent call last): 5 File "<pyshell#51>", line 1, in <module> 6print"aaaa"+aa 7 TypeError: cannot concatenate ‘str‘and‘int‘ objects 8 9 >>> print"aaaa"+`aa` 10 aaaa22
三、字符串表示str和repr
(1)在例子中我们发现,通过Pyrhon打印的字符串还是被引号括起来的,这是因为Python打印值的时候会保持在Python代码中的状态,如果你不想看见这个状态我们使用“Print”语句结果就不一样了
![]()
View Code1 >>> print"Hello,world"2Hello,world 3 >>> "Hello,world"4‘Hello,world‘56 >>> print 1000L 7 1000 8 >>> 1000L 9 1000L
(2)可以看到长整形数字1000L在print时候转换成1000,但是当我们想知道这个值是长整形还是整形怎么办,实际上字符串这两种机制都是由str和repr来实现的,srt我们称为对人类友好的也就是方便人类理解,repr对机器友好方便Python表达式下面我们举些例子
>>> print repr("Hello")
‘Hello‘
>>> print str("Hello")
Hello注意!在Python3.0中,已经不在使用反引号了
四、input和raw_input的比较(用户交互)
(1)我们已经知道了“Hello,“+name+”!”是什么意思了,那么raw_input和input是什么区别呢我没看下面的例子,这个例子看似很合理但是执行是错误的
![]()
View Code1 >>> name = input("what is you name?") 2 what is you name?xiaoyuan 34Traceback (most recent call last): 5 File "<pyshell#59>", line 1, in <module> 6 name = input("what is you name?") 7 File "<string>", line 1, in <module> 8 NameError: name ‘xiaoyuan‘isnot defined
这是因为,要求我们输入用户名使用引号
![]()
View Code1 >>> name = input("what is you name?") 23 what is you name?"xiaoyuan"4 >>>
所以呢我们尽量使用raw_input,在3.5版本中取消了raw_input
五、长字符串、原始字符串
(1)长字符串,如果需要写一个非常非常长的字符串,它需要跨多行,那么,可以使用3个引号代替普通的引号,
![]()
View Code1 >>> print‘‘‘ Hi there you are outside 2Please sign for it‘‘‘3Hi there you are outside 4 Please sign for it
对于普通的引号,可以使用\n来换行
![]()
View Code1 >>> print"Hi there you are outside \n Please sign for it"2Hi there you are outside 3 Please sign for it
(2)我们知道了,\n可以来换行,如果我们想要输出一个路径”C:\new”这样的字符串,我们该怎么办呢!
![]()
View Code1 >>> new = "C:\new"23 >>> print new 4C: 5 ew
当然我们可以使用反斜线来转意,但是当路径非常长的时侯呢?所以这里我们使用原始字符串:以r开头
![]()
View Code1 >>> new = r"C:\new"2 >>> print new 3 C:\new
六、字符编码
(1)在Python解释器加载.py 文件中的代码时,会对内容进行编码(默认ascill)ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
(2)很显然显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode,Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多(3)UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是代码当中有中文就会报错。
#!/usr/bin/env python
print "你好明天"File "E:/pycharm/exercise/date_1/???????/ceshi-2.py", line 2
SyntaxError: Non-ASCII character ‘\xe4‘ in file E:/pycharm/exercise/date_1/???????/ceshi-2.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details所以应该告诉Python解释器用什么编码来执行源代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"你好明天"
七、注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
八、Python内部执行过程
(1)当我们执行某个.py的文件时,我们Python内部时这样执行的
原文:http://www.cnblogs.com/bj-xy/p/5090367.html
内容总结
以上是互联网集市为您收集整理的PYthon成长之路第一篇(1)__字符串初识全部内容,希望文章能够帮你解决PYthon成长之路第一篇(1)__字符串初识所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。