范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python基础知识笔记

  以守护进程运行python脚本,nohup python test1.py &1.基础知识1.0 包package
  python package需要有一个名为init.py的文件,不然就是普通的package,则无法import package下的模块。可以在init.py文件里写入要被使用的模块,这样import package时,系统会直接去init.py里面寻找模块或者函数。
  当导入一个package时,python解释器会首先在内置模块中寻找,若没有则在sys.path列表中寻找。参考
  1.1 变量命名规则
  python变量名只能包含以下字符:大小写字母、数字、下划线(_),名称不允许以数字开头。并且以下划线开头的名字有特殊含义。
  1.2 可变对象与不可变对象
  可变对象:列表list、字典dict、集合set不可变对象:数值(int,float)、字符串(str)、元组(tuple)
  1.3python容器
  列表
  创建列表:a=[],a=list() 赋值:a=[],b=a  此时,a,b共享同一个对象。 复制(新表):a=[],b=a.copy(),c=list(a),d=a[:]  此时b,c,d是新的对象,不共享,和a没有任何关系。属于浅复制;浅复制只复制一层(外层)
  元组
  创建元组:a=(),a=tuple()  a=(1,)等价于a=1, 元组元素不可更改
  字典
  创建字典:a={},a=dict() 复制:copy() 赋值:=
  集合
  创建集合:a=set(),a={1} 集合运算:交集(&),并集(|),差集(-)
  1.4 格式化
  python有两种格式化方式,习惯称为旧式和新式;这两种方式在python2和python3中都适用。
  使用%的旧式格式化
  旧式格式化的形式为:string % data,其中string包含的式待插值序列。
  >>> "%s"%4.12 "4.12" >>> "%f"%4.12 "4.120000" >>> "my name is %s,age is %d "%("ss",14) "my name is ss,age is 14 " >>> "%10d %10f %10s"%(12,11,"dad")  #设置最小域宽度为10格字符,左侧用空格补充 "        12  11.000000        dad" >>> "%-10d %-10f %-10s"%(12,11,"dad")  #左对齐 "12         11.000000  dad       " >>> "%.4f %.3d"%(12.13131,11)  #数据截断,设置最大字符宽度 "12.1313 011"
  使用{}和format的新式格式化
  >>> "{}{}".format(12,13) "1213" >>> "{1}{0}".format(12,13)  #指定插入的顺序,参数从0开始。 "1312" >>> "{m}{n}".format(n=12,m=13)  #命名变量参数 "1312" >>> "{1:d} {0:f}".format(12,13)  #使用:实现格式化类型 "13 12.000000" >>> "{1:<4d} {0:<5f}".format(12,13)  #左对齐<,右对齐>,居中^ "13   12.000000" >>> "{1:^4d} {0:<5.3f}".format(12,13) #精度和旧式一样,但也有不同 " 13  12.000" >>> "{:^4.3}".format(12)  #新格式中无法对整数设定精度 Traceback (most recent call last):   File "", line 1, in 
  1.5 代码注释
  #单行注释1 print(123)#单行注释2  #多行注释1 #ddd #ddd #ddd  """ 多行注释2 ddd """
  1.6 python2 VS python3
  1.6.1 print
  在python3中,print是函数,使用 print("helloworld")             不换行输出,print("hello",end="")                        print("world")   输出:helloworld 在python2中,print是关键字,print "helloworld"             不换行输出,pring "hello",                        print "world"   输出:hello world (以空格分割)
  1.6.2 input
  --------python2 >>> a=input()      #会做计算处理 12 >>> print a,type(a) 12  >>> a=raw_input()   #对输入都以字符串处理 12 >>> print a,type(a) 12  >>> --------python3 >>> a=input() 12 >>> print(a) 12 >>> print(type(a))  #所有输入都作为字符串处理  >>>
  1.6.3 整除
  -----------python2 >>> print 5/2    #向下取整 2         -----------python3 >>> print (5/2)  #默认进行浮点数除法 2.5 >>> print (5//2)  #取模 2
  1.6.4 range
  -------------python2 >>> print range(4)   #返回列表 [0, 1, 2, 3] ------------python3 >>> print(range(4))  #返回range对象 range(0, 4) #循环访问py2和py3基本一样
  1.6.5 字符串
  python3表示字符串的两种类型:bytes和str,前者的实例包含原始的8位值(一个字节),后者实例包含unicode字符。 python2表示字符串的两种类型:unicode和str,前者包含Unicode字符,后者包含原始的8位值。 二进制转化为Unicode字符,使用decode;Unicode字符转二进制,使用encode。
  1.6.6 列表推导产生的变量泄漏问题
  python2
  >>> x = "my precious" >>> dummy = [x for x in "ABC"] >>> x "C" >>> dummy ["A", "B", "C"]
  python3
  >>> x = "my precious" >>> dummy = [x for x in "ABC"] >>> x "my precious" >>> dummy ["A", "B", "C"]
  python2中,在列表推导中同名变量的赋值可能会影响上下文环境;而在python3中,都有自己的局部作用域。使用生成器则不会出现这种变量泄漏问题。
  1.6.7 import
  python2默认是按照相对路径导入模块和包,python3默认则是按照绝对路径导入。
  python2引入一个module时会先在当前目录搜索,然后再去搜索路径(sys.path)搜索;而python3直接在搜索路径搜索,为了导入,使用显式路径导入。
  Python2.x 缺省为相对路径导入,Python3.x 缺省为绝对路径导入。绝对导入可以避免导入子包覆盖掉标准库模块(由于名字相同,发生冲突)。如果在 Python2.x 中要默认使用绝对导入,可以在文件开头加入如下语句:
  from __future__ import absolute_import
  这句 import 并不是指将所有的导入视为绝对导入,而是指禁用 implicit relative import(隐式相对导入), 但并不会禁掉 explicit relative import(显示相对导入)。
  from .foo import Foo    #python2、3都适用 from .bar import Bar    #python2、3都适用 #from mdl.foo import Foo    #python2、3都适用 #from mdl.bar import Bar    #python2、3都适用 #from foo import Foo    #python3不适用 #from bar import Bar    #python3不适用
  1.6.8 Exception
  py2 : except exc, var
  py3 : except exc as var,使用 as 作为关键词
  1.6.9 不等运算符
  Python 2.x中不等于有两种写法 != 和 <>
  Python 3.x中去掉了<>, 只有!=一种写法
  1.6.10 dict方法
  py2中dict的keys()、items()、values() 是列表,iteritems()返回迭代器
  py3中dict的keys()、items()、values() 是类或迭代器,非基础数据类型,执行json的加解密时,需要注意
  py3中iteritems() 和 viewitems() 这两个方法都已经废除了,而items()得到的结果是和py2里面viewitems()一致的。在py3里用items()替换iteritems() ,可以用于for来循环遍历
  1.6.11 数据类型
  在Python2中long是比int取值范围更大的整数,Python3中取消了long类型,int的取值范围扩大到之前的long类型范围。
  python3版本中增加了bytes类型
  1.6.12 重载
  当我们想对python中原有的模块进行覆盖,又不希望退出当前的程序,就需要用到重载的概念
  # python2 内置函数 reload(module)  # python3  from importlib import reload reload(module)
  1.7 项目依赖库安装
  pip freeze > requirements.txt 导出项目的依赖。pip install -r requirements.txt 在项目中一次性安装依赖
  1.8 用venv 配置不同的开发环境
  pip install virtualenv进入到项目目录,执行virtualenv --no-site-packages venv(虚拟环境到名字) no-site-packages意思是不复制系统到安装包,得到的是纯净的环境激活虚拟环境 source venv/bin/activate。进入了venv环境,pip包时只安装到该环境下,系统python环境不受任何影响(windows系统venvScriptsactivate),激活后Python 解释器的路径就被添加进PATH 中。退出虚拟环境 deactivate,回到系统python环境
  python3内置了用于创建虚拟环境的venv,可直接使用python3 -m venv .venv(Linux下)
  py -3 -m venv .venv
  virtualenv --python=/usr/local/bin/python3 env3 #创建指定python版本的虚拟环境 --python 指定python解释器
  1.9.代码风格
  折叠长行的首选方法是在小括号,中括号,大括号中使用Python隐式换行。长行可以在表达式外面使用小括号来变成多行。连续行使用反斜杠更好。和None比较用is缩进使用4个空格,而不要用tab不要在for和while后面用else为变量赋值时,赋值符号的左右侧应该各自写上一个空格。文件中的函数和类之间应该用两个空行隔开。在同一个类中,各方法之间应该用一个空行隔开。
  1.10.新式类和旧式类
  python2中既有新式类又有旧式类,并且默认为经典类,只有显示继承object才是新式类。
  class a(Object):pass    #新式类写法 class a():pass        #经典类(旧式类)写法 class a:pass            #经典类写法        类.mro()      #查看解析顺序列表,只有新式类有该属性。     ---------------------------------------------------------------------- class a():     pass c=a() print dir(c) ---------------------------------out ["__doc__", "__module__"] class a(object):     pass c=a() print dir(c) ----------------------------   ---out ["__class__", "__delattr__", "__dict__", "__doc__", "__format__", "__getattribute__", "__hash__", "__init__", "__module__", "__new__", "__reduce__", "__reduce_ex__", "__repr__", "__setattr__", "__sizeof__", "__str__", "__subclasshook__", "__weakref__"] *:在编写python类时,尽量使用新式类,其包含更多属性。
  python3中只有新式类,默认式新式类,不必显式继承object。
  新式类增加了slots内置属性, 可以把实例属性的种类锁定到slots规定的范围之中。
  如果类是经典类,在多继承的情况下,会按照深度优先方式查找;如果类是新式类,在多继承的情况下,会按照广度优先方式查找;
  1.11.python序列化
  什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。
  json是可以在不同语言之间交换数据的,而pickle只在python之间使用。json只能序列化最基本的数据类型,而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。
  序列化的目的:
  以某种存储形式使自定义对象持久化。将对象从一个地方传递到另一个地方。使程序更具维护性。
  1.11.1 Json序列化
  用于字符串 和 python数据类型间进行转换
  Python
  JSON
  dict
  object
  list, tuple
  array
  str, unicode
  string
  int, long, float
  number
  True
  true
  False
  false
  None
  null
  JSON
  Python
  object
  dict
  array
  list
  string
  unicode
  number (int)
  int, long
  number (real)
  float
  true
  True
  false
  False
  null
  None
  -----------------------------loads和dumps--------------------------- import json dic = {"k1":"v1","k2":"v2","k3":"v3"} str_dic = json.dumps(dic)  #序列化:将一个字典转换成一个字符串 print(type(str_dic),str_dic)  # {"k3": "v3", "k1": "v1", "k2": "v2"} #注意,json转换完的字符串类型的字典中的字符串是由""表示的  dic2 = json.loads(str_dic)  #反序列化:将一个字符串格式的字典转换成一个字典 #注意,要用json的loads功能处理的字符串类型的字典中的字符串必须由""表示 print(type(dic2),dic2)  # {"k1": "v1", "k2": "v2", "k3": "v3"}   list_dic = [1,["a","b","c"],3,{"k1":"v1","k2":"v2"}] str_dic = json.dumps(list_dic) #也可以处理嵌套的数据类型  print(type(str_dic),str_dic) # [1, ["a", "b", "c"], 3, {"k1": "v1", "k2": "v2"}] list_dic2 = json.loads(str_dic) print(type(list_dic2),list_dic2) # [1, ["a", "b", "c"], 3, {"k1": "v1", "k2": "v2"}] -------------------------load和dump---------------------------- import json f = open("json_file","w") dic = {"k1":"v1","k2":"v2","k3":"v3"} json.dump(dic,f)  #dump方法接收一个文件句柄,直接将字典转换成json字符串写入文件 f.close()  f = open("json_file") dic2 = json.load(f)  #load方法接收一个文件句柄,直接将文件中的json字符串转换成数据结构返回 f.close() print(type(dic2),dic2
  1.11.2 pickle序列化
  用于python特有的类型 和 python的数据类型间进行转换。pickle操作文件时,需要以二进制的方式操作。
  import pickle dic = {"k1":"v1","k2":"v2","k3":"v3"} str_dic = pickle.dumps(dic) print(str_dic)  #一串二进制内容  dic2 = pickle.loads(str_dic) print(dic2)    #字典  import time struct_time  = time.localtime(1000000000) print(struct_time) f = open("pickle_file","wb") pickle.dump(struct_time,f)   #f.write(pickle.dumps(struct_time)) f.close()  f = open("pickle_file","rb") struct_time2 = pickle.load(f)  #struct_time2=pickle.loads(f.read()) print(struct_time2.tm_year)
  1.11.3 json序列化非基本数据类型
  如果目标对象是基本数据类型,则不会执行转换方法
  import json  class Info(object):     def __init__(self,name,age):         # super().__init__()         self.name=name         self.age=age  info=Info("selfeasy",12)  #由于json不支持将对象转为为序列化对象,所以需要做转换处理,实现default方法 """两种转换方式 1. 实现default参数所指定的方法 2. 继承JSONEncoder,并实现default方法 """ # 1. 实现default方法, 当反序列化时,为了保持原来的目标对象,需要实现object_hook所指向的函数方法 def makeJson(obj):     return dict(name=obj.name,age=obj.age)  def load_Json(obj):     return Info(obj["name"], obj["age"])  a=json.dumps(info, default=makeJson) print(a) print(json.loads(a,object_hook=load_Json))   # 2.继承JSONEncoder,实现default方法  class JsonMake(json.JSONEncoder):     def default(self, o):         if isinstance(o,Info):             return dict(name=o.name,age=o.age)         return super().default(o)  a=json.dumps(info, cls=JsonMake) print(a) print(json.loads(a,object_hook=load_Json))
  1.12.猴子补丁(Monkey patch)
  在动态语言中,不去改变源码而对功能进行追加和变更,是在程序运行的过程中去修改。
  1.追加功能 2.功能变更 3.修正程序错误
  4.增加钩子,在执行某个方法的同时执行一些其他的处理,如打印日志,实现AOP等。
  class XiaoMing(object):     def favorite(self):         print "apple"  class God(object):     @classmethod     def new_xiaoming_favorite(cls):         print "banana"      @classmethod     def monkey_patch(cls):         XiaoMing.favorite = cls.new_xiaoming_favorite  God.monkey_patch()  xiaoming = XiaoMing() xiaoming.favorite() >> banana
  1.13.上下文管理器
  上下文管理器是一个对象,为操作提供了额外的上下文消息,以一种优雅的方式将额外的处理封装起来。如果一个类实现了__enter__和__exit__方法则表明该类的实例是一个上下文管理器。上下文管理器通常和with搭配使用。实现上下文管理器的两种方式:类和装饰器
  类实现上下文管理器
  class context(object):     def __init__(self):         print ("上下文管理器初始化")          def __enter__(self):         print("上下文管理器开始执行")         return self          def __exit__(self,exec_type, exec_value, exec_traceback):         print ("上下文执行结束")      def operator(self):         print (1/2) with context() as obj:     obj.operator() --------------------------------out 上下文管理器初始化 上下文管理器开始执行 0.5 上下文执行结束
  备注 :当operator改为1/0时,程序执行后抛出异常;但是当在exit方法中返回True时(默认为False),程序不会报错,因为结果返回true就表示告诉python解释器,异常已捕获并解决,不需要往外抛了。
  装饰器实现上下文管理器
  可以不用写一个类来实现上下文管理器,类的实现过于繁杂。python提供了一个装饰器,只需按照它的协议来实现函数内容,即可以将该函数对象变成一个上下文管理器。
  from contextlib import contextmanager from traceback import format_exc @contextmanager def context(a,b):     print ("上下文管理器开始运行")  #enter方法     f=a/b     try:         yield f     except Exception:         print ("处理异常")     finally:         print("finally")   with context(1,2) as f:     print (123)     print(f) ----------------------------------out 上下文管理器开始运行 123 0.5 finally
  备注:try之前的代码会在装饰器的__enter__方法中执行;当执行到yield时,它的产出值会作为__enter__的返回值,赋值给as后的变量。当with块的代码执行完成后,上下文管理器会在yield处恢复,继续执行yield后的代码,后面的代码在装饰器的__exit__方法中被调用。
  当程序发生异常时,后面的代码不会执行(包括finally代码)
  上下文管理器类与@contextmanager中最大的区别在于对异常的处理。以类的方式实现的上下文管理器,在引发异常时,exit方法内的代码仍会正常执行;而以生成器函数实现的上下文管理器,在引发异常时,exit方法会将异常传递给生成器,如果生成器无法正确处理异常,则yield之后的代码不会执行。
  1.14. 可散列的数据类型
  如果一个对象是可散列的,那么在这个对象的生命周期中,它的散列值是不变的,而且这个对象需要实现 __hash__() 方法。另外可散列对象还要有 __eq__() 方法,这样才能跟其他键做比较。如果两个可散列对象是相等的,那么它们的散列值一定是一样的。原子不可变数据类型(str、bytes 和数值类型)都是可散列类型。
  1.15. Python 运行时
  python -m xxx  #相当于import,当作模块运行,当前脚本路径不会加入到sys.path中。 python xxx.py  #直接运行,当前脚本路径会加入到sys.path中。  python -m site #显示sys.path的值内容,即python搜索模块的目录
  1.16. 原地操作
  许多运算符都有原地操作,如add方法对应的原地操作是iadd。python中的运算符和operator模块中的函数是对应的
  不可变类型的目标
  对于不可变的目标如字符串、数字、元组等,当调用一个原地方法是,分两步执行,运算和赋值。当调用原地函数时,只执行运算嘛,不执行赋值操作。如下:
  >>> import operator >>> a="hello" >>> operator.iadd(a, " world")#若要更新变量,则需要执行赋值操作,即a=operator.iadd(a, " world") "hello world" >>> a "hello"
  可变类型的目标
  对于可变的目标,如列表、字典,原地方法将执行更新,因此不需要后续赋值操作。如下:
  >>> import operator >>> s = ["h", "e", "l", "l", "o"] >>> iadd(s, [" ", "w", "o", "r", "l", "d"]) ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"] >>> s ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]
  1.17 python -c 和-m区别
  0. python xxx.py 直接运行 1. python -m xxx.py当作模块执行,相当于import 2. python -c 当作命令,脚本执行
  1.18 查看包搜索路径的几种方法
  import sys from pprint import pprint pprint(sys.path)
  python -c "import sys;print sys.path"
  python -m site
  1.19 快速构建HTML帮助文档
  python -m pydoc -p 8180 #开启本地http服务
  1.20 字符串转义
  正则表达式re中就用到了转义
  当字符串中使用到特殊字符时,有时候我们不想让其发生转义,而想原样式输出,我们可以使用r字符来定义原始字符串。如下:
  str = "Python Java"  print(str) # out  Python Java  str = r"Python Java" print(str)  # out Python Java
  2.错误解决方法
  2.1 ImportError错误
  普通的package和python packae
  错误分析:from package import xxx 时,package无法被识别为python package      解决办法:在package下新建__init__.py即可,此时package被视为python package
  循环导入
  from a  inport b  # module a     from b import a   # module b
  解决办法:
  在模块的最后使用import语句。在函数内导入模块(即使用到该模块内容的函数内部)

