女宝胶囊的作用和功效是什么| 男孩取什么名字好听又有贵气| 暂时无法接通是什么意思| 请丧假需要什么证明| 吃什么食物对心脏有好处| tf是什么| 逼长什么样| 维生素c阴性什么意思| 92年出生属什么生肖| 1939年中国发生了什么| 涧什么字| 1月1号什么星座| 中元节不能穿什么衣服| 尼维达手表什么档次| 今年三十属什么| 独一味是什么药| 微信头像 用什么好| 辰寅卯是什么生肖| 女人吃什么排湿气最快| 爷爷的兄弟叫什么| 为什么会得扁平疣| 锻练与锻炼有什么区别| 肿瘤是什么| 坚持是什么意思| 吃什么东西补血| 今年67岁属什么生肖| 农历11月11日是什么星座| 欲盖弥彰是什么意思| 身体素质是什么意思| 昙花一现是什么生肖| 压测是什么意思| 嬗变什么意思| 得宫颈癌的前兆是什么| 麦冬的功效与作用是什么| 肺钙化灶是什么意思| 哀大莫过于心死是什么意思| 降调针什么时候打| 为什么会得骨癌| 女生下面叫什么| 女性内分泌失调有什么症状| 62年属什么生肖| 葡萄柚是什么水果| ri是什么意思| 陈旧性心梗是什么意思| 什么进曹营一言不发| 什么是溶血| 乳酸菌可以制作什么| 男人左眼跳是什么预兆| 姓郑的男孩取什么名字好| 豆干和什么炒好吃| 石女什么样| 冰丝和天丝有什么区别| 梦见以前的朋友是什么意思| 大生化检查都包括什么项目| otc什么意思| 陈可以组什么词| 酉读什么| 三言两语是什么意思| pp1是什么意思| 云想衣裳花想容是什么意思| 横死是什么意思| 口苦尿黄是什么原因| 吃什么能提高血压| 什么是表达方式| 关羽姓什么| 值神天德是什么意思| 曹操姓什么| 1月22号是什么星座| 女男是什么字| 额头炎是什么症状| 拆线挂什么科| 什么是电子版照片| 什么的时间| 双重否定句是什么意思| 长长的什么| 窦性心律不齐有什么危害| 做流产手术需要准备什么东西| 洛神花是什么花| 二甲医院是什么意思| 梦见冬瓜是什么意思| 姜枣茶什么时间喝最好| 鼍是什么动物| 红豆有什么功效和作用| 水瓶座什么性格| 枸杞和什么搭配壮阳| 反流性食管炎挂什么科| 囊壁钙化是什么意思| 疝气是什么原因引起的| 三轮体空什么意思| 小孩智力发育迟缓挂什么科| 中位数是什么意思| 来月经期间吃什么最好| 细菌性炎症用什么药| 三大产能营养素是什么| 雪藏是什么意思| 头发为什么会变白| 1966年属马的是什么命| 去湿气吃什么食物| 黑芝麻和白芝麻有什么区别| b型血rh阳性是什么意思| 愿君多采撷是什么意思| 六月初一是什么日子| 身体冒虚汗什么原因| 论坛是什么| 胆囊炎吃什么药效果最好| 女人取环什么时候最好| 尿酸高能喝什么酒| 吃什么药能让月经推迟| 急性肠胃炎吃什么食物| ccb是什么药物| 明前茶和明后茶有什么区别| 结婚十年是什么婚| 植株是什么意思| 格物穷理是什么意思| 小便很臭是什么原因| 什么是直销| 制冰机不制冰是什么原因| 恩惠什么意思| pr是什么工作| 狮子座前面是什么星座| 热依扎是什么民族| 平衡是什么意思| 冰片是什么| o型血rh阳性是什么意思| 什么叫精神病| 煮茶叶蛋用什么茶| 开水冲鸡蛋有什么好处| 有编制是什么意思| 什么是全麦面包| 女性查hpv挂什么科| 躯体化障碍是什么病| 美籍华人是什么意思| 抽烟什么感觉| 肺结节是一种什么病| 非钙化斑块是什么意思| 什么是bl| 公章一般是什么字体| 什么的身影| msv是什么单位| 飞天是什么意思| 96199是什么电话| gpa什么意思| 小孩多动症是什么原因引起的| 念珠菌和霉菌有什么区别| 身上出现白块什么原因| 工装裤搭配什么上衣| 不打狂犬疫苗会有什么后果| 怀孕一个月有什么反应| 儒艮为什么叫美人鱼| 舍利子到底是什么| 米诺地尔搽剂和米诺地尔酊有什么区别| 内痔疮用什么药治最好效果最快| 有氧运动是什么意思| 胸口闷闷的有点疼是什么原因| 八月17号是什么星座的| 丁克是什么意思| 腰花是什么部位| 苦瓜为什么是苦的| 收心是什么意思| 芥末是什么做的| 下压高是什么原因引起的| 母乳是什么颜色| 毒龙是什么意思啊| 瓜田李下什么意思| 1997年属牛是什么命| 知性女性是什么意思| 弱智的人有什么表现| 药物流产后吃什么好| 端着是什么意思| 脾胃虚吃什么| 验尿细菌高是什么原因| 鸢是什么意思| 今年62岁属什么生肖| 伤口用什么消毒最好| 男人要的归属感是什么| s和m是什么意思| 低聚异麦芽糖是什么| 关节间隙变窄什么意思| 小丑什么意思| 三点水加四读什么| 柳仙是什么仙| 白狗子是什么意思| 什么猫好看| 凹儿念什么| 睡觉后脑勺出汗多是什么原因| 半盏流年是什么意思| hpv什么病| 潮热盗汗是什么意思| 218是什么意思| 头发的主要成分是什么| 什么是认证| 霉菌性阴道炎是什么引起的| 血糖高是什么症状| 瓜尔佳氏现在姓什么| 体能是什么| 农历六月十八是什么日子| qs什么意思| 沉香茶属于什么茶| 钙化积分是什么意思| prbpm是什么意思| 十五年是什么婚| pgr是什么意思| 在屋顶唱着你的歌是什么歌| 月经不调去医院挂什么科| 前列腺多发钙化灶是什么意思| 隋炀帝叫什么名字| 瑞舒伐他汀钙片什么时候吃| 黑米和什么一起搭配煮粥最佳| 牙龈发炎用什么药| 吃绿豆有什么好处| 梦见自己刷牙是什么意思| 做小月子要注意什么| 粒子是什么| 明星经纪人是干什么的| 臭鳜鱼是什么菜系| 奴役是什么意思| 舌头挂什么科| 睡觉做梦是什么原因| 痛风什么蔬菜不能吃| 国安局是什么单位| 谷维素片治什么病| 船舷是什么意思| 喝什么去湿气| 胃不好可以吃什么| 4月8日是什么星座| 放任是什么意思| 过敏性结膜炎用什么药| 肚子特别疼是什么原因| 脑癌是什么原因引起的| 胃疼吃什么药好| 四川有什么市| 一个家庭最重要的是什么| 宵夜吃什么| 香水前调中调后调是什么意思| 614是什么星座| 癞皮狗是什么意思| 舌苔有裂纹是什么原因| 结节灶是什么意思啊| 2001年属蛇五行属什么| 25度穿什么衣服| 坐月子可以吃什么水果| 前白蛋白低是什么意思| 傻狍子为什么叫傻狍子| 藿香正气水什么味| crpa是什么细菌| 慢热是什么意思| 不是省油的灯是什么意思| 嗓子疼咽口水都疼吃什么药| 李果是什么水果| 12月是什么星座的| 兵马俑是什么意思| 苹果花是什么颜色| 肝内高回声是什么意思| 神仙是什么生肖| 老人脚浮肿是什么原因引起的| 琨字五行属什么| 长脸适合什么耳环| 白果有什么功效与作用| 大姨妈量少什么原因| 花肠是母猪的什么部位| 鸡肠炎用什么药效果好| 手机充电口叫什么| 梦见蛇是什么预兆| 做心电图挂什么科| 百度

