Python基础
Python 是一种计算机编程语言。计算机编程语言和我们日常使用的自然语言有所不同,最大的区别就是,自然语言在不同的语境下有不同的理解,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义,所以,任何一种编程语言都有自己的一套语法,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行。Python也不例外。Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:
# print absolute value of an integer:a = 100if a >= 0: print(a)else: print(-a)
以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。
缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。按照约定俗成的管理,应该始终坚持使用4个空格的缩进。缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码。缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方。当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确。此外,IDE很难像格式化Java代码那样格式化Python代码。最后,请务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错。
Python的
基本数据类型
①整数(int)
Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。
②浮点数(float)
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如 1.23,3.14,-9.01,等等。
③字符串(str)
字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。但是,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c 这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是 I,',m,空格,O,K 这6个字符。如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:'I\'m \"OK\"!' 表示的字符串内容是:I'm "OK"! 转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看,比如:
print('I\'m ok.')
输出结果如下:
I'm ok.
再比如:
print('I\'m learning\nPython.')
输出结果如下:
I'm learningPython.
再比如:
print('\\\n\\')
输出结果如下:
\\
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python 还允许用 r''表示''内部的字符串默认不转义,可以自己试试:
print('\\\t\\')
输出结果如下:
\ \
改写成加r的如下:
print(r'\\\t\\')
输出结果如下:
\\\t\\
④布尔值(bool)
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写)。
布尔值可以用and、or和not运算。and运算是与运算,只有所有都为True,and运算结果才是True;or运算是或运算,只要其中有一个为True,or运算结果就是True;not运算是非运算,它是一个单目运算符,把True变成False,False变成True。比如:
print(True and True)print(True or False)print(not False)
输出结果如下:
TrueTrueTrue
⑤空值(None)
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
除了这些基本数据类型,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。
基本数据类型间转换
①int()函数
int()函数可以把其他数据类型转换为整数,比如将字符串转换为整数:
print(int('123'))
输出结果如下:
123
再比如将浮点数转换为整数:
print(int(1.23))
输出结果如下:
1
再比如将布尔值转换为整数:
print(int(True))
输出结果如下:
1
②float()函数
float()函数可以把其他数据类型转换为浮点数,比如将字符串转换为整数:
print(float('1.23'))
输出结果如下:
1.23
再比如将整数转换为浮点数:
print(float(123))
输出结果如下:
123.0
③bool()函数
bool()函数可以把其他数据类型转换为布尔值,比如将整数转换为布尔值:
print(bool(123))print(bool(0))
输出结果如下:
TrueFalse
再比如将浮点数转换为布尔值:
print(bool(1.23))print(bool(0.0))
输出结果如下:
TrueFalse
再比如将字符串转换为布尔值:
print(bool('123'))print(bool(''))
输出结果如下:
TrueFalse
最后将空值转换为布尔值:
print(bool(None))
输出结果如下:
False
注意:当数字转换为布尔值时,除了0是False外,其他值全是True;当字符串转换为布尔值时,除了空字符串是False外,其他全是True;将空值None转换为布尔值时结果为False。
④str()函数
str()函数可以把其他数据类型转换为字符串,比如:
print(str(123))print(str(1.23))print(str(True))print(str(None))
输出结果如下:
1231.23TrueNone
这个用处不是很大,只有字符串进行拼接时才会用到,比如:
times = 1tips = '第' + str(times) + '次'print(tips)
输出结果如下:
第1次