python 3.4 中原来的tkMessageBox变成什么了?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 3.4 中原来的tkMessageBox变成什么了?相关的知识,希望对你有一定的参考价值。

1、在python3.4中,原来的tkMessageBox变成tkinter.messagebox,效果如下图。



扩展资料

python的应用

1、系统编程:提供API(Application Programming Interface应用程序编程接口),是很多系统管理员理想的编程工具。

2、图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

3、数学处理:NumPy扩展提供大量与许多标准数学库的接口。

4、文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。

5、数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,mysql、SQLite等数据库通信。

6、python自带有一个Gadfly模块,提供了一个完整的SQL环境。

7、网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。 

8、Web编程:应用的开发语言,支持最新的XML技术。

9、多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。 

10、pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, android系统上的AVG游戏。

参考资料:

百度百科-python

参考技术A

在python3.4中,原来的tkMessageBox变成tkinter.messagebox,使用方式如下:

import tkinter.messagebox
tkinter.messagebox.askokcancel('提示','这是一个消息框')

效果如下:

备注:

tkinter.messagebox中有如下函数:

askokcancel(title=None, message=None, **options)

Ask if operation should proceed; return true if the answer is ok

askquestion(title=None, message=None, **options)

Ask a question

askretrycancel(title=None, message=None, **options)

Ask if operation should be retried; return true if the answer is yes

askyesno(title=None, message=None, **options)

Ask a question; return true if the answer is yes

askyesnocancel(title=None, message=None, **options)

Ask a question; return true if the answer is yes, None if cancelled.

showerror(title=None, message=None, **options)

Show an error message

showinfo(title=None, message=None, **options)

Show an info message

showwarning(title=None, message=None, **options)

Show a warning message

参考技术B question in stackoverflow and below is the solution:
The package Tkinter has been renamed to tkinter in Python 3, as well as other modules related to it. Here are the name changes:

Tkinter → tkinter
tkMessageBox → tkinter.messagebox
tkColorChooser → tkinter.colorchooser
tkFileDialog → tkinter.filedialog
tkCommonDialog → tkinter.commondialog
tkSimpleDialog → tkinter.simpledialog
tkFont → tkinter.font
Tkdnd → tkinter.dnd
ScrolledText → tkinter.scrolledtext
Tix → tkinter.tix
ttk → tkinter.ttk

I advise you to learn how to dynamically browse the modules with the dir command. If you are under windows, configure Python to use readline module to get auto-completion and make it much easier to list available classes in a module.本回答被提问者和网友采纳
参考技术C 你好:
没听说变化;
你可以写个测试下;

python数据分析与应用第三章代码3-5的数据哪来的

savetxt

import numpy as np

i2 = np.eye(2)

np.savetxt("eye.txt", i2)

3.4 读入CSV文件

# AAPL,28-01-2011, ,344.17,344.4,333.53,336.1,21144800

c,v=np.loadtxt('data.csv', delimiter=',', usecols=(6,7), unpack=True) #index从0开始

3.6.1 算术平均值

np.mean(c) = np.average(c)

3.6.2 加权平均值

t = np.arange(len(c))

np.average(c, weights=t)

3.8 极值

np.min(c)

np.max(c)

np.ptp(c) 最大值与最小值的差值

3.10 统计分析

np.median(c) 中位数

np.msort(c) 升序排序

np.var(c) 方差

3.12 分析股票收益率

np.diff(c) 可以返回一个由相邻数组元素的差

值构成的数组

returns = np.diff( arr ) / arr[ : -1] #diff返回的数组比收盘价数组少一个元素

np.std(c) 标准差

对数收益率

logreturns = np.diff( np.log(c) ) #应检查输入数组以确保其不含有零和负数

where 可以根据指定的条件返回所有满足条件的数

组元素的索引值。

posretindices = np.where(returns > 0)

np.sqrt(1./252.) 平方根,浮点数

3.14 分析日期数据

# AAPL,28-01-2011, ,344.17,344.4,333.53,336.1,21144800

dates, close=np.loadtxt('data.csv', delimiter=',', usecols=(1,6), converters=1:datestr2num, unpack=True)

print "Dates =", dates

def datestr2num(s):

return datetime.datetime.strptime(s, "%d-%m-%Y").date().weekday()

# 星期一 0

# 星期二 1

# 星期三 2

# 星期四 3

# 星期五 4

# 星期六 5

# 星期日 6

#output