T社《银河护卫队》第一章预告 星爵挑战灭霸被胖揍

Language differences and workarounds?

百度 第一位母亲生我的时候,邻家也同时产下一子,但是我与第一位母亲的因缘非常短,出生后仅仅几日我就夭折了,第一位母亲常常因为看见隔壁的孩子而触景伤情。

This appendix contains a listing of the differences between Python 2 and Python 3 and example code that will run both in Python 2 and Python 3 without 2to3 conversion.

This listing is incomplete. What is listed here is only the intentional changes that are not bug fixes and even so there may be accidental omissions.

apply()?

2to3 fixer ? six support ?

The Python 2 builtin apply() has been removed in Python 3. It’s used to call a function, but since you can call the function directly it serves no purpose and has been deprecated since Python 2.3. There is no replacement.

buffer()?

2to3 fixer ? six support ?

The Python 2 buffer() builtin is replaced by the memoryview class in Python 3. They are not fully compatible, so 2to3 does not change this unless you explicitly specify the buffer fixer.

This code will run in both Python 2 and Python 3 without 2to3 conversion:

>>> import sys
>>> if sys.version_info > (3,):
...     buffer = memoryview
>>> b = buffer('yay!'.encode())
>>> len(b)
4

callable()?

2to3 fixer ? six support ?

