python语言基础知识
python语言基础知识
python是一种极简、开源,面向对象,有着丰富类库(模块)的语言。
使用编译器将自身等效转换成机器语言的高级语言,通常称为编译型语言;而使用解释器将自身转换成机器语言的高级语言,称为解释型语言,Python 就是解释型编程语言的一种。c语言、c++、汇编等需要一次性把所以源代码转换为机器码交给计算机使用,这就是编译型语言,需要编译器;而python、js、php、shell等可以一边执行一边转换,不生成可执行程序,为解释型语言,由解释器不断解释。
编译型产生的程序具有“一次编译,无限次使用”特点,但其源码和执行程序却无法跨平台,需要按不同平台另行修改源码。
解释型则需要每次执行的时候转换源码,所以效率低,常应用于应用层面(网站开发、批处理、小工具)。因为解释型语言需要依靠源代码和解释器,所以就特别需要开发环境,也正是因为解释型语言需要依靠源码执行,所以都是开源的,而且具备跨平台的能力。
python由ABC语言发展而来,其可通过库,调用其他语言制作的模块(大部分为c和c++的),由此被称为“胶水”语言。其主要用于web开发、自动化运维、人工智能、网络爬虫、科学计算等方向,另外由于python可调用c++编写的图形模块,也可用于开发游戏。
hello world
print("hello world")
//显然,作为解释型语言,其解释器包含了大量的各种方法的库文件,也就不用调入头文件等内容。之用用print函数输出
数据类型及运算符号
?。赋什么值,自动匹配该类型。支持如c语言那样,在print中使用格式化输出(%d、%i之类)以及转义字符。运算上还多了个**
代表幂次方计算。如2**4,表示2的四次方。
需要注意逻辑运算符不同,而是and、or、not……
max = a if a>b else b
三目运算。与c语言对比表达式1 ? 表达式2 : 表达式3;
,显然含义更加明确。
对于数据集合,python中由列表(list)、元组(tuple)、字典(dict)和集合(set)等方式。其会在内存中占用一块连续的内存。
1 | a=["http://c.biancheng.net/python/", 1, [2,3,4] , 3.0] //列表可存储任一形式数据 |
python流程控制(略)
循环
1 | print("计算 1+2+...+100 的结果为:") |
函数
自定义函数
1 | def my_len(str): //自定义 len() 函数 |
值得注意
1 | def add(a,b): |
另外,函数内部还可以定义局部函数。
1 | def outdef (): //全局函数 |
类与对象
定义
1 | class CLanguage : |
越看越像某结构体
1 | class CLanguage: |
封装
1 | class CLanguage : //创建类 |
通过对setname()和setadd()方法进行适当设计,可避免用户对类中属性的不合理操作。而该类中没有提供操作私有方法display()的,即可保护display()在外部不可调用。
继承
1 | class Shape: |
多继承即多个父类,java、c#等因为多继承可能因父类同名方法等存在冲突。而python中按顺序,前面的覆盖后面父类的同名属性
1 | class Person(People, Animal): //多继承 |