learning python 2 – 数据类型和变量、字符串和编码


数据类型

整数,十六进制整数0x+0-9、a-f

print(0x9a) 

----

154

 

浮点数:数学写法、科学计数法  如:1.23e9(1.23×10^9) 1.23e-5(1.2×10^-5)

print(1.23e5)

----

123000.0

 

字符串:' ' 或者" "

◊ 如果 ' 本身也是一个字符,可以使用" " 括起来。

转义字符 \  e.g. I'm "OK"!

print('I\'m OK.')   # I'm OK.

print("I'm OK!")    # I'm OK!

print('I\'m "OK"!') # I'm "OK"!

\n 换行   \t制表符   \\ 对"\"转义

print('\\\n\\')    

----

\

\

◊ 使用 r' ' 表示 ' ' 内部的字符串默认不转义

print('\\\t\\')   # \   \

print(r'\\\t\\')  # \\\t\\

 

◊ 用 '''...''' 格式表示多行内容。ps: 交互式命令行中...是提示符,不是代码的一部分

print('''line1

line2

line3''')

----

line 1

line 2

line 3

◊ r'''...'''表示''' '''内部字符串默认不转义

print(r'''hello,\n

world''')

----

hello,\n

world

 

布尔值 True False 注意大小写

print (3 > 2) # True

print (3 > 5) # False

布尔值运算

◊ and与运算(所有为true 结果才是true)

◊ or或运算 (只要有个true 结果就是true)

◊ not非运算

age = int(input('please enter your age:'))

if age >= 18:

    print('Welcome!')

else:

    print('Sorry, you are not allowed to enter.')

----

Please enter your age: 21

Welcome!

 

空值 None

 

变量

变量可以是任意数据类型

必须是大小写英文、数字和_的组合,且不能数字开头

a = 123

print(a)

a = 'ABC'

print(a)

像这种变量本身类型不固定的语言称为动态语言

静态语言则是在定义变量的时候指定了变量类型,如果类型不匹配就会报错,例如Java

 

赋值语句=  注意不是数学的等号

x = 10

print('x_1 = ',x)   # x_1 = 10

x = x + 2

print('x_2 = ',x)   # x_2 = 12

python中 +=表示自加, -=表示自减

python不支持类似 x++ 或 x-- 这样的自增/自减运算符

y = 10

print('y_1 = ',y)    # y_1 = 10

y += y

print('y_2 = ',y)    # y_2 = 20

y -= y

print('y_3 = ',y)    # y_3 = 0

= 表示赋值,当我们写 a='ABC'时,Python的解释器做了两件事 :

1. 在内存中创建了一个'ABC'的字符串;

2. 在内存中创建了一个名为a的变量,并把它指向'ABC'

一个例子:把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据

a = 'ABC'

b = a

a = 'XYZ'

print('a:',a,' b:',b) # a: XYZ b: ABC

a、b 互换的小例子:

a = 5

b = 6

tmp = a

a = b

b = tmp

print('a =',a,' b =',b)  # a = 6  b = 5

 

● 常量

在Python中,通常用全部大写的变量名表示常量 如:PI

但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变

PI = 3.14159265359

print(PI)

 

● python中的除法

/  计算结果是浮点数

// 地板除法,计算结果是整数 

%  取余

print('10/3 =',10 / 3)   # 10/3 = 10/3 = 3.3333333333333335 (why?)

print('10//3 =',10 // 3) # 10//3 = 3

print('10%3 =',10 % 3)   # 10%3 = 1

 

注意:Python的整数没有大小限制; Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)

声明:自在独行|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - learning python 2 – 数据类型和变量、字符串和编码


海阔凭鱼跃,天高任鸟飞