The Python 2 builtin callable() was removed in Python 3.0, but reintroduced in Python 3.2. If you need to support Python 3.1 you can try to call the object under scrutiny and catch the TypeError if it is not callable.

If you need to know if something is callable without calling it, there are several solutions for Python 3:

>>> def afunction():
...     pass

>>> any("__call__" in klass.__dict__ for
...     klass in type(afunction).__mro__)
True

>>> import collections
>>> isinstance(afunction, collections.Callable)
True

If you need code that runs in both Python 2 and Python 3 without 2to3 conversion, you can use this:

>>> hasattr(bool, '__call__')
True

The six module also defines a callable function for use under Python 3.

Classes?

2to3 fixer ? six support ?

In Python 2 there is two types of classes, “old-style” and “new”. The “old-style” classes have been removed in Python 3.

See also Use new-style classes

Comparisons?

2to3 fixer ? six support ?

The Python 2 builtin cmp() has been removed in Python 3.0.1, although it remained in Python 3.0 by mistake. It is mostly used when defining the __cmp__ comparison method or functions to pass as cmp parameters to .sort() and the support for this has been removed in Python 3 as well.

Should you need cmp() you can define it like this:

def cmp(a, b):
    return (a > b) - (a < b)

See Unorderable types, __cmp__ and cmp for more information.

coerce() and __coerce__?

2to3 fixer ? six support ?

The coerce() builtin function and the support for the __coerce__ method has been removed in Python 3. coerce() would convert the numeric arguments to have the same type according to the coercion rules for Pythons arithmetic operators and was only useful in early versions of Python when implementing new numeric types. There is no replacement in Python 3; coercion should instead be done by the numeric operator methods.

Dictionary methods?

2to3 fixer ? six support ?

In Python 2 dictionaries have the methods iterkeys(), itervalues() and iteritems() that return iterators instead of lists. In Python 3 the standard keys(), values() and items() return dictionary views, which are iterators, so the iterator variants become pointless and are removed.

If you need to support both Python 2 and Python 3 without 2to3 conversion and you must use the iterator methods, you can access it via a try/except:

>>> d = {'key1': 'value1',
...      'key2': 'value2',
...      'key3': 'value3',
... }

