Python基础知识点整理 1
- Python 是一种解释性语言:这意味着开发过程中没有了编译这个环节,类似于PHP和Perl语言。解释性语言是边解释,边执行,它不像Java一样是先编译成.class字节码文件,然后再在java虚拟机上面执行。
- Python是交互式语言,这意味着,你可以在Python的提示符>>>之后直接执行代码。
- Python是面向对象语言,这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python的几个重要的特点:
- 可移植性:基于其开放源代码的特性,Python已经被移植到许多平台。许多平台都可以使用python语言。比如linux,windows,Android..等等一系列没有听过的平台。
- 可拓展性:如果你需要运行一段执行很快的关键代码,或者是想要编写一些不愿开放的算法。你可以使用C 或者C++完成那部分程序,然后从你的python程序去调用。
- 可嵌入:你可以将python嵌入到C/C++程序,让你的程序的用户获得脚本化的能力。
Python开发工具PyCharm的功能:调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制…
注意:python 在print("hello,world")的时候可以正确运行,但是在运行print("你好,世界")的时候会出错。
SyntaxError: Non-ASCII character '\xe4' in file test.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
原因:python的默认编码格式是ASCII格式,在没有修改编码格式时是无法正确打印汉字的,所以在读取中文时会报错。
解决办法就是在文件开头加入 #-*- coding:utf-8 -*- 或者 # coding=utf-8就行了 '='两边不要有空格
如果你使用的是Pycharm等集成开发环境,可以在Setting->Editor->File encodings中将IDE/Project Encoding设置为utf-8
如果你使用的是编译器,例如notepad++,存储.py文件的时候,需要同时设置.py文件存储的格式为UTF-8。
否则会出现如下错误:
SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xc4 in position 0: invalid continuation byte
python 为什么要配置环境变量?配置了之后能做什么?
python 配置环境变量就是让电脑具有了Python解释器的路径,在执行python脚本文件的时候,就可以通过该路径找到python解释器,通过解释器执行脚本。
比如我们可以在交互式命令行中执行 $ python test.py ,计算机可以识别Python这个指令,就是因为有环境变量。
另一种执行python脚本的方式:
假定您的Python解释器在/usr/bin目录中,也就是python.exe 安装在/usr/bin目录下,使用以下命令执行脚本:$ chmod +x test.py # 脚本文件添加可执行权限 $ ./test.py
执行python脚本的时候,必须进入到此python脚本所在的文件目录下才能执行,否则会因为找不到文件而报错。
python基础知识:
- python严格控制缩进,如果要缩进,所有代码的缩进空格数应该相同。不能有的缩进两行有的缩进三行。
- 如果一行语句过长,可以在代码行末加入'\'将一行的语句分为多行显示。
-
Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须是相同类型的。其中三号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。
-
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:import sys; x = 'runoob'; sys.stdout.write(x + '\n')
- print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,
-
缩进相同的一组语句构成一个代码块,我们称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
-
很多程序可以执行一些操作来查看一些基本信息,Python 可以使用 -h 参数查看各参数帮助信息
Number(数字):
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。这个函数以后会常用到。
此外还可以用 isinstance 来判断:
>>> isinstance(a, int)
True
isinstance 和 type 的区别在于:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
- 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
- 2、一个变量可以通过赋值指向不同类型的对象。
- 3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
4、在混合计算时,Python会把整型转换成为浮点数。
String(字符串):
Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
字符串的截取的语法格式如下:StringName[起点:终点] 注意字符串是从0开始计数,切片含头不含尾。
1. 加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数.
2. Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
3. Python 没有单独的字符类型,一个字符就是长度为1的字符串。
4. 与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误。
5. Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
List(列表):
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:变量[头下标:尾下标]
加号 + 是列表连接运算符,星号 * 是重复操作.这里是对列表里的元素进行重复。
与Python字符串不一样的是,列表中的元素是可以改变的。
Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
元组中的元素类型也可以不相同。
元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取(看上面,这里不再赘述)。
其实,可以把字符串看作一种特殊的元组。
虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。List列表中也可以包含元组对象。这样的数据可以转换为字典。
比如:>>> dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)]) 得到 {'Runoob': 1, 'Google': 2, 'Taobao': 3}
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
string、list 和 tuple 都属于 sequence(序列)。元组也可以使用+操作符进行拼接。
Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
Dictionary(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。创建空字典使用 { }。