【Python】基础知识

【Python】基础知识

关键字

查看Python关键字:

>python

>>>import keyword

>>>keyword.kwlist

注释

注释有两方面作用:

(1)提高程序的可读性(最重要的作用);

(2)调试程序,注释掉可能出问题的代码。

合理的代码注释应该占源代码的1/3左右

注释可以插入到除标识符和字符串中间的任何位置

Python解释器会忽略注释的内容

注释的两种形式:

(1)单行注释:井号"#";

(2)多行注释:三个单引号或三个双引号(该处存在疑问,和字符串的区别)。

变量

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

Python是一门弱类型语言,这包含两方面的含义:

(1)变量无需声明即可使用,或者说对从未用过的变量赋值就是声明了该变量;

(2)变量的数据类型可以随时改变。

标识符:合法的名字,给变量、类、方法命名。

命名规则:

(1)必须以字母、下划线开头;

(2)后面可以跟任意数目的字母、数字、下划线;

(3)字母可以包含英文字母,中文字符,日文字符等UTF-8所能表示的多种语言字符;

(4)标识符不能是Python关键字,不建议是内置函数;

可以通过使用del语句删除单个或多个对象。例如:

del var_a, var_b

数据类型

Python3 中有六个标准的数据类型,内置的 type() 函数可以用来查询变量所指的对象类型,还可以用 isinstance 来判断,例如isinstance(a, int)。

Number(数字)------不可变

String(字符串)------不可变,特殊的元组

Tuple(元组)------不可变,()

List(列表)------可变,[]

以上三个都属于Sequence(序列)

Set(集合)------可变

Dictionary(字典)------可变

注意:

type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型。

bool 是 int 的子类,True 和 False 可以和数字相加, True1、False0 会返回 True,但可以通过 is 来判断类型。例如:

>>> True==1

True

>>> False==0

True

>>> True+1

2

>>> False+1

1

Number(数字)类型

int(整型):如1,只有一种整数类型,表示长整型,没有Python2中的Long

bool(布尔型):如True

float(浮点型):如1.23,3E-2

complex(复数):1+2j,1.1+2.2j

String(字符串)

python中单引号和双引号使用完全相同,三引号('''或""")可以指定多行字符串

反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并不是换行。这里的 r 指 raw,即 raw string。

Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。

字符串的截取的语法格式如下:变量[头下标:尾下标:步长]

运算符

运算符 + 操作数 = 表达式

开发环境

安装

python.exe,Python的解释器 + 配套文件

Python交互式解释器

Python解释器有CPython、IPython、Jython、PyPy 等,顾名思义:

CPython 就是用 C 语言开发的了,是官方标准实现,拥有良好的生态,所以应用也就最为广泛了。

IPython 是在 CPython 的基础之上在交互式方面得到增强的解释器(http://ipython.org/)。

Jython 是专为 Java 平台设计的 Python 解释器(http://www.jython.org/),它把 Python 代码编译成 Java 字节码执行。

PyPy 是 Python 语言(2.7.13和3.5.3)的一种快速、兼容的替代实现(http://pypy.org/),以速度快著称。

多平台

Python3 可应用于多平台包括 Windows **、Linux** 和 Mac OS X**。**

Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。)

Win 9x/NT/2000

Macintosh (Intel, PPC, 68K)

OS/2

DOS (多个DOS版本)

PalmOS

Nokia 移动手机

Windows CE

Acorn/RISC OS

BeOS

Amiga

VMS/OpenVMS

QNX

VxWorks

Psion

Python 同样可以移植到 Java 和 .NET 虚拟机上。

脚本执行前提

(1)有执行权限:chmod +x hello.py

(2)Python file.py

其他

直接在命令行输入python即可进入交互式编程模式

脚本第一行的 #!/usr/bin/python 的解释

脚本语言的第一行,只对 Linux/Unix 用户适用,用来指定本脚本用什么解释器来执行。

有这句的,加上执行权限后,可以直接用 ./ 执行,不然会出错,因为找不到 python 解释器。

#!/usr/bin/python 是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。

#!/usr/bin/env python 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。

#!/usr/bin/python 相当于写死了 python 路径。

#!/usr/bin/env python 会去环境设置寻找 python 目录,可以增强代码的可移植性,推荐这种写法。

相关推荐
Turnsole_y2 小时前
pycharm自动化测试初始化
python·selenium
weixin-a153003083162 小时前
[数据抓取-1]beautifulsoup
开发语言·python·beautifulsoup
AI量化投资实验室2 小时前
15年122倍,年化43.58%,回撤才20%,Optuna机器学习多目标调参backtrader,附python代码
人工智能·python·机器学习
倔强青铜三3 小时前
苦练Python第67天:光速读取任意行,linecache模块解锁文件处理新姿势
人工智能·python·面试
我是华为OD~HR~栗栗呀3 小时前
华为od-21届考研-C++面经
java·c语言·c++·python·华为od·华为·面试
明月(Alioo)3 小时前
机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
python·算法·机器学习
鱼鱼说测试4 小时前
Linux下运行Jmeter
开发语言·python
CodeCraft Studio5 小时前
国产化Excel开发组件Spire.XLS教程:将Python列表转换为Excel表格(3种实用场景)
开发语言·python·excel·spire.xls·python列表转excel·国产化文档开发
企鹅侠客5 小时前
基于python写的PDF表格提取到excel文档
python·pdf·excel·pdf文档表格转excel
mortimer5 小时前
Python 中那些鲜为人知但实用的工具函数
python