>>> try:
...     values = d.itervalues()
... except AttributeError:
...     values = d.values()

>>> isinstance(values, list)
False

>>> for value in values:
...     print(value)
value3
value2
value1

Also, the has_key() method on dictionaries is gone. Use the in operator instead.

See also Make sure you aren’t using any removed modules

except?

2to3 fixer ? six support ?

In Python 2 the syntax to catch exceptions have changed from:

except (Exception1, Exception2), target:

to the clearer Python 3 syntax:

except (Exception1, Exception2) as target:

Other differences is that the target no longer can be a tuple and that string exceptions are gone. 2to3 will convert all this, except string exceptions.

Both syntaxes work in Python 2.6 and Python 2.7, but if you need code that is to run in earlier versions as well as Python 3 without 2to3 conversion you can get the exception object through sys.exc_info():

>>> import sys
>>> try:
...     raise Exception("Something happened")
... except Exception:
...     e = sys.exc_info()[1]
...     print(e.args[0])
Something happened

Exception objects?

2to3 fixer ? six support ?

In Python 2 the exception object is iterable and indexable:

>>> e = Exception('arg1', 'arg2')
>>> e[1]
'arg2'
>>> for a in e:
...   print a
...
arg1
arg2

In Python 3 you must use the args attribute, which will work under Python 2 as well.

>>> e = Exception('arg1', 'arg2')
>>> e.args[1]
'arg2'
>>> for a in e.args:
...   print a
...
arg1
arg2

There was also a message attribute on exceptions introduced in Python 2.5, but it was deprecated already in Python 2.6, so it’s unlikely that you will use it.

exec?

2to3 fixer ? six support ?

In Python 2 exec is a statement:

>>> g_dict={}
>>> l_dict={}
>>> exec "v = 3" in g_dict, l_dict
>>> l_dict['v']
3

In Python 3 exec is a function:

>>> g_dict={}
>>> l_dict={}
>>> exec("v = 3", g_dict, l_dict)
>>> l_dict['v']
3

The Python 3 syntax without the global and local dictionaries will work in Python 2 as well:

>>> exec("v = 3")
>>> v
3

If you need to pass in the global or local dictionaries you will need to define a custom function with two different implementations, one for Python 2 and one for Python 3. As usual six includes an excellent implementation of this called exec_().

execfile?

2to3 fixer ? six support ?

The Python 2 execfile statement is gone on Python 3. As a replacement you can open the file and read the contents:

exec(open(thefile).read())

This works in all versions of Python.

file?

2to3 fixer ? six support ?

In Python 2 there is a file type builtin. This is replaced with various file types in Python 3. You commonly see code in Python 2 that uses file(pathname) which will fail in Python 3. Replace this usage with open(pathname).

If you need to test for types you can in Python 3 check for io.IOBase instead of file.

filter()?

2to3 fixer ? six support ?

In Python 2 filter() returns a list while in Python 3 it returns an iterator. 2to3 will in some cases place a list() call around the call to filter() to ensure that the result is still a list. If you need code that runs in both Python 2 and Python 3 without 2to3 conversion and you need the result to be a list, you can do the same.

Imports?

2to3 fixer ? six support ?

In Python 2, if you have a package called mypackage and that contains a module called csv.py, it would hide the csv module from the standard library. The code import csv would within mypackage import the local file, and importing from the standard library would become tricky.

In Python 3, this has changed so that import csv would import from the standard library, and to import the local csv.py file you need to write from . import csv and from csv import my_csv needs to be changed to from .csv import my_csv. These are called “relative imports”, and there is also a syntax to import from one level up module above; from .. import csv.

If you need to support both Python 2 and Python 3 without 2to3 the from . and from .. syntax has been available since Python 2.5, together with a from __future__ import absolute_import statement that changes the behavior to the Python 3 behavior.

If you need to support Python 2.4 or earlier you have to spell out the whole package name so import csv becomes from mypkg import csv and from csv import my_csv becomes from mypkg.csv import my_csv. For clarity and readability I would avoid relative imports if you can and always spell out the whole path.

