一、python语言的基本特点
1.python支持多种编程风格
- python支持面向过程的编程风格。如果你熟悉C语言,那么完全可以像写C一样写Python。
- Python支持买你想对象的编程风格。数字,字符串,函数和模块等等都是“对象”。
- Python支持函数式编程。其实世界上只有两种编程语言,C类语言和Lisp类语言。
2.Python语法简洁,表达能力强
python代码量小,维护成本低,编程效率高,标准库强大,第三方库非常丰富,目前已经成为全世界最广泛使用的编程语言之一。
3.跨平台
Python是基于Python的解释器来进行执行。只要某个操作系统/平台上能运行Python解释器,就可以完美地运行Python的源代码。Windows,Linux和Mac等操作系统上都能够很好地支持Python。
4.可扩展性强
Python可以很容易地调用C/C++语言。如果不能满足逻辑性能,可以用C/C++重构这部分模块,用Python调用。
5.可嵌入
Python的代码也可以很容易地嵌入C/C++中执行。
6.丰富的库
python标准库已经非常丰富强大,同时也有非常庞大的第三方库。
7.python的缺点
执行效率!!!
8.python版本选择
当前主要有两大版本分支:
- python2
- python3
python3虽然是python2的升级版本,但是很多语法并不兼容。
二、Python解释器
1.解释运行
Python是一种解释型的编程语言。和C/C++不同,不是先将源代码文件转换为可执行文件,再执行,而是直接由Python解释器一行一行的读取源代码,每读一行就执行一行。
但严格意义上讲,Python算是一种“半编译,半解释”型的语言。一方面,Python解释器会按行读取源代码文件,然后会将源代码转为供Python解释器直接执行的字节码,然后再执行字节码。例如,在执行一个.py文件后,会生成一个同名的.pyc文件,这个.pyc文件就是Python解释器生成的字节码文件。如果这个.pyc文件已经存在,那么就不需要再“翻译”一次了,这样提高了执行效率。
2.简单使用
在电脑上安装完python后,直接在命令行中敲python
就进入了Python解释器,这时候我们看到了一个Python的shell。我们可以将这个解释器当作一个基本的计算器,也可以执行任意的合法python语句,如:
print('hello world');
按ctrl+d退出python shell.
也可以创建一个hello.py文件,在文件中写入print('hello world');
,执行python hello.py,即可运行代码。
三、python的变量和赋值
- python中的变量不需要声明,直接定义即可。会在初始化的时候决定变量的“类型”。
- 使用“=”来进行初始化和赋值操作。
a=0;
b=10.0;
c='abc';
d=2*b;
n=n*10;
等价于
n*=10;
n=n+1或n+=1
动态类型
- 同一个变量可以赋值成不同的类型的值:
变量命名规则
- 变量名必须是字母,数字,下划线,但是不能用数字开头(规则和C语言一样)。
- 变量名大小写敏感,case和Case是两个不同的变量。
- 变量命名要做到“见名知意”。
四、Python的数据类型
1.数字
Python没有int,float这样的关键字,但是实际上数字的类型是区分"int" "float"类型的,使用内建函数type可以查看变量的类型
- Python中的数字变量的取值范围,并没有完全限制(取决于电脑内存的大小),并不是像C语言规定的int用4个字节表示。
- Python中还有一种”复数“类型,和数学中的"复数”是同种概念。
2.字符串
- Python中可以使用单引号(’)、双引号(")和三引号(’’’)来表示字符串。== 三引号是指三个单引号!!!==这样做的好处是如果字符串中包含了”这样的字符,就不用转义了。
a='haha'
b="hehe"
c='"hello"'
d='''I say "hello",you say '123'.'''
print(a)
print(b)
print(c)
print(d)
- 但是有些不可见字符,仍然需要进行转义,使用\进行转义。
- 字符串的索引
- 使用索引操作符[]或者切片操作符[:]来获取子字符串(切片操作是一个前闭后开区间)。
- 字符串的索引规则是:第一个字符索引是0,最后一个字符索引是-1.
- +用于字符串连接运算,*用于字符串重复
注意:python没有字符类型的概念!!!单个字符也是字符串
- 使用内建函数len获取字符串长度
- 使用%进行格式化的转换
3.布尔类型
python中用True和False来表示布尔值(注意:第一个字符必须大写),布尔类型(bool)的变量也是一种特殊的整数值。在和整数进行运算时,True被当作1,False被当作0.
4.列表/元组/字典
列表和元组
- 列表和元素类似于数组,python中使用[]来表示列表,使用()来表示元组。
- 列表和元组能保存任意类型、任意数量的python对象。可以使用下标访问里面的元素,下标从0开始,最后一个元素下标为-1(也可以是len-1),也可以使用[:]切片操作得到列表或元组的子集。
- 列表和元组的区别是a.列表中的元素可以修改,但是元组中的不能修改。b.表示方法不同,列表使用[]表示,而元组使用()表示。
字典
- 字典是python中的映射数据类型,存储键值对(key-value),用{}表示字典。
- 几乎所有的python对象都可以用作键。不过一般还是数字和字符串最常用。
五、其它
1.输入输出
- print函数将结果输出到标准输出(显示器)上。
- input函数从标准输入中获取用户的输入。
- input返回的结果只是一个字符串。如果需要获得一个数字,需要使用int函数把字符串转换为数字。
2.注释
- python中使用#作为单行注释。#后面的内容是注释的内容。
- python的源代码默认只支持ASCII。如果要包含中文,则需要在代码文件最开头的地方注明
3.操作符
- python中支持+ - * / %操作符,并且它们的行为和C语言一样。也支持比较运算符> < >= <= == !=,表达式的结果是一个布尔值。
- 在python3中,/是精确除法,//是整除。如1/2的结果是0.5,而1//2的结果是0.
- **表示乘方运算(注意python的数据无上限)。
- python也支持逻辑运算符and or not。
- python中,3<4<5等价于3<4 and 4<5。这和其它的编程语言都不一样。
- 运算符也有高低优先级的区分,可以使用括号来增加代码的可读性。
- 字符串和字符串之间也可以使用运算符进行操作。例如前面使用+进行字符串拼接。字符串之间可以使用== !=来判断字符串的内容是否相同,也可以使用比较运算符比较大小,比较的结果取决于字符串的"字典序"。
4.引用
python中使用id这个内建函数,查看变量的“地址”。
- 给a重新赋值为200,相当于重新创建了一个200这样的对象,然后将变量名a重新绑定到这个对象上。
- 将a赋值给b,相当于又创建了一个变量名b,并将b这个名字和200这个对象绑定到一起。
- 再次修改b的值,其实又创建了一个300这样的对象,将b绑定到300这个对象上。
- 像a和b这样的变量名,其实只是一个对象的别名,或者叫变量的“引用”。
5.代码块及缩进
- python中使用缩进来表示代码块,相当于天然从语法的角度规定了代码风格。
- python是独一无二的使用缩进而不是{}的。