Python 想必大家都已经很熟悉了,甚至关于它有用或者无用的论点大家可能也已经看腻了。但是无论如何,它作为一个将加入高考科目的语言还是有它独到之处的,今天我们就再展开聊聊 Python。

Python 是一门动态强类型语言
《流畅的 Python》一书中提到,如果一门语言很少隐式转换类型,说明它是强类型语言,例如 Java、C++ 和 Python 就是强类型语言。

Python 的强类型体现

同时如果一门语言经常隐式转换类型,说明它是弱类型语言,PHP、JavaScript 和 Perl 是弱类型语言。

动态弱类型语言:JavaScript

当然上面这种简单的示例对比,并不能确切的说 Python 是一门强类型语言,因为 Java 同样支持 integer 和 string 相加操作,且 Java 是强类型语言。因此《流畅的 Python》一书中还有关于静态类型和动态类型的定义:在编译时检查类型的语言是静态类型语言,在运行时检查类型的语言是动态类型语言。静态语言需要声明类型(有些现代语言使用类型推导避免部分类型声明)。

综上所述,

Type Hints 初探
Python 在 PEP 484(Python Enhancement Proposals,Python 增强建议书)[https://www.python.org/dev/pe...]中提出了 Type Hints(类型注解)。进一步强化了 Python 是一门强类型语言的特性,它在 Python3.5 中第一次被引入。使用 Type Hints 可以让我们编写出带有类型的 Python 代码,看起来更加符合强类型语言风格。

这里定义了两个 greeting 函数:

普通的写法如下:

https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv817xo8
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv817of2
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv817f7g
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv8175z6
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv816wtj
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv816np2
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv816egn
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv8165a7
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv815w7k
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv815mw5
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv815dxw
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv814iqp
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vqjr8
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vqanm
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vq1fz
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vps0g
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vpiue
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vp9ip
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vp09z
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vor15
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vohni
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vo8lr
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vnzmp
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vnqa7
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vngy6
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vn7we
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vmyqp
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vmped
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vmg8s
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vm6wq
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vlxqi
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vlom0
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vlfej
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vl6a0
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vkwzl
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vknq4
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vkej5
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vk5fh
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vjwih
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vjn0g
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vjduo
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vj4vw
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vivs0
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vimb5
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vidfb
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vi4a9
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vhv6d
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vhm92
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vh4le
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vgv9o
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vgm6s
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vgcyg
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vg3vy
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vfuvc
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vflui
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vfcol
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vf3kw
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7veubm
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7velam
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vecet
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ve2vy
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vdtpn
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vdklb
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vdbbm
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vd25r
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vct70
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vck54
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vcb16
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vc1vi
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7vbswd
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vbk4f
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vbarq
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vb1q1
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7vasn4
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vajjv
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7vaaiy
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7va1kk
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v9siv
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v9jex
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v9aj9
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v91lg
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v8stg
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v8jpu
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v8alb
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v81fi
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v7sgb
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v7jh7
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v7agp
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v71di
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v6sl5
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v6jew
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v6aja
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v61sl
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v5skv
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v5jhr
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v5ajh
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v51hg
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v4siu
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v4jne
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v4ak1
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v41mg
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v3sl0
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v3jnp
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v3awb
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v31tf
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v2syj
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v2jua
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v2b5c
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v228g
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v1tfm
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v1klv
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v1bq3
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v12pf
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v0tqs
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7v0l29
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7v0byi
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7v033w
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uzu9l
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uzle7
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uzcjm
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uz411
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uyuyh
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uym9t
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uydkc
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uy4tn
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uxw14
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uxnfm
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uxec6
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ux5mu
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uwwqq
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uwo18
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uwf3i
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uw683
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uvx7z
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uvoid
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uvfqi
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uv709
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uuy0v
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uupf4
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uugda
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uu7m9
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7utys3
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7utpx3
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uth7f
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ut8gz
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uszk6
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7usqva
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7usi5a
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7us9e8
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7us0op
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7urrro
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7urixn
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uraax
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ur1i6
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uqsj7
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uqjp4
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uqb3j
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uq26m
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uptgm
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7upkpv
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7upbnu
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7up2vf
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uougd
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uolmk
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uod5s
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uo4gw
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7unvns
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7unmyi
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7une8p
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7un586
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7umwm6
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7umnym
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7umfcb
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7um6og
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ulybw
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ulpgv
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ulh3g
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ul8is
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ukzvb
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ukr9t
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ukiyq
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uka9c
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uk1jc
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ujt1g
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ujke9
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ujbqr
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uj3fe
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uiuou
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uim1m
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uidc5
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ui4t5
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uhw9x
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uhnx4
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uhf77
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uh6v7
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ugy4i
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ugpk6
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ugh0b
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ug8li
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ufzsy
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ufio7
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ufa28
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uf1m0
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7uet7v
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uekmu
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uec4h
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ue3l1
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7udv5f
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7udmpt
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7udekg
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ud5v9
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ucxby
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ucovf
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ucgfb
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uc7t6
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ubze3
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ubqoz
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ubib7
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ub9jp
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ub15h
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uasp4
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7uakbt
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7uabkx
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7ua3bl
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u9ut4
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u9ma9
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u9dse
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u95cg
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u8woj
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u8o5g
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u8frq
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u879h
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u7yqx
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u7qkp
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u7i0r
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u79os
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u719u
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u6t3a
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u6kow
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u6cif
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u63yr
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u5vly
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u5nao
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u5er3
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u56n3
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u4yoj
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u4q0h
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u4hoc
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u49cx
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u4122
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u3sv0
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u3knm
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u3c43
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u33ua
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u2viz
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u2ncc
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u2ewn
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u26se
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u1yd4
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u1q3l
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u1hxl
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7u19ol
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u11by
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u0tfe
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u0kyw
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7u0cvh
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7u04o6
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7tzwnk
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7tzogo
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7tzgjx
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7tz872
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7tz030
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7tyryt
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7tyjry
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7tybkb
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7ty3e4
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7txv8g
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7txmyu
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7txewg
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7tx6ot
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7twyhq
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7twqm2
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7twiau
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7twa5v
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7tw2ab
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7tvtun
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7tvllq
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7tvdj9
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7tv5fi
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7tuxc9
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7tupd4
https://www.premiumbeat.com/zh-Hant/playlists/1o7v1kv7tuh94
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7tu959
https://www.premiumbeat.com/zh-Hant/playlists/ejnk3i1kv7tu19f
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ttsyh
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ttkuc
https://www.premiumbeat.com/zh-Hant/playlists/24jthrd1kv7ttcxk

name = "world"

def greeting(name):
    return "Hello " + name

greeting(name)
加入了 Type Hints 的写法如下:
name: str = "world"

def greeting(name: str) -> str:
    return "Hello " + name

greeting(name)
以 PyCharm 为例,在编写代码的过程中 IDE 会根据函数的类型标注,对传递给函数的参数进行类型检查。如果发现实参类型与函数的形参类型标注不符就会有如下提示:

常见数据结构的 Type Hints 写法
上面通过一个 greeting 函数展示了 Type Hints 的用法,接下来我们就 Python 常见数据结构的 Type Hints 写法进行更加深入的学习。

默认参数

Python 函数支持默认参数,以下是默认参数的 Type Hints 写法,只需要将类型写到变量和默认参数之间即可。

def greeting(name: str = "world") -> str:
    return "Hello " + name

greeting()
自定义类型

对于自定义类型,Type Hints 同样能够很好的支持。它的写法跟 Python 内置类型并无区别。

class Student(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age


def student_to_string(s: Student) -> str:
    return f"student name: {s.name}, age: {s.age}."

student_to_string(Student("Tim", 18))
当类型标注为自定义类型时,IDE 也能够对类型进行检查。

容器类型

当我们要给内置容器类型添加类型标注时,由于类型注解运算符 [] 在 Python 中代表切片操作,因此会引发语法错误。所以不能直接使用内置容器类型当作注解,需要从 typing 模块中导入对应的容器类型注解(通常为内置类型的首字母大写形式)。

from typing import List, Tuple, Dict

l: List[int] = [1, 2, 3]

t: Tuple[str, ...] = ("a", "b")

d: Dict[str, int] = {
    "a": 1,
    "b": 2,
}
不过 PEP 585[https://www.python.org/dev/pe...]的出现解决了这个问题,我们可以直接使用 Python 的内置类型,而不会出现语法错误。

l: list[int] = [1, 2, 3]

t: tuple[str, ...] = ("a", "b")

d: dict[str, int] = {
    "a": 1,
    "b": 2,
}
类型别名

有些复杂的嵌套类型写起来很长,如果出现重复,就会很痛苦,代码也会不够整洁。

config: list[tuple[str, int], dict[str, str]] = [
    ("127.0.0.1", 8080),
    {
        "MYSQL_DB": "db",
        "MYSQL_USER": "user",
        "MYSQL_PASS": "pass",
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
    },
]

def start_server(config: list[tuple[str, int], dict[str, str]]) -> None:
    ...

start_server(config)
此时可以通过给类型起别名的方式来解决,类似变量命名。

Config = list[tuple[str, int], dict[str, str]]


config: Config = [
    ("127.0.0.1", 8080),
    {
        "MYSQL_DB": "db",
        "MYSQL_USER": "user",
        "MYSQL_PASS": "pass",
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
    },
]

def start_server(config: Config) -> None:
    ...

start_server(config)
这样代码看起来就舒服多了。

可变参数

Python 函数一个非常灵活的地方就是支持可变参数,Type Hints 同样支持可变参数的类型标注。

def foo(*args: str, **kwargs: int) -> None:
    ...

foo("a", "b", 1, x=2, y="c")
IDE 仍能够检查出来。

泛型

使用动态语言少不了泛型的支持,Type Hints 针对泛型也提供了多种解决方案。

TypeVar

使用 TypeVar 可以接收任意类型。

from typing import TypeVar

T = TypeVar("T")

def foo(*args: T, **kwargs: T) -> None:
    ...

foo("a", "b", 1, x=2, y="c")
Union

如果不想使用泛型,只想使用几种指定的类型,那么可以使用 Union 来做。比如定义 concat 函数只想接收 str 或 bytes 类型。

from typing import Union

T = Union[str, bytes]

def concat(s1: T, s2: T) -> T:
    return s1 + s2

concat("hello", "world")
concat(b"hello", b"world")
concat("hello", b"world")
concat(b"hello", "world")
IDE 的检查提示如下图:

TypeVar 和 Union 区别

TypeVar 不只可以接收泛型,它也可以像 Union 一样使用,只需要在实例化时将想要指定的类型范围当作参数依次传进来来即可。跟 Union 不同的是,使用 TypeVar 声明的函数,多参数类型必须相同,而 Union 不做限制。

from typing import TypeVar

T = TypeVar("T", str, bytes)

def concat(s1: T, s2: T) -> T:
    return s1 + s2

concat("hello", "world")
concat(b"hello", b"world")
concat("hello", b"world")
以下是使用 TypeVar 做限定类型时的 IDE 提示:

Optional

Type Hints 提供了 Optional 来作为 Union[X, None] 的简写形式,表示被标注的参数要么为 X 类型,要么为 None,Optional[X] 等价于 Union[X, None]。

from typing import Optional, Union

# None => type(None)
def foo(arg: Union[int, None] = None) -> None:
    ...


def foo(arg: Optional[int] = None) -> None:
    ...
Any

Any 是一种特殊的类型,可以代表所有类型。未指定返回值与参数类型的函数,都隐式地默认使用 Any,所以以下两个 greeting 函数写法等价:

from typing import Any

def greeting(name):
    return "Hello " + name


def greeting(name: Any) -> Any:
    return "Hello " + name
当我们既想使用 Type Hints 来实现静态类型的写法,也不想失去动态语言特有的灵活性时,即可使用 Any。

Any 类型值赋给更精确的类型时,不执行类型检查,如下代码 IDE 并不会有错误提示:

from typing import Any

a: Any = None
a = []  # 动态语言特性
a = 2

s: str = ''
s = a  # Any 类型值赋给更精确的类型
可调用对象(函数、类等)

Python 中的任何可调用类型都可以使用 Callable 进行标注。如下代码标注中 Callable[[int], str],[int] 表示可调用类型的参数列表,str 表示返回值。

from typing import Callable

def int_to_str(i: int) -> str:
    return str(i)

def f(fn: Callable[[int], str], i: int) -> str:
    return fn(i)

f(int_to_str, 2)
自引用

当我们需要定义树型结构时,往往需要自引用。当执行到 init 方法时 Tree 类型还没有生成,所以不能像使用 str 这种内置类型一样直接进行标注,需要采用字符串形式“Tree”来对未生成的对象进行引用。

class Tree(object):
    def __init__(self, left: "Tree" = None, right: "Tree" = None):
        self.left = left
        self.right = right

tree1 = Tree(Tree(), Tree())
IDE 同样能够对自引用类型进行检查。

此形式不仅能够用于自引用,前置引用同样适用。

鸭子类型

Python 一个显著的特点是其对鸭子类型的大量应用,Type Hints 提供了 Protocol 来对鸭子类型进行支持。定义类时只需要继承 Protocol 就可以声明一个接口类型,当遇到接口类型的注解时,只要接收到的对象实现了接口类型的所有方法,即可通过类型注解的检查,IDE 便不会报错。这里的 Stream 无需显式继承 Interface 类,只需要实现了 close 方法即可。

from typing import Protocol

class Interface(Protocol):
    def close(self) -> None:
        ...

# class Stream(Interface):
class Stream:
    def close(self) -> None:
        ...

def close_resource(r: Interface) -> None:
    r.close()

f = open("a.txt")
close_resource(f)

s: Stream = Stream()
close_resource(s)
由于内置的 open 函数返回的文件对象和 Stream 对象都实现了 close 方法,所以能够通过 Type Hints 的检查,而字符串“s”并没有实现 close 方法,所以 IDE 会提示类型错误。

Type Hints 的其他写法
实际上 Type Hints 不只有一种写法,Python 为了兼容不同人的喜好和老代码的迁移还实现了另外两种写法。

使用注释编写

来看一个 tornado 框架的例子(tornado/web.py)。适用于在已有的项目上做修改,代码已经写好了,后期需要增加类型标注。

使用单独文件编写(.pyi)

可以在源代码相同的目录下新建一个与 .py 同名的 .pyi 文件,IDE 同样能够自动做类型检查。这么做的优点是可以对原来的代码不做任何改动,完全解耦。缺点是相当于要同时维护两份代码。

Type Hints 实践
基本上,日常编码中常用的 Type Hints 写法都已经介绍给大家了,下面就让我们一起来看看如何在实际编码中中应用 Type Hints。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 机器学习(二)多元线性回归算法预测房价

    机器学习(二)多元线性回归算法预测房价 “garbage in garbage out”(简称GIGO),是计算机术语常用的俚语,意思是如果你输入错误的数据,那么(计算机)输出的结果也是错误的。…...

    2024/4/28 23:02:02
  2. 三大变换的前世今生

    本文主要介绍三大变换(傅里叶变换、拉普拉斯变换及Z变换)的发展史及其之间的联系。...

    2024/4/29 0:13:09
  3. Spring什么是复杂对象

    简单对象:可以直接通过 new 构造方法创建的对象; UserService UserDAO Customer Person ......复杂对象:不能直接通过 new 构造方法创建的对象。 Connection SqlSessionFactory .........

    2024/4/28 13:42:16
  4. 【从零开始学深度学习编译器】十二,MLIR Toy Tutorials学习笔记一

    本笔记由学习MLIR Tutorials总结而成,欢迎批评指正。 Chapter1: Toy语言和AST MLIR提供了一种Toy语言来说明MLIR的定义和执行的流程。Toy语言是一种基于张量的语言,我们可以使用它来定义函数,执行一些数学计算以及输出结果。下面要介绍的例子…...

    2024/4/28 13:00:29
  5. IK分词器和ElasticSearch集成使用,Java月薪过万要掌握的技能

    标准分词于IK分词器的对比 使用标准分词器查询中文: 请求 :GET http://localhost:9200/_analyze?analyzerstandard&prettytrue&text这是一段内容 结果: 使用标准分词器显然得不到我们需要的分词效果,这样的话就需要对中文支持良好…...

    2024/4/28 7:56:08
  6. CSDN实训任务挑战-走进Java,安装JDK及实现第一个代码。

    在没有接触编程的时候,觉得很神奇,很牛逼。两个月的学习后,我发现,,它是真的非常非常牛逼(手动滑稽)。C语言和HTML都只学了一点的我,对Java很是陌生,但又很好奇。碰巧有这…...

    2024/4/21 17:01:50
  7. 服务器镜像系统选择

    服务器镜像系统选择 什么是镜像 提供启动云服务器实例所需的所有信息。通俗地说,镜像就是云服务器的“装机盘”。 服务器镜像列表 服务器支持两类操作系统镜像,即Windows系统和Linux类系统 Linux类镜像:CentOS、CoreOS、Debian、FreeBSD、…...

    2024/4/21 17:01:49
  8. 知识图谱一些基础知识

    看到有关知识图谱多条问答的paper,对这个领域了解较少,看到一些资料,便记载 什么是知识图谱:是一种有向的图结构,由节点和有向边组成,节点代表“知识”,边代表节点与节点之间的关系。例如&…...

    2024/4/21 17:01:49
  9. MEXC Global分享:区块链技术有哪些应用场景?

    区块链最初是作为一种机制来支持BTC。为了解决数字货币的互操作性问题,中本聪设计了一个不可更改的分类账,并用加密技术将数据块链接在一起。 这个想法很快在BTC和其他Crypto中得到了验证。然而,区块链的应用并不仅限于此。我们只是在本文中列…...

    2024/4/21 17:01:47
  10. 一个用来在屏幕上打印出输入年份下月份对应日历的小程序:

    #define _CRT_SECURE_NO_WARNINGS //如在visual studio上编译运行&#xff0c;需加上此句 #include<stdio.h> int main() {long int year, month, i, n, flag;long long int days1 0, days2 0;printf("\n* * * * * *此程序用于生成对应年份下相应月的日历* * * * …...

    2024/4/21 17:01:46
  11. 数据结构(Java)——No1.集合框架中接口之间的关系及其含义

    数据结构&#xff08;Java&#xff09;——No1.集合框架中接口之间的关系及其含义一.集合中的接口二.接口之间的关系三.集合框架底层数据结构1.Llst&#xff08;线性结构&#xff09;2.Set&#xff08;元素不能重复&#xff09;3.Map&#xff08;用key搜索的的专家&#xff09;…...

    2024/4/21 17:01:45
  12. Hive-JDBC操作,Java常用面试题和答案

    Java是通过beeline来连接Hive的。启动beeline最重要的就是配置好hive-site.xml。 其中javax.jdo.option.ConnectionURL涉及到一个数据库&#xff0c;最好重新删掉原来的metastore数据库然后重新创建一个并初始化一下。 mysql> create database metastore; cd /usr/local/C…...

    2024/4/21 17:01:45
  13. app测试之adb常用命令

    目录 安装与卸载应用包 安装 卸载 清除应用数据与缓存 常用查看命令 查看应用包 手机信息 服务相关 进程相关 性能相关 截屏 安装与卸载应用包 安装 adb install apk包名及路径 ——注意&#xff1a;安装路径中不要出现中文&#xff0c;一定要带安装包的后缀…...

    2024/4/21 17:01:43
  14. C语言经典算法

    1. 采用递归求解的方法&#xff0c;用倒序输出字符串系统&#xff0c;用户输入字符串&#xff0c;程序运行后&#xff0c;将倒序输出。 #include "stdio.h" void reverse(){char c ;if((cgetchar())!\n){reverse();};printf("%c",c); };int main(){printf…...

    2024/4/21 17:01:42
  15. Qt5 - 插件管理(一)

    Qt5 - 插件管理(一) 最近第一次接触Qt的插件&#xff0c;也是第一次使用插件框架去实现一个独立的小软件&#xff0c;记录一下对Qt插件的理解。 我认为比较重要的概念&#xff0c;Qt中的插件&#xff0c;有两点&#xff0c;一是插件实质就是动态库&#xff0c;二是插件需要符合…...

    2024/4/21 17:01:41
  16. R语言Affinity Propagation+AP聚类实战

    R语言Affinity Propagation+AP聚类实战 目录...

    2024/4/24 20:22:20
  17. R语言KMeans聚类分析确定最优聚类簇数实战:Calinski-Harabasz准则(确定最优聚类簇数)

    R语言KMeans聚类分析确定最优聚类簇数实战:Calinski-Harabasz准则(确定最优聚类簇数) 目录...

    2024/4/25 15:28:44
  18. Nginx + Keepalived 部署Web服务

    软件环境&#xff1a; OS&#xff1a;CentOS Linux release 7.9.2009 Nginx&#xff1a;V1.20.1 Keepalived&#xff1a;V1.3.5 OS 系统安装配置 关闭iptables systemctl disable iptables 关闭firewalld systemctl disable firewalld 关闭selinux sed -i s/SELINUXenforcing…...

    2024/4/21 17:01:38
  19. R语言KMeans聚类分析确定最优聚类簇数实战:肘部法则elbow method(确定最优聚类簇数)

    R语言KMeans聚类分析确定最优聚类簇数实战:肘部法则elbow method(确定最优聚类簇数) 目录...

    2024/4/20 4:03:18
  20. 基于java爬虫的就业大数据系统设计与实现.rar(含论文+程序毕业设计)

    如果安装问题可以访问&#xff1a;https://www.bilibili.com/video/BV1S3411C7zo/ 基于java爬虫的就业大数据系统设计与实现 1 摘 要 1 1.1课题选题背景 4 1.2课题研究的意义 4 2.1功能需求分析 4 2.2系统性能分析 5 3.1系统工作流程图 5 3.2数据结构设计 7 3.3系统各功能流程图…...

    2024/4/20 14:08:19

最新文章

  1. 基于Hadoop的网上购物行为分析设计与实现

    2.8 数据分析及可视化 2.8.1 店铺销售情况分析 通过这里可以看出&#xff0c;该店家的数据用户访问量比较的大&#xff0c;有接近6W多条数据&#xff0c;但是通过对用户进行透视分析发现只有981位用户&#xff0c;其次就是对于用户购买次数进行分析&#xff0c;发现数据只有27…...

    2024/4/29 0:31:43
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Linux mount用法

    在Linux系统中&#xff0c;系统自动挂载了以下挂载点&#xff1a; /: xfs文件系统&#xff0c;根文件系统, 所有其他文件系统的挂载点。 /sys: sysfs文件系统&#xff0c;提供内核对象的信息和接口。 /proc: proc文件系统&#xff0c;提供进程和系统信息。 /dev: devtmpfs文件系…...

    2024/4/24 0:39:01
  4. WPS二次开发专题:WPS SDK实现文档打印功能

    作者持续关注WPS二次开发专题系列&#xff0c;持续为大家带来更多有价值的WPS开发技术细节&#xff0c;如果能够帮助到您&#xff0c;请帮忙来个一键三连&#xff0c;更多问题请联系我&#xff08;QQ:250325397&#xff09; 在办公场景或者家教场景中经常碰到需要对文档进行打印…...

    2024/4/26 8:23:14
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/28 13:52:11
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/28 13:51:37
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/28 15:57:13
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57