2to3 will check if your imports are local and change them.

Indentation?

2to3 fixer ? six support ?

In Python 2 a tab will be equal to eight spaces as indentation, so you can indent one line with a tab, and the next line with eight spaces. This is confusing if you are using an editor that expands tabs to another number than eight spaces.

In Python 3 a tab is only equal to another tab. This means that each indentation level has to be consistent in its use of tabs and spaces. If you have a file where an indented block sometimes uses spaces and sometimes tabs, you will get the error TabError: inconsistent use of tabs and spaces in indentation.

The solution is of course to remove the inconsistency.

input() and raw_input()?

2to3 fixer ? six support ?

In Python 2 there is raw_input() that takes a string from stdin and input() that takes a string from stdin and evaluates it. That last function is not very useful and has been removed in Python 3, while raw_input() has been renamed to input().

If you need to evaluate the input string you can use eval():

>>> eval(input('Type in an expression: '))
'Type in an expression: ' 1+2
3

If you need code that runs in both Python 2 and Python 3 without 2to3 conversion you can conditionally set input() to be raw_input():

>>> try:
...     input = raw_input
... except NameError:
...     pass

>>> input('Type in a string: ')
Type in a string: It works!
'It works!'

Integer division?

2to3 fixer ? six support ?

In Python 2, the result of dividing two integers will itself be an integer; in other words 3/2 returns 1. In Python 3 integer division will always return a float. So 3/2 will return 1.5 and 4/2 will return 2.0.

If you want the old behavior you should instead use the floor division operator //, available since Python 2.2. If you need to support both Python 2 and Python 3 without 2to3 conversion the following __future__ import works since Python 2.2 and enables the new behavior:

>>> from __future__ import division
>>> 1/2
0.5

See also: Use // instead of / when dividing integers

long?

2to3 fixer ? six support ? (partial)

Python 2 has two integer types int and long. These have been unified in Python 3, so there is now only one type, int. This means that the following code fails in Python 3:

>>> 1L
1L
>>> long(1)
1L

It’s quite unusual that you would need to specify that an integer should be a long in Python 2, as Python’s integer functions all will return long when needed. If you do require it the following code works on both Python 2 and Python 3 without 2to3 conversion:

>>> import sys
>>> if sys.version_info > (3,):
...     long = int
>>> long(1)
1L

However, the representation is still different, so doctests will fail.

If you need to check if something is a number you need to check against both int and long under Python 2, but only int in Python 3. The best way to do that is to set up a integer_types tuple depending on Python version and test against that. six includes this:

>>> import sys
>>> if sys.version_info < (3,):
...     integer_types = (int, long,)
... else:
...     integer_types = (int,)
>>> isinstance(1, integer_types)
True

map()?

2to3 fixer ? six support ?

In Python 2 map() returns a list while in Python 3 it returns an iterator. 2to3 will in some cases place a list() call around the call to map() to ensure that the result is still a list. If you need code that runs in both Python 2 and Python 3 without 2to3 conversion and you need the result to be a list, you can do the same.

In Python 2 map() will continue until the longest of the argument iterables are exhausted, extending the other arguments with None.

>>> def fun(a, b):
...    if b is not None:
...        return a - b
...    return -a
>>> map(fun, range(5), [3,2,1])
[-3, -1, 1, -3, -4]

In Python 3 map() will instead stop at the shortest of the arguments. If you want the Python 2 behavior in Python 3 you can use a combination of starmap() and zip_longest().

>>> from itertools import starmap, zip_longest
>>> def fun(a, b):
...    if b is not None:
...        return a - b
...    return -a
>>> list(starmap(fun, zip_longest(range(5), [3,2,1])))
[-3, -1, 1, -3, -4]