Dates = [ 4. 0. 1. 2. 3. 4. 0. 1. 2. 3. 4. 0. 1. 2. 3. 4. 1. 2. 4. 0. 1. 2. 3. 4. 0.

1. 2. 3. 4.]

averages = np.zeros(5)

for i in range(5):

indices = np.where(dates == i)

prices = np.take(close, indices) #按数组的元素运算,产生一个数组作为输出。

>>>a = [4, 3, 5, 7, 6, 8]

>>>indices = [0, 1, 4]

>>>np.take(a, indices)

array([4, 3, 6])

np.argmax(c) #返回的是数组中最大元素的索引值

np.argmin(c)

3.16 汇总数据

# AAPL,28-01-2011, ,344.17,344.4,333.53,336.1,21144800

#得到第一个星期一和最后一个星期五

first_monday = np.ravel(np.where(dates == 0))[0]

last_friday = np.ravel(np.where(dates == 4))[-1]

#创建一个数组,用于存储三周内每一天的索引值

weeks_indices = np.arange(first_monday, last_friday + 1)

#按照每个子数组5个元素,用split函数切分数组

weeks_indices = np.split(weeks_indices, 5)

#output

[array([1, 2, 3, 4, 5]), array([ 6, 7, 8, 9, 10]), array([11,12, 13, 14, 15])]

weeksummary = np.apply_along_axis(summarize, 1, weeks_indices,open, high, low, close)

def summarize(a, o, h, l, c): #open, high, low, close

monday_open = o[a[0]]

week_high = np.max( np.take(h, a) )

week_low = np.min( np.take(l, a) )

friday_close = c[a[-1]]

return("APPL", monday_open, week_high, week_low, friday_close)

np.savetxt("weeksummary.csv", weeksummary, delimiter=",", fmt="%s") #指定了文件名、需要保存的数组名、分隔符(在这个例子中为英文标点逗号)以及存储浮点数的格式。

0818b9ca8b590ca3270a3433284dd417.png

格式字符串以一个百分号开始。接下来是一个可选的标志字符:-表示结果左对齐,0表示左端补0,+表示输出符号(正号+或负号-)。第三部分为可选的输出宽度参数,表示输出的最小位数。第四部分是精度格式符,以”.”开头,后面跟一个表示精度的整数。最后是一个类型指定字符,在例子中指定为字符串类型。

numpy.apply_along_axis(func1d, axis, arr, *args, **kwargs)

>>>def my_func(a):

... """Average first and last element of a 1-D array"""

... return (a[0] + a[-1]) * 0.5

>>>b = np.array([[1,2,3], [4,5,6], [7,8,9]])

>>>np.apply_along_axis(my_func, 0, b) #沿着X轴运动,取列切片

array([ 4., 5., 6.])

>>>np.apply_along_axis(my_func, 1, b) #沿着y轴运动,取行切片

array([ 2., 5., 8.])

>>>b = np.array([[8,1,7], [4,3,9], [5,2,6]])

>>>np.apply_along_axis(sorted, 1, b)

array([[1, 7, 8],

[3, 4, 9],

[2, 5, 6]])

3.20 计算简单移动平均线

(1) 使用ones函数创建一个长度为N的元素均初始化为1的数组,然后对整个数组除以N,即可得到权重。如下所示:

N = int(sys.argv[1])

weights = np.ones(N) / N

print "Weights", weights

在N = 5时,输出结果如下:

Weights [ 0.2 0.2 0.2 0.2 0.2] #权重相等

(2) 使用这些权重值,调用convolve函数:

c = np.loadtxt('data.csv', delimiter=',', usecols=(6,),unpack=True)

sma = np.convolve(weights, c)[N-1:-N+1] #卷积是分析数学中一种重要的运算,定义为一个函数与经过翻转和平移的另一个函数的乘积的积分。

t = np.arange(N - 1, len(c)) #作图

plot(t, c[N-1:], lw=1.0)

plot(t, sma, lw=2.0)

show()

3.22 计算指数移动平均线

指数移动平均线(exponential moving average)。指数移动平均线使用的权重是指数衰减的。对历史上的数据点赋予的权重以指数速度减小,但永远不会到达0。

x = np.arange(5)

print "Exp", np.exp(x)

#output

Exp [ 1. 2.71828183 7.3890561 20.08553692 54.59815003]

Linspace 返回一个元素值在指定的范围内均匀分布的数组。

print "Linspace", np.linspace(-1, 0, 5) #起始值、终止值、可选的元素个数

#output

Linspace [-1. -0.75 -0.5 -0.25 0. ]

