python入门到精通[二]:基础学习(1)
上一节讲了分别在windows下和linux下的环境配置,这节以linux为例学习基本语法。代码部分需要保存到以.py结尾的文件,就可以进行测试了。这里主要介绍一些常用的语法,可能并不全面,后期再根据需要添加吧。
1.编程风格
缩进要统一
有种说法:python语言是"靠缩进控制代码的语言",的确如此。
2.注释代码
单行:#
多行:'''
代码:
- #!usr/bin/env python
- b='hello'
- c='world'
- #print '' #注释掉此行,不打印1
- '''print b
- print c''' #注释掉这两行,不打印hello world
- print 'ok' #打印 ok
结果:
- ok
3.字符串操作
3.1 输出多行字符串
代码:
- #!usr/bin/env python
- a='''the first row,
- the second row,
- the third row!'''
- print a
结果:
- the first row,
- the second row,
- the third row!
3.2 去掉空格
语法:s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
代码:
- c=' hello world'
- print c.strip()
结果:
- hello world
3.3 计算字符串长度
语法:len()
代码:
- c=' hello world'
- print len(c)
结果:
3.4 字符串转int
代码:
- #!usr/bin/env python
- d = int('')
- print 'values is:',d+
结果:
- value is:
3.5参数化输出字符串
代码:
- age=;
- print 'you are',age,'years old!'
结果:
- you are years old!
如果有多个参数,可以用%s输出
代码:
- name = 'john'
- age=
- print '''my name is:%s,
- i am %s years old!''' %(name,age)
结果:
- my name is:john,
- i am years old!
4. 用户交互
raw_input 符合用户输入的习惯,把任何用户输入都转换成字符串存储,在需要其它类型的数据时,调用相应的函数进行转换
input 用户输入什么就存储什么,所以用户输入必须符合python语法要求,否则会出错
代码:
- #!usr/bin/env python
- name=raw_input('please input your name:') #得到的是字符串
- age=input('please input your age:') #得到的是数字
- print 'your name is %s and age is %s' % (name,age)
结果:
- please input your name:john
- please input your age:
- your name is john and age is
5. 流程控制
5.1 if...elif...else...
代码:
- #!usr/bin/env python
- age =
- if age < :
- print 'too young!'
- elif age == :
- print 'right age!'
- else:
- print 'too old!'
结果:
- too young!
5.2while...true...
代码:
- #!usr/bin/env python
- while True:
- name = raw_input("please input your name:").strip()
- if len(name) == :
- print "empty name!try again"
- continue;
- break
结果:
- please input your name:
- empty name!try again
- please input your name:
- empty name!try again
- please input your name:john
5.3 for...
代码:
- for i in range(,):
- print i
结果:
5.4 for...else...
在for循环完成后才执行else;如果中途从break跳出,则连else一起跳出。
代码:
- #!usr/bin/env python
- #i不会>,不走break,输出>
- for i in range(,):
- if i>:
- break;
- else:
- print '>10!'
- #i会>,走break,不输出>
- for i in range(,):
- if i>:
- break;
- else:
- print '>5'
结果:
- >!
6.导入模块
导入模块有三种方式:
- import os
- from os import system
- import os as operasys
代码:
- #!usr/bin/env python
- #直接导入os模块,调用linux系统命令
- import os
- os.system('df -h')
- #导入os模块的一部分,调用linux命令
- from os import system
- system('df -h')
- #导入os模块,并且重命名为operasys,调用linux命令
- import os as operasys
- operasys.system('df -h')
以上三种方式,执行结果相同,都调用系统命令df -h显示磁盘使用情况。
7.文件操作
7.1创建
- f=file('contact_list.txt','w') #'w'如果文件不存在,创建文件,存在则打开
- f.write('hello')
- f.close()
创建一个contact_list.txt文件,文件内容为'hello'.
7.2读取
- f=file('contact_list.txt')
- f.read() #读取一遍之后就没了,需要再次取值需保存到变量
- f.read([size]) #size为读取的长度,以byte为单位
- f.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分
- f.readlines([size]) #把文件的每一行作为一个list的一个成员,并返回这个list
7.3追加
- f=file('contact_list.txt','a')
- f.write('hello')
- #f.flush() #写日志的时候可以用这个
- f.close()
以上代码将'contact_list.txt'文件结尾追加内容'hello'.
7.4位置
- f.tell() #返回文件操作标记的当前位置,以文件开头为原点
- f.next() #返回下一行,并将文件操作标记位移到下一行
- f.seek(offset[,whence]) #将文件的操作标记移到offset的位置。
7.5内容替换
- #!usr/bin/env python
- import fileinput
- for line in fileinput.input('1.txt',inplace=):#做完替换后,立刻回到文件的开始行
- line = line.replace('','')
- print line,#此行必须有,否则替换不成功
关于文件的open模式:
w 以写模式打开
a 以追加模式打开(从EOF开始,必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见w)
a+ 以读写模式打开 (参见a)
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见w)
ab 以二进制追加模式打开 (参见a)
rb+ 以二进制读写模式打开 (参见r+)
wb+ 以二进制读写模式打开 (参见w+)
ab+ 以二进制读写模式打开(参见a+)
8.目录操作
import os
os.getcwd() #获取当前目录
os.mkdir('file') 创建目录
os.listdir('.') #返回指定目录下的所有文件和目录名
os.remove() #删除目录下文件
os.path.isfile() #检测路径是文件还是目录
os.path.isdir() #检测路径是文件还是目录
os.path.isabs() #判断是否是绝对路径
os.path.exist() # 检验给出的路径是否真的存在
os.path.split() #返回一个路径的目录名和文件名
os.path.dirname() #返回一个路径的路径名
os.path.basename() #返回一个路径的文件名
os.rename(old,new) #目录重命名
os.path.getsize(filename) #获取文件大小
python入门到精通[二]:基础学习(1)的更多相关文章
- python入门到精通[三]:基础学习(2)
摘要:Python基础学习:列表.元组.字典.函数.序列化.正则.模块. 上一节学习了字符串.流程控制.文件及目录操作,这节介绍下列表.元组.字典.函数.序列化.正则.模块. 1.列表 python中 ...
- Python基本语法,python入门到精通[二]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...
- Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- Python运算符,python入门到精通[五]
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- iOS开发-UI 从入门到精通(二)
iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- 【UML】NO.70.EBook.9.UML.4.001-【PowerDesigner 16 从入门到精通】- 基础概念
1.0.0 Summary Tittle:[UML]NO.70.EBook.9.UML.4.001-[PowerDesigner 16 从入门到精通]- 基础概念 Style:DesignPatte ...
- Python入门到精通学习书籍推荐!
1.Python基础教程(第2版 修订版)<Python基础教程(第2版修订版)>包括Python程序设计的方方面面,内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合 ...
随机推荐
- Linux第02天
Linux 第02天 1.Linux磁盘和文件系统 VFS————虚拟文件系统 df命令————查看已挂载的分区 df 分区名 du命令————查看文件夹大小 du 文件夹名 ln命令————符号链接 ...
- MVC和WebForm 中国省市区三级联动
MVC和WebForm是微软B/S端的两条腿,两种不同的设计理念,相对来说MVC更优于WebForm对于大数据的交互,因为WebForm是同一时间传输所有数据,而MVC它只是传输所用到的数据,更精确, ...
- Subsonic简单的语法整理
.查询方面 (查询所有数据记录[dataset读取方法]) Myuser.Query().ExecuteDataSet().Tables[]; Myuser.Query().ExecuteDataSe ...
- Fouandation(NSString ,NSArray,NSDictionary,NSSet) 中常见的理解错误区
Fouandation 中常见的理解错误区 1.NSString //快速创建(实例和类方法) 存放的地址是 常量区 NSString * string1 = [NSString alloc]init ...
- jquery控制radio选中
好久没写jquery了,昨天下午写一个效果,结果倒腾了半天还是没有解决,好在今天早上在网上询问到解决方法了,现在果断记录下. 要实现的效果就是交易方式选择时不同的交易方式下默认选中第一个选项. 如下: ...
- Object-C 1.0 第二章
1. 输出obc #import <Foundation/Foundation.h> int main(int argc,const char *argv[]) { NSLog(@&qu ...
- java的poi技术读,写Excel[2003-2007,2010]
在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术 ...
- ecmall源码中的 function _config_view()-关于重写
ecmall中类库的继承过程: defaultAPP->MallbaseApp->FrontendApp->EcBaseApp->BaseApp->Object 在bas ...
- 解决FTP的URL访问不能有中文名称的问题,报java.lang.IllegalArgumentException
最近一个项目要用到FTP做上传下载,我访问ftp的url中有中文名称,结果每次都报如下错: 1 Exception in thread "main" java.lang.Illeg ...
- Bootstrap的字体文件woff2 报错
在iis上看到网站有个404,于是强迫症来了... 百度了许久,知道了解决办法,记下来,是网站默认没有支持这种字体 在 Web.config 的 system.webServer 节点中添加: 带标签 ...