The Python 2 map() will accept None as it’s function argument, where it will just return the object(s) passed in. As this transforms map() into zip() it’s not particularly useful, and in Python 3 this no longer works. However, some code depends on this behavior, and you can use the following function as a full replacement for the Python 2 map.

from itertools import starmap, zip_longest

def map(func, *iterables):
    zipped = zip_longest(*iterables)
    if func is None:
        # No need for a NOOP lambda here
        return zipped
    return starmap(func, zipped)

Metaclasses?

2to3 fixer ? six support ?

In Python 2 you specified the metaclass with the __metaclass__ attribute. In Python 3 you instead pass in a metaclass parameter in the class definition. Supporting metaclasses in Python 2 and Python 3 without using 2to3 requires you to create classes on the fly. If you want this, I highly recommend to use the six module, which has a very clever with_metaclass() function.

Parameter unpacking?

2to3 fixer ? six support ?

In Python 2 you have parameter unpacking:

>>> def unpacks(a, (b, c)):
...     return a,b,c

>>> unpacks(1, (2,3))
(1, 2, 3)

Python 3 does not support this, so you need to do your own unpacking:

>>> def unpacks(a, b):
...     return a,b[0],b[1]

>>> unpacks(1, (2,3))
(1, 2, 3)

print?

2to3 fixer ? six support ?

The Python 2 print statement is in Python 3 a function. If you need to run the same code in both Python 2 and Python 3 without 2to3 conversion there are various techniques for this. This is discussed in detail in Supporting the print() function.

raise?

2to3 fixer ? six support ?

In Python 2 the syntax for the raise statement is:

raise E, V, T

Where E is a string, an exception class or an exception instance, V the an optional exception value in the case that E is a class or a string and T is a traceback object if you want to supply a traceback from a different place than the current code. In Python 3 this has changed to:

raise E(V).with_traceback(T)

As with the Python 2 syntax, value and traceback are optional. The syntax without the traceback variable is:

raise E(V)

This works in all versions of Python. It’s very unusual that you need the traceback parameter, but if you do and you also need to write code that runs under Python 2 and Python 3 without using 2to3 you need to create different a function that takes E, V and T as parameters and have different implementations under Python 2 and Python 3 for that function. The six module has a nice implementation of that, called reraise().

range() and xrange()?

2to3 fixer ? six support ?

In Python 2 range() returns a list, and xrange() returns an object that will only generate the items in the range when needed, saving memory.

In Python 3, the range() function is gone, and xrange() has been renamed range(). In addition the range() object supports slicing in Python 3.2 and later .

2to3 will in some cases place a list() call around the call to range(), to ensure that the result is still a list. If you need code that runs in both Python 2 and Python 3 without 2to3 conversion and you need the result to be a list, you can do the same.

You can import xrange() from the six module to be sure you get the iterator variation under both Python 2 and Python 3.

repr() as backticks.?

2to3 fixer ? six support ?

In Python 2 you can generate a string representation of an expression by enclosing it with backticks:

>>> `sorted`
'<built-in function sorted>'

>>> `2+3`
'5'

The only purpose with this syntax is to confuse newbies and make obfuscated Python. It has been removed in Python 3, since the repr() builtin does exactly the same.

>>> repr(sorted)
'<built-in function sorted>'

>>> repr(2+3)
'5'

Rounding behavior?

2to3 fixer ? six support ?

The behavior of round has changed in Python 3. In Python 2, rounding of halfway cases was away from zero, and round() would always return a float.

>>> round(1.5)
2.0
>>> round(2.5)
3.0
>>> round(10.0/3, 0)
3.0

In Python 3 rounding of halfway cases are now always towards the nearest even. This is standard practice, as it will make a set of evenly distributed roundings average out.

When called without the second parameter, which determines the number of decimals, round() will in Python 3 return an integer. If you pass in a parameter to set the number of decimals to round to, the returned value will be of the same type as the unrounded value. This is true even if you pass in zero.