(1)权重计算

N = int(sys.argv[1])

weights = np.exp(np.linspace(-1. , 0. , N))

(2)权重归一化处理

weights /= weights.sum()

print "Weights", weights

#output

Weights [ 0.11405072 0.14644403 0.18803785 0.24144538 0.31002201]

(3)计算及作图

c = np.loadtxt('data.csv', delimiter=',', usecols=(6,),unpack=True)

ema = np.convolve(weights, c)[N-1:-N+1]

t = np.arange(N - 1, len(c))

plot(t, c[N-1:], lw=1.0)

plot(t, ema, lw=2.0)

show()

3.26 用线性模型预测价格

(x, residuals, rank, s) = np.linalg.lstsq(A, b) #系数向量x、一个残差数组、A的秩以及A的奇异值

print x, residuals, rank, s

#计算下一个预测值

print np.dot(b, x)

3.28 绘制趋势线

>>> x = np.arange(6)

>>> x = x.reshape((2, 3))

>>> x

array([[0, 1, 2], [3, 4, 5]])

>>> np.ones_like(x) #用1填充数组

array([[1, 1, 1], [1, 1, 1]])

类似函数

zeros_like

empty_like

zeros

ones

empty

3.30 数组的修剪和压缩

a = np.arange(5)

print "a =", a

print "Clipped", a.clip(1, 2) #将所有比给定最大值还大的元素全部设为给定的最大值,而所有比给定最小值还小的元素全部设为给定的最小值

#output

a = [0 1 2 3 4]

Clipped [1 1 2 2 2]

a = np.arange(4)

print a

print "Compressed", a.compress(a > 2) #返回一个根据给定条件筛选后的数组

#output

[0 1 2 3]

Compressed [3]

b = np.arange(1, 9)

print "b =", b

print "Factorial", b.prod() #输出数组元素阶乘结果

#output

b = [1 2 3 4 5 6 7 8]

Factorial 40320

print "Factorials", b.cumprod()

#output
参考技术A 目前数据分析、机器学习的应用如火如荼,许多同学都有意参与到这股学习的热潮中来,但是令人苦恼的是,学习资料有很多,但是常常感觉无从下手。

这是因为,这里所涉及到的数据科学是一个综合学科,想掌握他需要熟练使用一门编程语言、了解常用的数据处理工具、深谙线性代数、概率统计、时间序列分析等数学基础以及玩转常用的机器学习算法,这是一条不算轻松的道路。

学习不光要用苦工,更要使巧劲,我们需要精心设计一条有效的学习路径,沿着他一步一个台阶的高效踏上数据科学的学习之旅,每一步都承上启下、收获满满。

我们设计了一条系统的数据分析学习路径,在专栏《Python数据科学之路》中,我们仿照美剧的剧集编排方式和整体逻辑架构进行组织,一共策划了八季内容,他们环环相扣,一步步的带你踏上数据科学的高峰:

第一季:Python编程语言核心基础。快速学习python核心编程知识点,掌握探索数据科学的有力工具。

第二季:Python数据分析基本工具。通过介绍NumPy、Pandas、Matplotlib等工具包,快速具备数据分析的专业范儿。

第三季:机器学习线性代数核心-Python描述。从坐标与变换、空间与映射、相似与特征等相关基础知识点切入,最终聚焦特征值分解与主成分分析、奇异值分解与数据降维等重难点内容,环环相扣的展开线性代数与机器学习算法紧密结合的最核心内容。

第四季:利用python进行时间序列分析。时间序列分析在数据挖掘与统计分析中具有举足轻重的地位,多种实用的模型帮助人们从已有的时间序列数据中挖掘规律、预测未知,尤其是在金融量化分析领域,这绝对是不可不提、不可不用的利器。

第五季:机器学习概率统计核心-Python描述。概率统计的方法和思想是机器学习的灵魂,我们将对其条分缕析、庖丁解牛,让贝叶斯、隐马尔科夫、极大似然、熵等思想和方法为我所用、不再玄妙。

第六季:最优化方法-Python描述。这一部分从多元微分入手,夯实函数的近似与级数的基本理论,重点围绕梯度法、牛顿法等数值优化方法展开介绍。

第七季:机器学习典型算法专题。这一部分利用前面筑牢的基础知识,对机器学习的常用核心算法进行抽丝剥茧、各个击破。

