Python 基础
一、语法基础
赋值语句:
#variable
p = 3.14 #float
myString = ‘hello world!’#char
print p, mystring
* 标识符--Python语言中允许作为变量名或其他对象名称或有效符号
1.首字符是字母或下划线
2.其余可以是字母、下划线、数字
3.大小写敏感
PS:全大写的变量名一般被认为符号常量
避免下划线开头的变量名对解释器--内界标识符(私有)
* 关键字:不可作为其他对象的标识符
在一门语言中关键字是基本固定的集合
在IDE常出现不同颜色字体
* 表达式:用运算符连接各种类型数据的式子
* 赋值:动态强类型语言
变量第一次赋值,同时获得类型和“值”,不需要显示声明,会根据“值”确定类型,以“引用”的方式实现赋值
一个“引用”指向一个内存单元
支持增量式赋值:+= -= /= %= **= <<= >>= &= ^= |=
例:m**=2就是m=m**2
支持多重赋值
PI=pi=3,14 #PI=3.14;pi=3.14
pi=PI=3.14*2 #pi=6.28
支持多元赋值
#assignment
x=1
y=1
x, y=y, x #x,y=(2,1) ----------通过第三个变量temp进行数值变换
#assignment
PI, r=3.14, 3 #PI=3.14 r=3 ---------元组的变量直接指向数据,
# 另一种写法(PI, r)=(3.14, 3)
PS: ","创建一种特殊的数据结构(元组)
* 语句:完整的执行一个任务的一行逻辑代码
赋值语句完成了赋值
print输出语句完成了输出
PS:区分语句和运算符
语句:完成一个任务
运算符:任务中的一个具体组成部分
二、数据类型
python中的数据类型:
(长)整型、浮点型、复数型、布尔型、字符型、列表、元组、字典
* 整型/长整型
整型与长整型并不严格区分
整型值后加“L”即为长整型
#integer
type(3L) <type 'long'> 远超c语言的编译型的长整型
type(3) <type 'int'> -(2^31)~(2^31)-1 -(2^64)~(2^64)-1
PS:整型--一般就不会出现溢出的情况
* 布尔型----True和False(0和1)
* 浮点型----数学的实数,类似科学计数法
#float
9.8e3 #9800.0
-4.78e-2 #-0.0478
type(-4.78e-2 ) #<type 'float'>
* 复数型----必须有j的标记符标记
#complex
2.4+5.6j #type(2.4+5.6j )---<type 'complex'>
5+0j #虚部可以为0
复数可以分离实数部分和虚数部分
复数.real 和 复数.imag
复数的共轭 复数.conjugate()
#complex
x = 2.4+5.6j
x.imag #x.mag=5.6
* 序列类型
字符串 (单引号、双引号、三引号(三个单引号--一个多行的字符串,可以自由使用单双引号)内的都是字符串,不可变型)
列表 (强大的类型,用方括号[]界别,可变类型)
元组 (与列表类似,用小括号界别,不可变类型)
例:字符串
myString = 'hello world!'
myString[1] = e
#“+”可以是两个字符串连接
* 映射类型:字典
用大括号界别
类似于哈希表的键值对
#dictionary
d = {'sine':'sin', 'cosine':'cos', 'PI':3.14} #d['sine']='sin'
三、基本运算
* 算术运算
运算优先级:
#example
>>> 3.0 / 2 #运算时,将对象进行类型提升
1.5
>>> 3.0 // 2 #舍掉小数部分
1.0
>>> from _future_ import division #数学当中的除法
>>> 3 / 2
1.5
>>> -3 ** 2
-9 #正负运算符优先于乘方运算符
>>> (-3) ** 2
9
* 比较运算
数值:按值的大小 字符串:按ASCII码值大小
#example
>>> 3<4<7 #和 (3<4) and (4<7) 一样 顺序从左到右
True
* 逻辑运算
not、and、or
#example
>>>x, y = 3.14, -1024
>>> not(x < 5.0)
False
>>>(x < 5.0) or (y > 2.71)
False
>>>(x < 5.0) and (y > 2.71)
False
>>> not (x is y)
True
* 字符运算符
原始字符串操作运算符(r/R)----用于一些不希望转义字符器作用的地方
Unicode字符串操作符(u/U)----转换成Unicode字符串
#example
>>>f = open(r 'C:\Python\test.py','w') #在路径中新建test.py,写入
>>>f = open('C:\\Python\\test.py','w') #同上
#但是一下情况不允许
>>>f = open('C:\Python\test.py','w')
* 综合运算:左移右移
#example
>>>3-2<<1
2
四、函数、模块和包
* 函数
* 内建函数:不需要另外导入的函数
分为数值型和实用函数
可以通过输入“dir(_builtins_)”来查看内建变量和内建函数
其中:
‘ArithmeticError’—-‘Package’ 是内建变量
‘abs’—-‘zip’ 是内建函数
* 模块:
一个完整的Python文件即是一个模块
文件:物理上的组织方式 math.py
模块:逻辑上的组织方式 math
python通常用“import 模块”方式将现成模块中的函数、类等重用到其他代码块中
- math.pi的值可以直接使用,不需要自行定义
>>>#module
>>>import math
>>>math.pi
3.1415926....
>>> import ModuleName1, ModuleName2 #导入多个模块
>>> from Module import ModuleElement #模块里导入指定的模块属性,额就是把指定名称导入到当前作用域
* 包
一个有层次的文件目录
定义了一个由模块和子包组成的Python应用程序执行环境
>>> import AAA.CCC.c1 #AAA最顶层的包,CCC等是子包,c1等是模块
>>>AAA.CCC.c1.func1(123) #func就是c1的函数
>>>from AAA.CCC.c1 import func1 #直接调用函数
>>>func1(123)
* 库
库是一组具有相关功能的模块的集合
Python的一大特色就是具有强大的标准库、以及第三方库、以及自定义模块
类似于:demimal、math、random、operator、array----数值型相关标准库
小结:
“包”包含了“模块”或者是“库”
“模块”和“库”里边会有很多的“函数”或者是“类”