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)编译安装
tar zxf Python-2.7.11.tgz 解压下载的文件 cd Python-2.7.11/ 进入解压的文件中 ./configure –prefix=/usr/local/python 是软件的组态设置文件,产生对应平台的Makefile make 根据Makefile的内容,编译出符合平台的可执行文件 make install 编译安装成功的软件,这一步根据需要可以选择是否需要root权限。默认的安装都是在安装在/usr/local/目录下,这样是需要管理员权限的 make clean 清除编译成功的obj and binary
(3)编译安装完成后,将系统自带的低版本的Python替换掉,但CentOs的yum依赖Python,为了yum正常运行,将自带的Python备份,如下:
mv /usr/bin/python /usr/bin/python-2.6.6 将自带Python备份 ln -s /usr/local/python/bin/python /usr/bin/python 将现有Python做个软链接 /usr/bin/python-2.6.6 查看自带版本 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中却相差很大
luck_number = 2
guess_number = input(“Enter you number:”)
if guess_number == luck_number:
print(“恭喜你,猜对了!”) #在此处前面空格,不是为了好看,而是为了强制缩进
elif guess_number > luck_number:
print(“对不起,猜大了!”)
else:
print(“对不起,猜小了”)
如果你的程序中会出现IndentationError,则你的代码中出现缩进错误
3.4循环控制及次数限制(计数器)
luck_number=1
guess_number = int(input("输入:"))
while True: #用while True能够实现无限循环,
if guess_number != luck_number:
print("aaa")
else:
print("qqq") for i in range(3): #能够限制次数 print(“LOOP”,i)
计数器
luck_number=1
guess_number = int(input("输入:"))
guess_count = 0 #在此处设定一个计数器
while True: #用while True能够实现无限循环,
if guess_number != luck_number:
guess_count += 1
if guess_count>2: #满足条件跳出循环
break
print("aaa")
else:
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 简单的嵌套循环
for j in range(5):
for i in range(10):
if i < 5:
print("输出:",i)
continue #跳出本次循环,满足上面的判断条件,则执行continue上面的语句,不满足条件,跳出循环,执行continue下面的语句
print("打印:",i)
if j > 3:
print("计数:",j)
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
Python学习之路—Day1的更多相关文章
- ql的python学习之路-day1
写在前面的话:万事开头难,算是系统学习python的一个月了吧,总该写点什么来记录一下,之前看老男孩day1的视频没有开通博客,这次给补上,对于学python还是要好好努力,不能半途而废,还是那句老话 ...
- python学习之路day1
学习总结: 变量,字符的由来,python2和python3的区别,控制语句:if,for,while,break,continue用法 学习示例: if用法1:判断年龄 # -*- coding: ...
- python学习之路-day1
1 变量 赋值:变量可以是字符串.序列.元组. # author:hams.ali # 界面 line = '-*'*20 # 数字直接可以计算 _var1 = ' # 字符变量拼接 _var_2 = ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
随机推荐
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->关于spring framework中的beans
Spring framework中的beans 1.概述 bean其实就是各个类实例化后的对象,即objects spring framework的IOC容器所管理的基本单元就是bean spring ...
- 关于arduino清空串口缓存(转)
在arduino1.0之前的版本 Serial.flush()的作用是是清空串口缓存( dropping received incoming data).但在1.0之后的版本 Serial.flush ...
- database link远程链接数据库
--授权创建.删除dblink GRANT CREATE [PUBLIC] DATABASE LINK,DROP [PUBLIC] DATABASE LINK TO canco; --查看数据库GLO ...
- 解决 VMWARE MAC 10.12无法全屏的问题
昨天我在VMware上装了10.10,然后通过APP store 升级了系统到 10.12,升级前安装VMware tools 能自动全屏,可是升级后不行. 然后在网上查了很多资料,发现并没有这方面的 ...
- div赋值,取值和input赋值,取值
一.div取值 <div id="txtXiaofei" class="txt-panel">你好</div> 获取div的值$(&qu ...
- VLC嵌入网页,终于要成功了!
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" width="640" heig ...
- submit 读取mb52数据
方法一: data:list_tab type table of abaplist. data:vlist(300) type c occurs 0 with header line. submi ...
- SpringMVC+Freemarker+JSTL支持
前提: 网页编程中,我的思路是,通用的模块不仅仅只有后台代码,前端页面也可以独立为模块. 这个和asp.net中的UserController很像 比如有个人员基本信息的展示界面,需要在多个界面中嵌入 ...
- memcached+magent实现memcached集群
首先说明下memcached存在如下问题 本身没有内置分布式功能,无法实现使用多台Memcache服务器来存储不同的数据,最大程度的使用相同的资源:无法同步数据,容易造成单点故障.(memagent代 ...
- eclipse无法创建Server
报错:Cannot create a server using the selected type1.退出eclipse 2.到[工程目录下]/.metadata/.plugins/org.eclip ...