python基础之初始python

1、python介绍

python的创始人是吉多·范罗苏姆(Guido van Rossum)。吉多·范罗苏姆在1989的圣诞期间,为了打发圣诞节的无趣,决心开发一个一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python(翻译:大蟒蛇)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体爱好者。

1.1、python定位

  • python的设计哲学是优雅、明确、简单。(用一种方法 ,最好只有一种方法来做一件事);
  • python的完全面向对象的语言。
  • python是一种高级动态编程语言。因为“脚本语言”泛指仅作简单程序的设计任务的语言,列:shellscript,VBCScript等处理简单任务的编程语言。

1.2、Python的应用领域

  • 云计算:典型应用
  • web开发:众多大型网站均为Python 开发,典型的web框架Django。列入:Youtuble,知乎,豆瓣,Facebook等
  • 科学计算、人工智能:典型库NumPy,SciPy、librarys、pandas等
  • 系统运维:运维人员的必备语言
  • 金融领域:在金融领域,分析计算,Python用的很多,因为作为动态语言Python,语言结构清晰简单,成熟稳定,科学计算和分析非常good,生产效率远高于c、c++、java,尤其擅长策略回测
  • 自动化:ansibel,saltstack,都是用python语言写的。

1.3、Python语言分析

编程语言主要从以下角度分类

  • 编译型和解释型
  • 静态语言和动态语言
  • 强类型定义语言和弱类型定义语言

编译型:

 c、c++是属于编译型。就是负责翻译的程序进行对我们的源代码转换。生产相对应的可执行的代码

 

解释型:

python 、php、 ruby、 java、c#等。就是在运行的时候将程序翻译成机器语言,所以运行速度相对较慢

动态语言:

是指运行期间才去做数据类型检查的语言,也就是该语言会在你第一次赋值给变量是,在内部数据类型记录下来。

静态语言:

与动态语言刚好相反,它的数据类型实在编译期间检查的,也就是说在写程序时要声明所有变量的数据类型.典型代表c、c++

 

 

1.4、Python优缺点:

优点:

  • Python的定位是优雅、明确、简单。所以python的程序看上去简单易懂,入门容易
  • 开发效率非常高,Python有非常强大的第三方库
  • 高级语言:用python语言编写程序是,无需考虑如何管理你程序的使用内存一类的底层细节
  • 可移植性:由于Python的开源,Python已近移植在许多平台上
  • 可扩展性:如果你需要你的关键代码运行的更快或者希望某些算法不公开,你可以把你的部分程序用c或c++编写,然后在你的python程序中使用它们
  • 可嵌入性:可以吧python嵌入你的c/c++程序,从而向你的程序提供脚本功能

缺点:

  • 速度慢:python的运行速度相比c语言确实慢很多,跟java相比也要慢些
  • 代码无法加密:python是解释型语言,它的源码都是以名文形式存放。如果要求源代码加密,一开始就不应该用python来实现
  • 线程不能利用多cpu问题。

1.5、Python的安装

windows:

1.下载安装包
https://www.python.org/downloads/
2.安装
设置默认安装路劲为:C:\Python35
3.配置环境变量
右击计算机——属性——更改设置——高级——环境变量——在系统变量那个框——编辑变量Path——在变量值那个框——在末尾中加上分号(;)加上你的python安装目录(C:\Python35)
install

linux:

1:linux
自带python环境,如需要更新在网上下载相应的linux更新包
2:下载
https://www.python.org/ftp/python/
3.解压并进入源码文件
4.编译安装
./configure
make
make install
5、查看新安装版本
  /usr/local/bin/python3.5 -V
6、修改默认Python版本
 mv /usr/bin/python /usr/bin/python2.6备份以前的python的环境
 ln -s /usr/local/bin/python3.5 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
  vi /usr/bin/yum
  将头部 #!/usr/bin/python 修改为 #!/usr/bin/python3.5
install

1.6、Python入门

第一局代码:

1 xixi@localhost:~$ python3
2 Python 3.5.1+ (default, Mar 30 2016, 22:46:26) 
3 [GCC 5.3.1 20160330] on linux
4 Type "help", "copyright", "credits" or "license" for more information.
5 >>> print ("hello world")
6 hello world
7 >>> 

在linux中创建一个hello.py的文件

1 #!/usr/bin/env python  #指定环境变量
2 print ("hello world")
3 通过python3命令执行hello.py文件
4 python3  hello.py
5 hello world

1.6.1、Python注释

注释:表示不执行该程序代码,表声明,提示,让别人更能读懂你的程序

单行注释:用#

1 #by  name    date
2 表注释当前行,用来声明写该代码是在什么时间写的

 

多行注释用''' '''   或者"""  """

'''
comments
note
xixi
'''
或者
"""
comments
note
xixi
"""
表示注释comments、note、xixi这些行的内容不调用

1.6.2、Python变量

什么是变量:一个在内存储存数据的容器

变量的意义:因为它保存在程序执行中间的结果或者状态,以供后面代码调用

声明变量

 1 #_*_coding:utf-8 _*_ #引用utf8的国际字符编码

2 name = “yang jian” 

上述代码声明了一个变量,变量名为:name,变量值为:yang jian

变量定义队则:

 

  • 变量名只能是字母、数字、或下划线的 任意组合
  • 变量名的第一字符不能是数字
  • 变量明不能有特殊字符
  • 以下关键字不能声明为变量名:
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

1.6.3、python的字符编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascillASCII(American Standard Code for InformationInterchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。 
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode Unicode(万国码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536. 
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)。

万国编码 = Unicode  4bytes

utf-16 = 65535

utf-8 = 可变长的编码集

utf-8,英文按ascii存储,中文存3个字节,欧洲2个字节

一个二进制数字=1bit(计算机最小存储单位)

8bit = 1bytes  1024bytes = 1kb 1024kb = 1mb  1024mb = 1GB  

在python程序代码中,输入中文字符编码,有时会乱码,那么我们需要声明字符编码,如下

#-*- coding:utf-8 -*-
print ("世界,您好")

1.6.4、Python的交互式输入

需要用到input语法,如下代码

#!/usr/bin/env  python     #调用python解释器
# -*- coding: utf-8 -*-       #申明用utf-8的字符编码
#by yangjian                      #写这个程序代码的名字

#将用户输入内容的赋值给name变量
name = input("请输入用户名:")
#打印输入的内容
print(name)
input

打印多行print

print (
'''
---info of me---
Name = seven
Age = 25
Hobby = runing
---ending---
''')
print multi-line
1.6.5、Python的格式化输出

python的格式化输输出 有%s 字符串,%d整数,浮点数%f

#!/usr/bin/env python
# by:yangjian
name = input("name:")
age = int(input("age:"))
job = input("job:")
hobby = input("hobby:")
info = '''
-------info of %s ------
Name:%s
Age:%d
Job:%s
Salary:%s
''' % (name,name,age,job,hobby)
print(info)
View Code

1.6.4、Python的if流程

判断流程如下图

列入用户登录验证,代码如下

 1 #!/usr/bin/env python
 2 # by:yangjian
 3 #提示输入用户名和密码
 4 #如果错误,输出,用户名或密码错误
 5 #如果成功,输出,欢迎回来
 6 
 7 
 8 user = "yangjian"
 9 passwd = "123456"
10 username = input("请输入用户:")
11 password = input("请输入密码:")
12 
13 if user == username and  passwd == password:
14     print("欢迎回来")
15 else:
16     print("用户名或密码错误")
View Code

 

posted @ 2016-09-28 19:15  keme  阅读(718)  评论(1编辑  收藏  举报