您的位置:首页 > 编程语言 > Python开发

python学习day01 (熟记)----python历史,语言特点,基本概念

2018-03-22 20:51 330 查看
Python简介:
创始人:Guido Van Rossum (荷兰人)
时间:1989年圣诞节期间
地点:阿姆斯特丹

语言的种类:
Java C C++ Python

Python优点:
系统运维
网络编程(搜索引擎,爬虫,服务器编程)
科学计算
人工智能,机器人
云计算
大数据及数据库编程
教育
游戏,图像
其他

优点:
  面向对象
  免费
可移殖
可混合编程
简单易学易用
开发效率高
应用领域广泛
开源

缺点:
与C/C++相比。执行速度不够快

python的官网:
www.python.org

python的版本:
Python 2.7
Python 3.5(当前使用版本)
Python 3.7 (最新版本)

python 安装
Window
Mac OS X
Linux
....

编译型语言(静态语言):
C/C++ ------需要编译成机器指令 -----运行在目标机器上
解释执行型语言(动态语言):
java/Python ----解释执行器程序(运行与机器上)

Python解释执行器的类型:
CPython(C语言写的) ,
Jython(java语言写的),
IronPython(基于.net框架的)
PyPy (Python语言写的)

第一个Python程序
编写hello.py
执行python.py
$python3(解释执行器) hello.py
$python3 hello.py

常用的文件的后缀
.py python 源代码
.c C语言
.cpp/.cxx/.cc/.C C++语言
.java java语言

Python的交互模式下编写并执行代码
进入交互模式:
$python<回车>

退出交互模式:
>>> quit()<回车>

Python的注释:
Python 注释是以#开头,直到行尾
作用:
让解释执行器忽注释内容

sublime 中注释的快捷方式:
ctrl + /(Linux)
command + / (mac os x下)

python 程序的组成
   程序由模块组成
   模块由语句(函数,类)等组成
   语句包含表达式
   表达式建立并处理数据对象

python的核心数据类型和内置对象:
 数字类型:
            整型,浮点型,复数,布尔
字符串类型:
空值 None:

整数
  整型常数的表达方式(整数可以很大)
   十进制整数 : 10 0 -100
   八进制整数:0O177(255) 0O11(9)
  0o11+9=18
  十六进制方式表达(0x开头,后根0-9 A-F)
  0X11 (17)
    0xFF (255)
   二进制方式表达(0b开头后跟0或者1)
    0b111

浮点数:float
两种表示方法:
小数
  3.14 3.1 3.0 3. 0.14  .14
  科学技术法(e大小写均可以,代表10的几次方)
6.18E-1 (0.618) 等同于6.18*十分之一
2.9979e8(等同于29790000)
>>> 2.9979e8
299790000.0

复数 complex
  数学里的一种表示数的方法
分为实部和虚部两部分
虚部以j或J结尾

示例
>>> 1J
1j
>>> 1j
1j
>>> 1j * 1j
(-1+0j)

>>> (1+1J)+(1-1J)
  File "<stdin>", line 1
    (1+1J)+(1-1J)
    ^
SyntaxError: invalid syntax

布尔 bool
用来表示真和假的两种状态的类型
True 表示真(条件满足或成立)
False 表示假(条件不满足或者不成立)

>>> True
True
>>> False
False
>>>

空值 None
None 是一个特殊的常量 不表示任何类型
作用:
  1.用来占位
  2.变量解除绑定
>>> None
>>>
表达式和运算符(也叫操作符)
 由一个数字(或其他对象)或数字和运算符组成,用来表示一个运算,通常是让一个程序返回一个结果
示例:
>>> 1+2
3
>>> 1+3+5*7
39
>>>
 

算术运算符:
+ 加法
- 减法
*乘法
/除法
%求余
//地板除(python2.3 以后才有)
** 幂运算

python2.7
>>> 1/3
0
>>> 1.0/3
0.3333333333333333
>>> 8/2
4

python3

>>> 1/3
0.3333333333333333

>>> 8/2
4.0

/除法
除法得到的数是浮点型数,不会丢弃小数部分
>>> 1/3
0.3333333333333333
//地板除   ???
除法的结果去掉小数部分方向不取整
>>> 8//3
2
>>>3.25//1.5
2.0  (python3中2.0等于2)

-5//3 (负数向下取整)
2

%求余
>>> 7%3
1
>>> 3.25%1.5
0.25

**幂运算
格式:x**y

>>> 4**2
16
>>> 3.0**3.0
27.0

>>> 5.6**1.418
11.506165654866916

>>> 4*.5 (4的0.5次方)
2.0
(-1) ** .5
运算符的优先级:

>>> 1+3*3**2+4//2
1+3*9+4//2
1+27+4//2
1+27+2
30

括号分组子表达式
 用()可以将表达式分组,()内的表达式优先进行计算
>>> (1+2)*(3+4)
21
>>> ((1+2)*3)**4
6561

注意:在交互模式下,可以ctrl+d退出交互模式

变量
什么是变量
变量是关联一个对象的符号
变量名必须为字母或下划线(_)开头,后跟字母,下划线或数字
不能使用Python的关键字
注:
 变量名区分大小写
合法的变量名示例:
a al b bbb_abc
不合法的示例:
la 123 $ABC +a -b @ABC

Python 的关键字:
True ,False None ,is ,del,if elif else

赋值语句:
语法:
  变量名=表达式
  作用:当没有此变量时,创建一个变量,同时将变量绑定到这个对象上
           当变量存在时,改变此变量关联的对象
           用变量访问此变量关联的这个对象

说明:一个变量只能绑定一个对象
         两个变量可以同时绑定同一个对象
>>> a=100
>>> b=a
>>> b
100

pi 圆周率

python 关联/绑定/引用的含义
在Python,变量没有类型
关联/绑定/引用都是指变量和一个对象的关联关系

序列赋值的语法:
变量名1,变量名2,...=对象1,对象2,...
变量名1,变量名2,...=(对象1,对象2,...)
变量名1,变量名2,...=[对象1,对象2,...]

>>> a=10
>>> b=20
>>> a=b
>>> a
20
>>> b
20

>>> a ,b=1,2 (分别给a,b赋值)
>>> 1
1
>>> b
2
>>> a,b=b,a(交换两个变量的绑定关系)
>>> a
2
>>> b
1
python的变量不存值,代表的是绑定关系

is /is not 运算符
is 作用:
 判断两个变量是否绑定同一个对象,当是同一个对象时返回True,否则返回False
is not作用与is相反
语法:
  x  is  y
  x is not y

(the boat)
理解a=1000+2000都发生了?
类似于河里的小船,如果没有绳子绑定则不会停留。变量就相当于绳子
>>> a=1000+2000
>>> a
3000
>>> b=3000
>>> a is b
False
>>> b=a
>>> a is b
True

注意:在CPython解释执行器中,-5~256的整数只有一份,此数据对象将会被重复使用.在此解释执行器中,这些范围的数已经创建,只有一份,所有的变量都只能绑定同一个对象,不再此范围内可以创建不同的份数,所以相应的变量会绑定不同的对象。
>>> a=100
>>> b=100
>>> a is b
True

del语句:
 用于删除变量,同时解除变量与对象的关联关系,如果可能则释放对象。
语法:
  del 变量名
   x=10000

示例:
a=3000
b=a
del a #删除a变量  
>>> a=3000
>>> b=a
>>> del a 删除a变量
>>> a
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> b
3000
>>> del b 删除b变量,同时会释放没有引用关系的3000对象

在交互模式下查看当前作用域的所有变量
当前作用域:当前空间,不能存在相同的变量

>>> b=10000

>>> help("__main__")

Help on built-in module __main__:

NAME
    __main__

FILE
    (built-in)

DATA
    b = 10000 -----说明b绑定10000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: