forked from huangsam/ultimate-python
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvariable.py
More file actions
Latest commit
63 lines (52 loc) · 2.09 KB
/
Copy pathvariable.py
File metadata and controls
63 lines (52 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""
Variables allow us to store values in named records that can be used in
a program. This module shows how to define variables and make assertions
about the state of each defined variable.
"""
importmath
defmain() ->None:
# Here are the main literal types to be aware of
a=1
b=2.0
c=True
d="hello"
# Notice that each type is a class. Each of the variables above refers
# to an instance of the class it belongs to
a_type=type(a)
b_type=type(b)
c_type=type(c)
d_type=type(d)
# Also, say hello to the `assert` keyword! This is a debugging aid that
# we will use to validate the code as we progress through each `main`
# function. These statements are used to validate the correctness of
# the data and to reduce the amount of output sent to the screen
asserta_typeisint
assertb_typeisfloat
assertc_typeisbool
assertd_typeisstr
# Everything is an object in Python. That means instances are objects
# and classes are objects as well
assertisinstance(a, object) andisinstance(a_type, object)
assertisinstance(b, object) andisinstance(b_type, object)
assertisinstance(c, object) andisinstance(c_type, object)
assertisinstance(d, object) andisinstance(d_type, object)
# We can represent integer literals in Python using 4 bases: decimal,
# hexadecimal, octal, and binary. Decimal literals do not require any
# prefix while other bases require prefixes:
# - `0x` for hexadecimal
# - `0o` for octal
# - `0b` for binary
assert100==0x64==0o144==0b1100100
# We can use underscores (literal `_`) to separate digit groups in
# integer literals
assert10_000==10000
assert0x01_0F_2C==69_420
assertmath.isclose(3.456_290e-1, 0.3_456_290)
# There is also a special literal called None. This literal is used to
# point that a particular variable or object is not created
e=None
e_type=type(e)
asserte_typeistype(None)
assertisinstance(e, object) andisinstance(e_type, object)
if__name__=="__main__":
main()