Python入门基础
一、Python简介
Python是著名的“龟叔” Guido van Rossum在1989年的阿姆斯特丹为了打发无聊时间开发的一个新的编程语言。
龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,适合新手学习。
Python创始人 "龟叔"
Python应用领域
Python是一门 全栈式开发语言,主要应用于数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。
Python的优缺点
Python面向对象,免费,可移植,功能强大,简单易学,容易上手。Linux内置Python。
Python也有缺点,主要是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。
二、第一句Python代码
print("Hello World!")
python内部执行过程如下:
三、更新Python
Linux系统自带Python,无需安装,不过默认安装的版本较低,更新即可。
1 查看默认Python版本 2 python -V 3 4 1、安装gcc,用于编译Python源码 5 yum install gcc 6 2、下载源码包(本文以Python3.5.1为例)
wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz 7 3、解压并进入源码文件 8 4、编译安装 9 ./configure --prefix=/usr/local/python35 10 make all 11 make install 12 5、修改默认Python版本 13 mv /usr/bin/python /usr/bin/python2.6 14 ln -s /usr/local/python35/bin/python3 /usr/bin/python 15 6、防止yum执行异常,修改yum使用的Python版本 16 vi /usr/bin/yum 17 将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
四、脚本传参
Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:
- Python内部提供的模块
- 业内开源的模块
- 程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数,argv类型为列表。
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 import sys
5
6 print sys.argv
[root@localhost ~]# python argv.py
['argv.py']
[root@localhost ~]# python argv.py 8080
['argv.py', '8080']
五、输入
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 # 将用户输入的内容赋值给 name 变量
5 name = input("请输入用户名:")
6
7 # 打印输入的内容
8 print name
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 import getpass
5
6 # 将用户输入的内容赋值给 name 变量
7 pwd = getpass.getpass("请输入密码:")
8
9 # 打印输入的内容
10 print(pwd)
六、基本数据类型
1、数字
2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子。
int(整型)
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
2、字符串
字符串格式化
1 name="flash"
2 print("I am %s" %name)
3
4 #输出: I am flash
PS: 字符串是 s% ; 整数是 d%;浮点数是 f%;原样打印是 %r.
1 print("字符串:%s 整数:%d 浮点:%f 原样打印:%r" % ('aa',2,1.5,'r'))
2
3 #输出 字符串:aa 整数:2 浮点:1.500000 原样打印:'r'
字符串常用功能:
- 移除空白 strip
- 分割 split
- 长度 len(obj)
- 索引 obj[1]
- 切片 obj[1:] , obj[1:10]
2、列表
创建列表:
name_list = [alex,john,flash]
或
name_list = list([alex,john,flash])
基本操作:
- 索引 index
- 切片 :
- 追加 append
- 删除 del remove pop
- 长度 len
- 循环 for,while (foreach) 中断 break;continue(跳出循环);pass;return;exit
- 包含 in;not in __contains__
3、元祖
元祖元素不可修改,元祖元素的元素可以修改
1 t1 = (11,22,{'k1':'v1'})
2 t1[2]['k1']=3
3 print(t1)
4、字典(键值对)
健、值、键值对
keys、values、items
5、应用示例
1 ''' 2 account.txt文件中的内容为: 3 flash|12345|1 4 alex|23456|1 5 tony|34567|1 6 要求把它转换成下面的字典格式: 7 { 8 "flash":{'pwd':'12345','登录次数':1}, 9 "alex":{'pwd':'23456','登录次数':1}, 10 "tony":{'pwd':'34567','登录次数':1} 11 } 12 ''' 13 14 match = {} 15 with open("account.txt","r") as f: 16 for i in f.readlines(): 17 i = i.strip().split("|") 18 match[i[0]]={"pwd":i[1],"登录次数":i[2]} 19 print(match)