189 8069 5689

pythontem函数 pythonnorm函数

python 类里面的函数总是报错显示没有定义

buildMatrix类TSP中的函数,所以在类内部调用的话,需要加上self. ,否则会被当成外部函数,所以提示未定义

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了武都免费建站欢迎大家使用!

使用python的nose测试库出现的问题

两个函数同名了,

test_below_f

后定义把前面定义的覆盖了

python 字符与数字如何转换

一、python中字符串转换成数字

(1)import string

t='555'

ts=string.atoi(tt)

ts即为tt转换成的数字

转换为浮点数 string.atof(tt)

(2)直接int

int(tt)即可。

二、数字转换成字符串

tt=322

tem='%d' %tt

tem即为tt转换成的字符串

扩展资料:

Python 是一门有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java.Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

参考资料:百度百科:PYTHON

python中关于如何在一个函数中把属性设置为列表名的问题,下面这个函数并不会改变列表形式,求指教。

在Python中,对象分为两种:可变对象和不可变对象,不可变对象包括int,float,long,str,tuple等,可变对象包括list,set,dict等。需要注意的是:这里说的不可变指的是值的不可变。对于不可变类型的变量,如果要更改变量,则会创建一个新值,把变量绑定到新值上,而旧值如果没有被引用就等待垃圾回收。可变类型数据对对象操作的时候,不需要再在其他地方申请内存,只需要在此对象后面连续申请(+/-)即可,也就是它的内存地址会保持不变,但区域会变长或者变短。

在你的change方法中参数对象是个列表,该变量在执行过程中引用了方法外部的I列表,在执行到方法的最后,numberlist突然引用了方法内的newlist的地址,这个newlist的是新申请的。所以并没有改变外部变量I的值。下面是我写的,可以变更外部列表对象的值,因为他直接操作了外部列表内的值

def func_list(a_list):

a_list[0] = 4

t_list = [1, 2, 3]

func_list(t_list)

print t_list

# output: [4, 2, 3]

用 python编写华氏摄氏度的相互转换

# -*- coding:utf-8 -*-

select=int(raw_input('请选择:\t1.摄氏度转华氏温度\t2.华氏温度转摄氏度\n'))

if select==1 or select==2:

tem=raw_input('请输入需要转换的温度:\n')

try:

tem=float(tem)

if select==1 and tem-273.15:

print 'Tem Error!'

exit()

elif select==2 and tem-459.67:

print 'Tem Error!'

exit()

if select==1:

newtem=32+tem*1.8

elif select==2:

newtem=(tem-32)/1.8

print '转换后的温度是:%.2f'%newtem

except Exception:

print 'Tem Error!'

exit()

else:

print 'Select Error!'

exit()

请选择: 1.摄氏度转华氏温度 2.华氏温度转摄氏度

1

请输入需要转换的温度:

100

转换后的温度是:212.00

请选择: 1.摄氏度转华氏温度 2.华氏温度转摄氏度

2

请输入需要转换的温度:

100

转换后的温度是:37.78

如何用Python写一个web框架

STEP.1

我们首先得选择基于什么协议来写这种框架。我们可以选择CGI协议,或者是WSGI接口。如果使用CGI,实际上我们只是按着CGI的规范写了一个python程序,然后每次服务器收到请求,就fork一个程序来执行它,然后返回一个http文档,性能比较低下。对于WSGI,而是一个存在于服务器和应用间的接口,在WSGI之前,web应用都是依赖于服务器的,现在流行的python框架都支持WSGI接口。

STEP.2 PEP-333

这一段是PEP-333 所提供的样例代码。

def simple_app(environ, start_response):

"""Simplest possible application object"""

status = '200 OK'

response_headers = [('Content-type', 'text/plain')]

start_response(status, response_headers)

return ['Hello world!\n']

这里的application被传入了两个值。

environ

start_response。

environ是一个字典,保存了http请求的信息。

start_response是一个函数,发送http响应。她有两个参数status 和 start_headers。

status必须是由状态编号和具体信息组成的字符串,必须符合RFC 2616。

start_headers是一个(header_name,header_value) 元组的列表元组列表。其中的hearder_name必须是合法的http header字段名。在RFC 2616, Section 4.2中有详细定义。

当然官方还给出了类的实现。

def __init__(self, environ, start_response):

 self.environ = environ

 self.start = start_response

def __iter__(self):

 status = '200 OK'

 response_headers = [('Content-type','text/plain')]

 self.start(status, response_headers)

 yield "Hello world!\n"

了解了如上信息后,基本上可以开始了。我们就到官方给的代码上进行修改吧。

STEP.3 将路径链接到函数

首先我们得把用户请求的路径,链接到函数。我们可以实现一个getPage方法,专门做这件事。我们所拥有的信息,只有environ['PATH_INFO']。

urls = [('^/index/$','func_index'),

 ('^/comment/$','func_comment'),

 ('^/environ/$','get_environ'),

 ('^/post/$','post_test')]#urls是提供给app开发者来做链接的。

def getPage(self):

 path = self.environ['PATH_INFO']

 for pattern in self.urls:

     m = re.match(pattern[0],path)#将urls元素的第0项和path进行比对,如果匹配上了,返回函数名

     if m:

         function = getattr(self,pattern[1])#getattr方法来得到函数

         return function()

 return '404 not found'#没匹配上任何东西

写到这里之后,每次添加页面,就只需要在urls列表中添加一个元祖就行了。

STEP.4 获取模版

既然是写web app,模版肯定是得有的。这里我提供了一种getTemplate方法来做这件事。不过我只提供了变量的替换。

def getTemplate(self,tem_name,rep=0):

 #这个函数返回内容,tem_name是文件名字

 #参数rep是一个字典,默认为0

 f = open('template/'+tem_name)

 html = f.read()

 if(rep!=0):

     for to_replace in rep:

         strinfo = re.compile('\{\%\s*'+str(to_replace)+'\s*\%\}')

         html = strinfo.sub(rep[to_replace],html)

 return html

STEP.5 POST数据的处理

要想获取POST数据,我们得通过environ['wsgi.input']来处理。而他实际上就是系统的标准输入。

environ['wsgi.input']        = sys.stdin

知道这点后就很好写了。

def getPost(self):

 if(self.environ['REQUEST_METHOD'] == 'POST'):

     try:

         request_body_size = int(self.environ.get('CONTENT_LENGTH', 0))#读出content_length的值

     except:

         request_body_size = 0

     request_body = self.environ['wsgi.input'].read(request_body_size) #请求的body

     post_data = parse_qs(request_body)#parse_qs是cgi提供的方法,帮助我们处理请求

     return post_data

数据库的链接

import MySQLdb

class Model(object):

def __init__(self):

     self.host = 'localhost'

     self.port = 3306

     self.user = 'admin'

     self.passwd = 'admin'

     self.db = 'xieyi'

def build_connect(self):

 self.conn = MySQLdb.connect(

     host = self.host,

     port = self.port,

     user = self.user,

     passwd = self.passwd,

     db = self.db

     )

def exec_ins(self,ins):

 cur = self.conn.cursor()

 num = cur.execute(ins)

 info = {}

 if(num0):

     info = cur.fetchmany(num)

 cur.close()

 self.conn.commit()

 return info

def close(self):

 self.conn.close()

STEP.6 清理工作

很多配置如果放到代码中,会增加阅读负担。于是把urls,model抽取出来。

使得配置更加方便。


分享文章:pythontem函数 pythonnorm函数
文章来源:http://cdxtjz.cn/article/hhsjhi.html

其他资讯