>>> round(1.5)
2
>>> round(2.5)
2
>>> round(10.0/3, 0)
3.0

If you need the Python 2 behavior, you can use the following method:

>>> import math
>>> def my_round(x, d=0):
...     p = 10 ** d
...     if x > 0:
...         return float(math.floor((x * p) + 0.5))/p
...     else:
...         return float(math.ceil((x * p) - 0.5))/p

>>> my_round(1.5)
2.0
>>> my_round(2.5)
3.0
>>> my_round(10.0/3, 0)
3.0

Slice operator methods?

2to3 fixer ? six support ?

In Python 1 you used __getslice__ and __setslice__ to support slice methods like foo[3:7] on your object. These were deprecated in Python 2.0 but still supported. Python 3 removes the support for the slice methods, so you need to instead extend __getitem__, __setitem__ and __delitem__ with slice object support.

>>> class StrawberryTart(object):
...
...    def __getitem__(self, n):
...        """An example of how to use slice objects"""
...        if isinstance(n, slice):
...            # Expand the slice object using range()
...            # to a maximum of eight items.
...            return [self[x] for x in
...                    range(*n.indices(8))]
...
...        # Return one item of the tart
...        return 'A slice of StrawberryTart with ' \
...               'not so much rat in it.'
...
>>> tart = StrawberryTart()
>>> tart[5:6]
['A slice of StrawberryTart with not so much rat in it.']

Sorting?

2to3 fixer ? six support ?

In Python 2 the .sort() method on lists as well as the sorted() builtin takes two parameters, cmp and key. In Python 3 only the key parameter is supported. There are no fixers for this, so you need to change that in the Python 2 code.

See When sorting, use key instead of cmp for more information.

StandardError?

2to3 fixer ? six support ?

Python 2 has an exception class called StandardError that has been removed in Python 3. Use Exception instead.

String types?

2to3 fixer ? six support ?

Python 2 had two string types; str and unicode. Python 3 has only one; str, but instead it also has a bytes type made to handle binary data. For more information on this, see Bytes, strings and Unicode and More bytes, strings and Unicode.

Footnotes

画龙点晴是什么生肖 助听器什么牌子好 肝内囊性灶什么意思 华西医院院长什么级别 吃芒果不能吃什么
刷屏是什么意思 居住证是什么意思 儿童早餐吃什么有营养还能长高 女性尿路感染什么原因引起的 憋屎会造成什么后果
补铁的水果有什么 植树造林的好处是什么 loser是什么意思 命中注定是什么意思 手指甲软薄是缺什么
什么时候初伏第一天 3月5号是什么星座 运动出汗有什么好处 部队大校是什么级别 吃什么睡眠好
莲子心泡水喝有什么功效和作用wuhaiwuya.com 梦到下雪是什么意思hcv8jop9ns5r.cn 白带是黄色是什么原因xinmaowt.com 喉咙有白点是什么原因hcv8jop8ns2r.cn 印度属于什么人种hcv7jop6ns9r.cn
96999是什么电话hcv9jop2ns3r.cn 焦糖色裤子配什么颜色上衣520myf.com 囊壁钙化是什么意思hcv9jop6ns2r.cn 为什么会得玫瑰糠疹hcv8jop1ns2r.cn 仓鼠能吃什么hcv8jop6ns0r.cn
阿昔洛韦乳膏治什么hcv8jop3ns7r.cn 感冒了吃什么食物最好hcv7jop9ns9r.cn 对食什么意思gangsutong.com 冗长是什么意思hcv8jop8ns5r.cn 1978年属马五行缺什么hcv8jop7ns0r.cn
黄瓜有什么好处cj623037.com 蝌蚪吃什么食物hcv7jop4ns8r.cn 肚脐两边疼是什么原因hcv9jop2ns5r.cn 小猫什么时候断奶hcv8jop7ns9r.cn 布鲁斯是什么意思hcv9jop3ns1r.cn
百度