最近除了忙着论坛那边,就是忙着攻克Python,都好久没来更新了。今天暂且发出一小部分之前自学时做的笔记吧。假期忽然对脚本语言产生了兴趣,最终选择了这个先学着(其实看了《黑客与画家》后也挺想学学Lisp的,后来看到有那么多分类什么的就暂时放弃了o(>﹏<)o)。之后去了贴吧、知乎等地寻找资源与方法,再大致看了基本教程书籍后最终选择了《简明 Python 教程》作为入门书。 之所以选它是由于之前已经有了一部分编程知识,在学了c、C++、Java的基础后,虽然在编程路上依旧是新人,但毕竟算不上一点也不懂的小白了,而《简明 Python 教程》真正做到了简明扼要,让初入门的我一看便能理解的差不多,感觉这才是我现在需要的那种学习资料,如实它成了我学习Python的第一本书。
1通常当你想看变量内容时,你会在代码中使用 print 语句输出。不过在交互式解释器中,你可以用 print 语句显示变量的字符串表示,或者仅使用变量名查看该变量的原始值。
>>> myString = 'Hello world!'
>>> print myString
输出效果: Hello world!
>>> myString
输出效果: 'Hello world!'
>>> myString1 = "Hello Python"
>>> print myString1
输出效果: Hello Python
>>> myString1
输出效果: 'Hello Python'
注意:在仅用变量名时,输出的字符串是被用单引号括起来了的。这是为了让非字符串对象也能以字符串的方式显示在屏幕上--即它显示的是该对象的字符串表示,而不仅仅是字符 串本身。引号表示你刚刚输入的变量的值是一个字符串。
print 语句调用str()函数显示对象,而交互式解释器则调用repr()函数来显示对象。
2.下划线(_)在解释器中表示最后一个表达式的值。所以上面的代码执行之后,下划线变量会包含字符串:
>>> _
输出效果: 'Hello Python'
3. print 语句,与字符串格式运算符( % )结合使用,可实现字符串替换功能。其中:
%s 表示由一个字符串来替换,%d 表示由一个整数来替换,%f 表示由一个浮点数来替换。符号 >> 用来重定向输出
>>> print "%s is number %d"%("Python",1)
输出效果: Python is number 1
将输出重定向到标准错误输出
>>> import sys
>>> print >>sys.stderr,'Fatal error:invalid input!'
输出效果:
Fatal error:invalid input!
例 1-3-3:将输出重定向到日志文件
logfile = open('/tmp/mylog.txt', 'a')
print >> logfile, 'Fatal error: invalid input!'
logfile.close()
user = raw_input("enter login name")
enter login name root
>>> print "Your Login is:",user
Your Login is: root
你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。
在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What's your name?"。
利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。例如:
'''This is a multi-line string. This is the first line.
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''
在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行,如
"This is the first sentence.
This is the second sentence."
等价于
"This is the first sentence. This is the second sentence."
如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自
然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如r"Newlines are indicated by n"。
即:
>>> r"Newline are indicated by sn"等价'Newline are indicated by s\n'
打印出来:
Newlines are indicated by n
例:
>>> s = r"Newlines are indicated by n"
>>> s
'Newlines are indicated by \n'
>>> print s
Newlines are indicated by n
例:
>>> s =u"This's a Unicode string."
>>> s
u"This's a Unicode string."
>>> print s
This's a Unicode string.
字符串是不可变的;
按字面意义级连字符串;
例:
>>> 'What's' 'your name?' "What'syour name?"
在Python中没有专门的char数据类型
单引号和双引号字符串是完全相同的
一定要用自然字符串处理正则表达式
物理行是你在编写程序时所看见的。
逻辑行是Python 看见 的单个语句。
Python假定每个 物理行 对应一个 逻辑行 。
多个物理行中写一个逻辑行的例子。它被称为明确的行连接。
有时候,有一种暗示的假设,可以使你不需要使用反斜杠。这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。这被称为暗示的行连接。
建议坚持在每个物理行只写一句逻辑行。仅仅当逻辑行太长的时候,在多于一 个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而让代码更加易读。
在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。我 强 烈建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 。 选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这 一种风格。