如何促进中国光伏产业更好发展?全国人大代表全国工商联副主席通威集团董事局主席刘汉元建议支持水面光伏项目发展作为光伏行业的老兵,全国人大代表全国工商联副主席通威集团董事局主席刘汉元近日接受中国证券报记者采访时表示在实现双碳目标进程中,化石能源消费量会大大下降,作为基础能源应用的量几乎会下全国人大代表山东省财政厅长李峰政府采购提高中小企业预留份额,其中近八成授予中小微企业中国经济周刊记者宋杰全国两会报道全国人大代表山东省财政厅厅长李峰(受访者供图)作为一名地方财政部门的代表,我们将坚决贯彻中央决策部署,锚定政府工作报告确定的目标任务,扎实做好各项工鼓楼,凭什么火了?日前,福州人的朋友圈被一条1分34秒的视频刷屏了!短短两天全网浏览量突破千万!左右滑动查看更多全国文旅局长卷起来鼓楼区文体旅局的领导们也集体变装出道,纷纷披挂上阵他们有的击鼓鸣志,飞向北极丨小天鹅晨晨北飞前留下到此一游照片借你的好运气,见到了晨晨。电话里,姚毅语气轻快地告诉记者。3月8日晚,小天鹅晨晨从近日栖息地大通湖起飞,9日0点进入采桑湖,迁飞在即。东古湖的小天鹅一飞而尽,应该也是先到采桑湖聚集出差在西安,走了这么多地方还差什么地方,西安和陕西的朋友补充出差来到了西安,有幸欣赏西安的美景,品尝西安的小吃。都说西安是历史文化名城,十三朝古都,在过去的20天期间。走过以下景区大雁塔景区小雁塔景区大唐不夜城(灯光秀是真的很好看手机完全拍熬夜也要学会养生,这样吃补充精力更轻松熬夜伤身伤神,即使很多人知道这个道理,但很多人由于工作和学习的问题,还是像家常便饭一样,无法摆脱熬夜的苦恼。长期熬夜的人容易出现健康问题,熬夜猝死的案例并不少见。因此,我们更应格外坚持快走,能降血压吗?北京大学第三医院研究给出最佳步数随着生活水平的不断提高,人们饮食也得到了很大的改变,如果在饮食上不得多加注意,可能就会诱发自身的血压持续飙升。如果人体一旦患高血压之后,就需要常年服用药物进行管控降压,如果不能够及流行俗说与养生宝典伊洛野老似乎每逢伏尽暑除,秋风准备潇洒金风尚未送爽之际,有一句冬吃萝卜夏吃姜,不劳医生开药方的俗话都会年复一年的流行,类陈札泛起,又类似自然在布道也可以说真是诲人不倦的了。但这话的医生说春季也是失眠季,送你几个小妙方助睡眠俗话说春困秋乏夏打盹,睡不醒的冬三月。阳春三月的铜川气温逐渐回升,让人颇为惬意舒适。这份舒适也让不少人白天总是昏昏欲睡,晚上却难以入眠。北中医孙思邈医院针灸科主治医师石珍表示,随着脾虚看这里你就全知道了,一个一个给你说明白了第一种脾虚是比较常见的,就是脾气虚然后就是脾气虚了升不起来,就是脾气不升脾气不足,阳气容易侵犯和流失这类脾虚多见是平时熬夜吃辛辣多的人,是伤阴脾是主运化的,脾虚就容易生湿,也是湿气肾阴虚该如何调理?肾阴虚怎么调理,之前常常觉得腰酸腿软的,晚上也睡不好,白天总是时不时地有头晕症状,这几天更是频频失眠做梦,早上起来累得不行,工作都没精神,我来告诉各位肾阴虚怎么调理。第一,肾阴虚可
夏绿蒂公主交办老爸这项任务,威廉王子使命必达!粉丝说太可爱啦威廉王子非常宠爱夏绿蒂公主。英国威廉王子(PrinceWilliam)15日参观参观位于特伦特河畔伯顿的英格兰国家足球中心圣乔治公园,他陪着为英格兰女子足球代表队练球,并为她们加油开播前以为是烂片,开播后却拿下第一!国产战争片摸到天花板了?直到现在,我还是沉浸在悲痛与感动的情绪中,没能走出来。时间,已经过去了三个小时。老实说,在这部绝地防线开播之前,我以我不太准的直觉判断,这部网大,有至少90的可能,是一部不折不扣的年轻人心目中永远的精神图腾!捷途大圣与大圣归来发布联名5月12日,捷途大圣与著名动画电影大圣归来正式发布联名IP形象。作为全球华人心目中最著名的英雄形象之一,大圣二字早已飞跃了时间与空间的跨度,其份量不言而喻。如今,捷途大圣携手大圣归当年偶像剧的审美好离奇,年幼无知的我曾认为,那就是潮流和时尚人都念旧,尤其是进入中年后,就越发地爱回忆过往,青涩的初恋浪漫的校园,还有那满是胶原蛋白的小脸蛋仿佛青春年少时,一切都是美好的。殊不知,这都是情怀滤镜的效应。比如我们曾疯狂痴迷过的秦晓雯不讲情面,33岁首钢老将正式签约新东家,联手李楠冲季后赛北京首钢作为上个赛季CBA投入最多的球队之一,在季后赛中取得的成绩却无法让人满意。在季后赛中的早早出局,让首钢的领导层十分失望,因此球队整改在所难免。董事长秦晓雯更是不讲情面,将清北京队3消息!解立彬担任主教练,14年老将退役,混血中锋续约进入夏天之后,CBA各支球队备战下赛季脚步加快,尤其是重建中的队伍,必须马上确定教练组和球员阵容,比如山东青岛吉林都在发生翻天覆地的变化。当然,球迷非常关心北京首钢的动向,自从季后正式确定!中国男篮大调整,王哲林被放弃,杜锋打造全新阵容经历了两周的训练之后,中国男篮进行了几场内部热身赛,杜锋的用意很明显,一个就是通过比赛来帮助球员寻找状态,另外也是来决定最终的名单,根据计划,中国男篮将会带14名球员出征。通过最近太方便了!国务院客户端上线新功能可轻松查询老人小孩核酸结果6月15日消息,国务院客户端发布消息,官方正式上线新功能,可以一键快速查询家里老人小孩的核酸结果。以后,仅需将家里的老人小孩都添加为常用成员,下次就能一键查询,比以前方便很多。(雷APP第三方登录怎么实现的在日常使用各个APP的时候,大家应该都或多或少接触过与授权有关的场景。大家有没有想过在不需要输入密码账号的情况下,是怎么实现第三方登录的呢?本文作者将结合自己的项目经历来跟大家谈谈凯尔特人G6背水一战双探花信心十足目前,NBA总决赛凯尔特人和勇士激战正酣,绿军在一度取得2比1领先的情况下,被勇士连扳两场。G4和G5是绿军自3月下旬输给多伦多猛龙队和迈阿密热火队以来第一次连败。在那之前,他们自3分球18中18!曾凡博选秀发力,NBA专家罕见表态,3支球队有意厉害!3分球18连中了!曾凡博令现场的各位选秀专家接连称赞!曾凡博是目前几名参加NBA的中国球员中,希望最大的一位。一直以来,他没有和其他球员一样去参加联合试训,而是根据经纪公司的