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

python 学习记录(6)-模块导入/变量/常量/注释/语句分隔

2012-07-16 22:41 811 查看
1.1 模块的导入

#!/usr/bin/python

# -*- coding: UTF-8 -*-

#规范导入方式

import sys

print sys.path #利于path的理解,是来自sys

print sys.argv

#不规范导入方式

from sys import path

from sys import argv

print path

print argv

1.2 代码块的分割

#!/usr/bin/python

# -*- coding: UTF-8 -*-

class A:

def funX(self):

print "funY()"

#换行

def funY(self):

print "funY()"

#换行

if __name__ == "__main__":

a = A()

a.funX()

a.funY()

1.3 注释的使用

# Copyright (C) 2008 bigmarten *****版权

#

# This program is free software. you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by
*******说明

# the Free Software Foundation

#

########################################################################

#

# Version is 1.0 *******版本

#

# Its contents are calculate payment.

#

########################################################################

# 规范的变量命名

sumPay = 0 # 年薪

bonusOfYear = 2000 # 年终奖金

monthPay = 1200 # 月薪

sumPay = bonusOfYear + 12 * monthPay # 年薪 = 年终奖金 + 12 * 月薪

# 注释在调试程序中的作用----通过注释某些行或函数来确定问题

def compareNum(num1, num2):

if(num1 > num2):

return str(num1)+" > "+str(num2)

elif(num1 < num2):

return str(num1)+" < "+str(num2)

elif(num1 == num2):

return str(num1)+" = "+str(num2)

else:

return ""

num1 = 2

num2 = 1

print compareNum(num1, num2)

num1 = 2

num2 = 2

print compareNum(num1, num2)

num1 = 1

num2 = 2

print compareNum(num1, num2)

1.4 语句的分隔

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 下面两条语句是等价的

print "hello world!"

print "hello world!"; #也可以加分号

# 使用分号分隔语句

x = 1; y = 1; z = 1

# 一条语句写在多行

print \

"hello world!"

# 字符串的换行

# 写法一

sql = "select id,name \ #一串换行

from dept \

where name = 'A'"

print sql

# 写法二

sql = "select id,name " \ #分成多串

"from dept " \

"where name = 'A' "

print sql

#写法三

sql = '''select id,name \

from dept \

where name = 'A' ''' #采用 ‘’‘ ’‘’‘

print sql

输出:

hello world!

hello world!

hello world!

select id,name from dept where name = 'A'

select id,name from dept where name = 'A'

1.5 变量和常量

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 下面的两个i并不是同一个对象

i = 1

print id(i)

i = 2

print id(i)

# 正确的变量命名

var_1 = 1

print var_1

_var1 = 2

print _var1

# 错误的变量命名 #需要以字母或下划线开头

1_var = 3

print 1_var

$var = 4

print $var

1.6 变量的赋值

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 一次新的赋值操作,将创建一个新的变量

x = 1

print id(x)

x = 2

print id(x)

#print y # y无定义,错误

# 使用元组给多个变量赋值

a = (1, 2, 3)

(x, y, z) = a

print "x =", x

print "y =", y

print "z =", z

# 局部变量

def fun():

local = 1

print local

fun()

#调用全局变量

文件一

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 全局变量

global _a # 用global 声明

_a = 1

_b = 2

文件二

#!/usr/bin/python

# -*- coding: UTF-8 -*-

#调用全局变量

import gl
#导入 gl 模块

def fun():

print gl._a

print gl._b

fun()

文件三

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 在文件的开头定义全局变量

_a = 1

_b = 2

def add():

global _a
#引用全局变量

_a = 3

return "_a + _b =", _a + _b

def sub():

global _b
#引用全局变量

_b = 4

return "_a - _b =", _a - _b

print add()

print sub() # 输出:('_a + _b =', 5) 3+ 2 = 5

('_a - _b =', -1) 3-4 = -1

# 错误的使用全局变量

_a = 1

_b = 2

def add():

_a = 3

return "_a + _b =", _a + _b

def sub():

_b = 4

return "_a - _b =", _a - _b

print add()

print sub() # 输出:('_a + _b =', 5) 3 +2 =5

('_a - _b =', -3) 1-4 = -3

常量

文件 1

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import const

const.magic = 23

const.magic = 33 #常量被第二次赋值,会报错

文件 2

class _const: #定义类

class ConstError(TypeError): pass #重复赋值时抛出错误类型

def __setattr__(self,name,value):

if self.__dict__.has_key(name): #检查name是否是常量

raise self.ConstError, "Can't rebind const(%s)"%name

self.__dict__[name]=value

import sys

sys.modules[__name__]=_const()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: