您的位置:首页 > 编程语言 > Python开发

Python学习笔记:02 基础:变量、整数、字符串、赋值、基本输出、注释、代码块

2014-02-12 20:48 1036 查看
本篇讨论Python的一些基本语法,包括定义变量、使用整数和字符串,为变量赋值,打印到标准输出、注释、代码块几部分。可以在此位置下载本篇的所有代码:
https://code.csdn.net/snippets/188644/master/BasicGrammar.py/raw

字符串赋值

# String value assignment
myStr = "hello"
print "String variable 'myStr'" + \
', which is actually assgined as a value with type "String", now has value: \'' + myStr + '\''


注:

* Python是弱类型和无声明的。不需要,也不能够进行形如“String myStr”(C、Java风格)或者“Dim myStr As String”(Basic风格)的声明,甚至不允许只定义参数而不指定类型(例如“Dim myStr”这类语句也不允许)。

* 单引号和双引号都可以表示一个真实的String值,没有区别。

* 双引号中的单引号被理解为单引号字符串,无需转义。单引号中的双引号亦然。

* 单引号中要表示单引号字符串,前面必须加反斜杠“\”转义。双引号中要表示双引号亦然。

* Python编码规范(PEP8,后面介绍)建议一行含空格不要超过120个字符(尽管语法上这是允许的),如果一行过长,可以在多个代码元素之间使用反斜杠,表示将多行理解为一行。

* 多个String之间可以使用加号“+”连接

多行写在一行

print "You can"; print "put multiple code lines into one"


注:Python本身支持将多行代码放在一行中,以分号分隔。但是Python编码规范(PEP8)不建议这样写代码。

整数赋值

# Integer value assignment
x = 1
print "Integer value assignment:", x


注:

* 字符串和整数之间不能使用加号连接。print命令允许接受多个参数,最终打印输出时,参数之间用逗号分隔。实际打印的时候会在多个参数之间自动加1个空格。

整数类型自增

# Integer value self increase
x += 1
print 'Integer value self accumulate 1: %s' % x

x += 2
print 'Integer value self accumulate 2: %s' % x


注:

* 与C等语言中的“++”不同,“+=”操作符不会返回一个值。形如“y = x += 1”这样的表达式是非法的。
* 另一种将不同种类型合并成字符串输出的方式就是格式化字符串。使用“%<Formatter>”来在字符串中占位,然后在字符串后面用一个百分号,后跟需要填充的其它类型。Python提供了多种格式化方式,但最常见的是%s,即按照系统的默认方式来将任何值转成字符串,相当于Python中的“str()”函数,类似Java等语言中的“toString”。

连续、多重赋值

将多个变量赋值为同一个值:
# Continuously value assignment
x = y = z = 1
print 'Continuously value assignment: x = %s, y = %s, z = %s' % (x, y, z)


注:
* 这里顺便展示了使用多个占位符的方法。这种情况下,百分号后面要用括号来表示,并且参数个数要和占位符数量一致。

将多个变量分别赋值为不同的值:
# Multiple value assignment
x, y, z = 1, 2, 'hello'
print 'Multiple value assignment: x = %s, y = %s, z = %s' % (x, y, z)
(x, y, z) = (1, 2, 'hello')
print 'Multiple value assignment (syntax 2): x = %s, y = %s, z = %s' % (x, y, z)


注:
* 两种赋值方式(加括号不不加)对于最终结果没有影响。

空值

Python中有一个特殊的值“None”,类似Java中的空值。对空值的操作会产生类似空指针一样的错误,当然Python并不会报NullPointer这样的错误,因为None也被认为是一个对象,只是比较特殊,很多功能都没有。
x = 'None'
y = None
print 'The String "None" is:', x, ', while None value is:', y
print 'Length of String "None" is:', len(x)
print 'Length of None value is:', len(y)


注:
* x为字符串“None”,而y为None值(空值)。
* 当使用print命令打印时,二者效果一样
* 当使用一些操作函数时,字符串可以被正常操作,但None则会报错。

注释

单个井号“#”表示单行注释。
三个单引号“'''”表示块注释


* 和 shell 类似,写在文件开头的井号中的内容,如果符合关键字的话,是可以指定一些例如执行环境的信息的

* Python编码规范不建议对于一般注释使用块注释。块注释仅用于Documentation(即说明方法、类等的用途进行说明,最终生成用户的API手册)。PyCharm支持将多行代码进行行注释或去行注释。

缩进和代码块

Python 中以缩进而不是花括号来标记代码块。If语句、函数均是如此。缩进应当是4个空格,不能是tab。
应该严格执行缩进,否则会编译出错。

注释也要严格符合缩进,不符合本代码块的缩进会被认为是标志着该代码块的结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息