Python学习笔记 - 数据类型和变量

时间:2023-03-09 09:50:59
Python学习笔记 - 数据类型和变量

Python中有整数和浮点数,表示方法和C语言一样

浮点数也很像,不过Python可以用单引号把字符串括起来

字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。

如果字符串里面不仅包含双引号,也包含单引号,可以用转义字符\来标识,比如

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

还有很多转义字符的用法,和C语言一样

demo 1

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

print('I\' ok.')
#I' ok.
print('I\'m learning\nPython.')
#I'm learning
#Python.
print('\\\n\\')
#\
#\

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义

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

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容

>>> print('''line1
... line2
... line3''')
line1
line2
line3
>>>

上面是命令行,如果写成程序:

print('''line1
line2
line3''')

布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
#注意大小写
#or或运算
print(True or True)
print(True or False)
print(False or False)
print(5 > 3 or 1 > 3)
'''
True
True
False
True
'''

#not非运算
print(not True)
print(not False)
print(not 1 > 2)
'''
False
True
True
'''

age = 23
if age > 18:
	print('adult')
else:
	print('teenager')

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:

a = 123 # a是整数
print(a)
a = 'ABC' # a变为字符串
print(a)

这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就是报错(C, java).

和静态语言相比,动态语言更灵活,就是这个原因。

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

PI = 3.14159265359

但实际上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果一定要改变变量的PI值,也没人拦着你(导师。。)

最后解释整数的除法为什么是精确的,在Python中,有两种除法,一种除法是 /

>>> 10 / 3
3.3333333333333335

/ 除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数:

>>> 9 / 3
3.0

还有一种除法是 // ,成为地板除,两个整数的除法仍然是整数:

>>> 10 // 3
3

%是取余

>>> 10 % 3
1

练习:

# 练习
n = 123
print('n =', n)
f = 456.789
print(f)
print('f =', f)
s1 = 'Hello, world'
print('s1 =', s1)
s2 = 'Hello, \'Adam\''
print('s2 =', s2)
s3 = r'Hello, "Bart"'
print('s3 =', s3)
s4 = r'''Hello,
Lisa!'''
print('s4 =', s4)
'''
n = 123
456.789
f = 456.789
s1 = Hello, world
s2 = Hello, 'Adam'
s3 = Hello, "Bart"
s4 = Hello,
Lisa!
'''

注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的。

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