第八季:实战热点深度应用。在这一部分利用已有的知识进行实战化的数据分析,初步计划对基金投资策略、城市房屋租赁等热门数据展开围猎。
参考技术B 我们设计了一条系统的数据分析学习路径,在专栏《Python数据科学之路》中,我们仿照美剧的剧集编排方式和整体逻辑架构进行组织,一共策划了八季内容,他们环环相扣,一步步的带你踏上数据科学的高峰:
第一季:Python编程语言核心基础。快速学习python核心编程知识点,掌握探索数据科学的有力工具。
第二季:Python数据分析基本工具。通过介绍NumPy、Pandas、Matplotlib等工具包,快速具备数据分析的专业范儿。
第三季:机器学习线性代数核心-Python描述。从坐标与变换、空间与映射、相似与特征等相关基础知识点切入,最终聚焦特征值分解与主成分分析、奇异值分解与数据降维等重难点内容,环环相扣的展开线性代数与机器学习算法紧密结合的最核心内容。
第四季:利用python进行时间序列分析。时间序列分析在数据挖掘与统计分析中具有举足轻重的地位,多种实用的模型帮助人们从已有的时间序列数据中挖掘规律、预测未知,尤其是在金融量化分析领域,这绝对是不可不提、不可不用的利器。
第五季:机器学习概率统计核心-Python描述。概率统计的方法和思想是机器学习的灵魂,我们将对其条分缕析、庖丁解牛,让贝叶斯、隐马尔科夫、极大似然、熵等思想和方法为我所用、不再玄妙。
第六季:最优化方法-Python描述。这一部分从多元微分入手,夯实函数的近似与级数的基本理论,重点围绕梯度法、牛顿法等数值优化方法展开介绍。
第七季:机器学习典型算法专题。这一部分利用前面筑牢的基础知识,对机器学习的常用核心算法进行抽丝剥茧、各个击破。
第八季:实战热点深度应用。在这一部分利用已有的知识进行实战化的数据分析,初步计划对基金投资策略、城市房屋租赁等热门数据展开围猎
参考技术C 我们设计了一条系统的数据分析学习路径,在专栏《Python数据科学之路》中,我们仿照美剧的剧集编排方式和整体逻辑架构进行组织,一共策划了八季内容,他们环环相扣,一步步的带你踏上数据科学的高峰:
第一季:Python编程语言核心基础。快速学习python核心编程知识点,掌握探索数据科学的有力工具。
第二季:Python数据分析基本工具。通过介绍NumPy、Pandas、Matplotlib等工具包,快速具备数据分析的专业范儿。
第三季:机器学习线性代数核心-Python描述。从坐标与变换、空间与映射、相似与特征等相关基础知识点切入,最终聚焦特征值分解与主成分分析、奇异值分解与数据降维等重难点内容,环环相扣的展开线性代数与机器学习算法紧密结合的最核心内容。
第四季:利用python进行时间序列分析。时间序列分析在数据挖掘与统计分析中具有举足轻重的地位,多种实用的模型帮助人们从已有的时间序列数据中挖掘规律、预测未知,尤其是在金融量化分析领域,这绝对是不可不提、不可不用的利器。
第五季:机器学习概率统计核心-Python描述。概率统计的方法和思想是机器学习的灵魂,我们将对其条分缕析、庖丁解牛,让贝叶斯、隐马尔科夫、极大似然、熵等思想和方法为我所用、不再玄妙。
第六季:最优化方法-Python描述。这一部分从多元微分入手,夯实函数的近似与级数的基本理论,重点围绕梯度法、牛顿法等数值优化方法展开介绍。
第七季:机器学习典型算法专题。这一部分利用前面筑牢的基础知识,对机器学习的常用核心算法进行抽丝剥茧、各个击破。
第八季:实战热点深度应用。在这一部分利用已有的知识进行实战化的数据分析,初步计划对基金投资策略、城市房屋租赁等热门数据展开围猎。
参考技术D 在 Python中,序列类型包括字符串、列表、元组、集合和字典,这些序列支持以下几种通用的操作,但比较特殊的是,集合和字典不支持索引、切片、相加和相乘操作。

以上是关于python 3.4 中原来的tkMessageBox变成什么了?的主要内容,如果未能解决你的问题,请参考以下文章

c# 数组 插入元素在数组的最前面 数组中原来的值依次向后排列

c#数组插入元素在数组的最前面数组中原来的值依次向后排列

word中原来的编号库中没有带圈的 1 2 3 …… 如何创建?

计算机中原码,反码,补码之间的关系

python数据分析与应用第三章代码3-5的数据哪来的

python之文件的读写