有一些代码是直接打的懒得复制,忘记打提示符了。。。凑合看吧
第四章 基本概念
4中类型数:整数、长整数、浮点数、复数。
单引号和双引号在字符串使用中相同。但只能单行用。
______________________________________________________
>>> print ""a""
SyntaxError: invalid syntax
>>> print "'a'"
'a'
>>> print '"a"'
"a"
>>>
————————————————————————————————
三引号:
单引号是最基本的,双引号一般在字符串内有单引号字符的情况下使用,三引号可以用来做段注释(有点类似/**/),也可以用来做很多行的字符串的引入。三引号是多行字符串,可以直接输入回车,而不需要用\n来表示。
---------------------
双引号所表示的字符串通常要写成一行
如果要写成多行,那么就要使用\ (“连行符”)吧,否则会出现错误。
>>> print "abc\
abc"
abcabc
>>>
--------------------
如果你用3个双引号的话,就可以直接写了,如下:
>>> """hello,
world,
hahaha."""
'hello,\nworld,\nhahaha.'
注意“\n”,所以,如果你的字符串里\n很多,你又不想在字符串中用\n的话,那么就可以使用3个双引号。
>>> print """abc
abc"""
abc
abc
>>>
--------------------
而且使用3个双引号还可以在字符串中增加注释,如下:(尼玛这个有什么用?)
>>> """hello, #hoho, this is hello
world, #hoho, this is world
hahaha."""
'hello, #hoho, this is hello\n\nworld, #hoho, this is world\nhahaha.'
---------------------
多行注释tmp = 1
'tmp = 2'
print tmp
最后打印出来的值是1。
同理,也可以使用"tmp = 2"或是"""tmp = 2""" ,一样的效果。
但是使用单引号或双引号有个前提,必须单行,而三引号就没这个限制了。
______________________________________________________________
转义符:'What\'s your name?' 另一个表示这个特别的字符串的方法是"What's your name?",即用双引号。另外还有“三引号”时提到的连行作用。
自然字符串:特殊字符失去意义,通过给字符串加上前缀r或R来指定。例如
x='a'
print x
print "\n"
print r"\n"
a
\n
自然字符不能以\结尾
a=r"xuyong\quan\"
这种语法是错误的。
我们只能用另外一个办法:
a="xuyong\\yong\\"
a=r"xuyong\quan" +"\\"
这两种方法都是可以的。前者就干脆不用自然字符串模式,后者,是避开这种模式bug!
——————————————————————————————————————————
Unicode字符串:u或者U前缀>>> print u"\u3232\u6674"
㈲晴
>>>
————————————————————————————————————————
字符串是不可变的
字符串的方法,只是新建的一个对象,一个新的字符串。字符串是不可变的,所以不能对其进行赋值
>>> mystr="Test string"
>>> mystr[0] = 't'
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
mystr[0] = 't'
TypeError: 'str' object does not support item assignment
——————————————————————————————————————
把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,'What\'s''your name?'会被自动转为"What's your name?"。只有情况3和4才是正确的自动连级。
>>> print "a","b"#情况1
a b
>>> print "a""b"#情况2
File "<pyshell#12>", line 1
print "a""b"
^
IndentationError: unexpected indent
>>> print 'a''b'#情况3
ab
>>> print "a"'b'#情况4
ab
>>> print 'b'"a"#情况5
File "<pyshell#15>", line 1
print 'b'"a"
^
IndentationError: unexpected indent
我们需要一种既可以储存信息 又可以对它们进行操作的方法。这是为什么要引入 变量 。变量就是我们想要的东西——它们的值可以变化,即你可以使用变量存储任何东西。
Python把在程序中用到的任何东西都称为对象。
——————————————————————————
逻辑行与物理行
物理行是在你编写程序时的一行。逻辑行是python看见的单个语句。分号表示一个逻辑行的结束。
>>> i=5;print i
5
>>>
行连接
print \
i
与如下写法效果相同:print i
——————————————————————————————