
最近除了忙着论坛那边,就是忙着攻克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 sNewlines are indicated by n
例:
>>> s =u"This's a Unicode string."
>>> su"This's a Unicode string."
>>> print sThis's a Unicode string.
字符串是不可变的;
按字面意义级连字符串;
例:
>>> 'What's' 'your name?' "What'syour name?"在Python中没有专门的char数据类型
单引号和双引号字符串是完全相同的
一定要用自然字符串处理正则表达式
物理行是你在编写程序时所看见的。
逻辑行是Python 看见 的单个语句。
Python假定每个 物理行 对应一个 逻辑行 。
多个物理行中写一个逻辑行的例子。它被称为明确的行连接。
有时候,有一种暗示的假设,可以使你不需要使用反斜杠。这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。这被称为暗示的行连接。
建议坚持在每个物理行只写一句逻辑行。仅仅当逻辑行太长的时候,在多于一 个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而让代码更加易读。
在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。我 强 烈建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 。 选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这 一种风格。