Python学习之路—Day1
第1章 Python语言简介
1.1 Python是什么
Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn)是什么呢?简单的说,它是一种计算机编程语言及一组配套的软件工具和库。是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年[1]。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 。
Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
1.2 Python应用
Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用。
Web程序:Django、Pyramid、bottle、tornado、Flask、web2py
GUI应用:wxPython、tklnter、PyGtk、PyGobject、PyQt
科学运算:SciPy、Pandas、IPthon
软件发展:Buildbot、Trac、Roundup
系统管理:Ansible、Salt、OpenStack
第2章 Python安装
2.1 Windows环境安装
(1)在官网https://www.python.org/downloads/ 下载你所需要的版本
(2)根据你的操作系统,单机安装相应的安装程序链接(我这选择X86-64的)
(3)下载完成后,双击以运行它
(4)安装完成后为搭建环境变量,把Python的安装目录添加到PATH系统变量中即可
我的电脑-->属性-->
(5)测试Python是否安装成功,如图所示显示安装成功
(6)测试我们的第一条程序
2.2 Linux环境安装
(1)在官网下载Python-2.7.11.tgz
(2)编译安装
1 tar zxf Python-2.7.11.tgz 解压下载的文件 2 3 cd Python-2.7.11/ 进入解压的文件中 4 5 ./configure –prefix=/usr/local/python 是软件的组态设置文件,产生对应平台的Makefile 6 7 make 根据Makefile的内容,编译出符合平台的可执行文件 8 9 make install 编译安装成功的软件,这一步根据需要可以选择是否需要root权限。默认的安装都是在安装在/usr/local/目录下,这样是需要管理员权限的 10 11 make clean 清除编译成功的obj and binary
(3)编译安装完成后,将系统自带的低版本的Python替换掉,但CentOs的yum依赖Python,为了yum正常运行,将自带的Python备份,如下:
1 mv /usr/bin/python /usr/bin/python-2.6.6 将自带Python备份 2 3 ln -s /usr/local/python/bin/python /usr/bin/python 将现有Python做个软链接 4 5 7 /usr/bin/python-2.6.6 查看自带版本 8 9 python 查看现有安装版本
(4)yum依赖原有Python版本,将yum指向原来的Python
vim /usr/bin/yum
将第一行中的“#!/usr/bin/python”修改为“#!/usr/bin/python-2.6.6”
第3章 变量及数据类型
3.1 变量,赋值的含义
变量:是计算机语言中能储存计算结果的抽象概念,变量通常是可变的,变量可以通过变量名访问,而且还占用一定的存储空间。
赋值:将某一数值赋给某个变量的过程,一般用“=”表示。
name = “Ajen Liu” 字符串赋值需要“”
age = 24 数字直接赋值,但是如果想要数字变成字符串需要“24”
3.2 变量的命名规范
1.系统中的自带名称不能作为变量名称,比如input
2.num_of_ajen_liu = 20 一般使用
3.NumOfAjenLiu = 20 这个也可以使用,看个人爱好,我觉得还是自己先决定一种格式,不然以后变来变去的,很是麻烦
4.数字不能开头命名(7dd 是错误的)
5.!name 特殊符号不能命令
6.num of ajen liu 这种也是错误的,变量命名不能有空格
3.3 条件判断与缩进
说到判断就让人很容易想到 if …else…,但是在Python中却相差很大
1 luck_number = 2 2 3 guess_number = input(“Enter you number:”) 4 5 if guess_number == luck_number: 6 7 print(“恭喜你,猜对了!”) #在此处前面空格,不是为了好看,而是为了强制缩进 8 9 elif guess_number > luck_number: 10 11 print(“对不起,猜大了!”) 12 13 else: 14 15 print(“对不起,猜小了”) 16 17 如果你的程序中会出现IndentationError,则你的代码中出现缩进错误
3.4循环控制及次数限制(计数器)
1 luck_number=1 2 guess_number = int(input("输入:")) 3 while True: #用while True能够实现无限循环, 4 if guess_number != luck_number: 5 print("aaa") 6 else: 7 print("qqq") 8 9 10 11 for i in range(3): #能够限制次数 12 13 print(“LOOP”,i)
计数器
1 luck_number=1 2 guess_number = int(input("输入:")) 3 guess_count = 0 #在此处设定一个计数器 4 while True: #用while True能够实现无限循环, 5 if guess_number != luck_number: 6 guess_count += 1 7 if guess_count>2: #满足条件跳出循环 8 break 9 print("aaa") 10 else: 11 print("qqq")
3.5 常用数据类型
数字: int(整数型) Float(浮点型) Long(长整型) type(0.5)可以查看类型
字符串:字符串格式化 name = ‘liuqiang’ print(“Name:%s” %name)
常用功能:name=raw_input(“name:”).strip() 去掉空白 strip(‘A’)去掉括号内的字符串
3.6 列表
name_list = [‘ajen’,’one’,’enlish’,’it’,’money’]
追加:name_list.append(‘yum’) 在列表中最后一位追加一个字符串
name_list = [‘ajen’,’one’,’enlish’,’it’,’money’,’yum’]
索引:name_list.idex(‘one’) 输出是1 以0为起始
name_list[0] 输出是ajen
统计:name_list.count(‘ajen’) 输出是1,统计ajen的个数
插入:name_list.insert(2,’liu’) 此处2,个人理解是索引数2或者第二个位置后面
name_list = [‘ajen’,’one’,’liu’,’enlish’,’it’,’money’,’yum’]
删除:name_list.pop() 删除最后一个
删除多个重复的:for i range(name_list.count(‘liu’))
name_list.remove(‘liu’)
切片:name_list[0:2]
Name_list[0:5:2] 隔着切
3.7 简单的嵌套循环
1 for j in range(5): 2 for i in range(10): 3 if i < 5: 4 print("输出:",i) 5 continue #跳出本次循环,满足上面的判断条件,则执行continue上面的语句,不满足条件,跳出循环,执行continue下面的语句 6 print("打印:",i) 7 if j > 3: 8 print("计数:",j) 9 break #跳出这一层的循环
3.8 文件操作
(1)选择文件路径和模式:
file_obj = open(“文件路径”,”打开文件模式”)
打开文件模式:r 只读方式打开文件
w 打开一个文件用于写入
a 打开一个文件用于追加
w+ 打开一个文件用于写读
注意:w 和 w+ 都是先将文件内容清空,再进行写入操作,执行此操作要备份并慎重
(2)执行文件:读或写
读取文件的内容:
file_obj.read() 一次性加载所有内容到内存
file_obj.readlines() 一次性加载所有内容到内存,并根据行分割成字符串
for line in file_obj: 每次只读取一行内容
print line
(3)关闭文件
file_obj.close()
参考【1】http://baike.baidu.com/link?url=cNVmMed2W56sNvyRGWiNMi6KtxthVKIRstkQyaMVz9JMWunyUKe-g2bcOho8wjk6PJbnfi-rW1P1GrizZTEFla