学习python第一天
2015-01-27 19:47
459 查看
寒假在家搞搞python,计划每天搞两个小时,看看三十天后会到怎样的阶段。写个系列博客来激励一下自己。也算是留下一点学习的痕迹。
由于目前python分为2和3,而目前大量的第三方库都在2的平台上,因此学习过程中,我使用的是2.7.9的版本。
由于把《学习python》一书忘在了学校里,在这次学习过程中我将主要参考廖雪峰的官方网站上提供的教程。在这里先对廖雪峰先生表示感谢。
另外,在本系列结束的时候,我会把我的所有学习代码全部分享出来。
(一 ) 认识python
首先介绍一下Pythond的代码注释:单行注释用#,多行注释用三引号
一切数据皆对象,一切命名皆引用
python是一种动态类型语音,同时也是一种强类型语音。
下面我们来写一个简单的程序,这个程序会列出"h:/"下面的文件信息:
(二)变量与类型
Python 中以下划线开始或者结束的标识符通常有特殊意义。例如 一个中以下划线开始的标识符如_foo不能用 from module import *语句导入。
前后均有两个下划线的标识符如__init__被特殊方法保留。前面有两个下划线的标识符,如__bar, 被用来实现私有属性,这个将在“类和面向对象编程“中再说。
python没有常量,如果非要定义常量,可以 引用const模块
python的关键字 不能作为标识符
python的一切数据都是对象
python内建的数据类型有20多种,这里主要学习 空类型, 不二类型, 整型, 浮点型, 字符串, 元祖, 列表, 集合, 字典
空类型(None)表示该值是一个空对象
布尔类型的值分为True和False,需要注意大小写,在Python中,None以及任何数值类型的0,空字符串‘’,空元组(),空列表[],空字典{},都被当作False,其他对象均为True.
废话不多说,我们来看一段代码:
数值类型
关于Python中的数值类型,主要有四种:int long float complex
字符串类型
python拥有两种字符串类型:标准字符串类型(str)是单字节字符序列,Unicode字符串(unicode)是双字节字符序列
在 Python 中定义一个标准字符串 (str)可以使用单引号,双引号,三引号。当字符中含有换行符等特殊字符时,可以直接使用三引号定义
下面来看一段代码:
结果如下
全局变量:
如果你在函数内部定义变量的话,在外部是无法获取的,但如果加上global关键字的话就可以。
列表:
列表中的元素可以是任意类型的(包括列表本身,可以实现多维数组),按位置索引
下面我们在通过一个程序来学习列表元素的添加与删除,并理解如何用list表示多维的数据
Python还包括了一个更高级的操作,称为列表解析表达式,从而提供了一种处理像矩阵这样结构的强大工具。
元组 tuple()
元组与列表非常相似,它用()表示。元组比列表速度更快,但是元组是一个不可变的序列,一旦初始化就不能修改
字典 dict:
啊,今天写了不少了,就到这里吧。明天计划学习dict,set.运算符,表达式,流程控制,以及简单的函数知识。
北京时间2015年1月27日23点28分
由于目前python分为2和3,而目前大量的第三方库都在2的平台上,因此学习过程中,我使用的是2.7.9的版本。
由于把《学习python》一书忘在了学校里,在这次学习过程中我将主要参考廖雪峰的官方网站上提供的教程。在这里先对廖雪峰先生表示感谢。
另外,在本系列结束的时候,我会把我的所有学习代码全部分享出来。
(一 ) 认识python
首先介绍一下Pythond的代码注释:单行注释用#,多行注释用三引号
一切数据皆对象,一切命名皆引用
python是一种动态类型语音,同时也是一种强类型语音。
下面我们来写一个简单的程序,这个程序会列出"h:/"下面的文件信息:
#-*-coding:utf-8-*- import sys import os def main(): sys.stdout.write("hello world 我的第一个程序\n") print os.listdir("h:/") if __name__=="__main__": main()第一行是为了能够使用中文:第二行和第三行是Import一些module.最后两行是为了让代码能够方便执行。
(二)变量与类型
Python 中以下划线开始或者结束的标识符通常有特殊意义。例如 一个中以下划线开始的标识符如_foo不能用 from module import *语句导入。
前后均有两个下划线的标识符如__init__被特殊方法保留。前面有两个下划线的标识符,如__bar, 被用来实现私有属性,这个将在“类和面向对象编程“中再说。
python没有常量,如果非要定义常量,可以 引用const模块
python的关键字 不能作为标识符
python的一切数据都是对象
python内建的数据类型有20多种,这里主要学习 空类型, 不二类型, 整型, 浮点型, 字符串, 元祖, 列表, 集合, 字典
空类型(None)表示该值是一个空对象
布尔类型的值分为True和False,需要注意大小写,在Python中,None以及任何数值类型的0,空字符串‘’,空元组(),空列表[],空字典{},都被当作False,其他对象均为True.
废话不多说,我们来看一段代码:
#-*-coding:utf-8-*- """ day01_02 """ def main(): print("hello world! True or False") if 0: print 'True' else: print 'False' if __name__=="__main__": main()如果运行这段代码的话,结果会打印出False,原因就是数值0在python中被当作是False。所以执行else中的语句。
数值类型
关于Python中的数值类型,主要有四种:int long float complex
字符串类型
python拥有两种字符串类型:标准字符串类型(str)是单字节字符序列,Unicode字符串(unicode)是双字节字符序列
在 Python 中定义一个标准字符串 (str)可以使用单引号,双引号,三引号。当字符中含有换行符等特殊字符时,可以直接使用三引号定义
下面来看一段代码:
#-*-coding:utf-8-*- """ day01_03 """ def main(): print("hello world\n") str1='i am "python"\n' str2="i an 'python'\r" str3=""" i'm "python", <a href="http://www.baidu.com"></a> """ print str1, str2, str3 if __name__=="__main__": main()
结果如下
全局变量:
如果你在函数内部定义变量的话,在外部是无法获取的,但如果加上global关键字的话就可以。
列表:
列表中的元素可以是任意类型的(包括列表本身,可以实现多维数组),按位置索引
#-*-coding:utf-8-*- def main(): classmates=['zhangsan','lisi','wangwu'] print classmates[0] #从0开始索引,打印的是第一个元素'zhangsan' classmates[0]='zhangsanfeng' #修改第一个元素 print classmates lis = [123,'spam',1.23] print len(lis) #len()函数可以返回list的长度(元素个数) print lis[0] print lis[-1] #打印最后一个元素 print lis[: -1] #除最后一个元素以外的其他元素 print lis+[4,5,6] #重新拼接一个新的list if __name__=="__main__": main()
下面我们在通过一个程序来学习列表元素的添加与删除,并理解如何用list表示多维的数据
#-*-coding:utf-8-*- """ day01_05 """ def main(): classmates=['zhangsan','lisi','wangwu'] classmates.append('adam') #在末尾为这个list添加元素 print classmates classmates.insert(1,'jack') #在指定的位置为这个list添加元素 print classmates classmates.pop() #删除list末尾的元素 print classmates classmates.pop(1) #删除list指定位置的元素(此处为第二个元素) print classmates classmates[1]='sarah' #直接修改指定位置的元素 print classmates s = ['python','java',['asp','php'],'scheme'] #一个list中的元素可以是list print s[2][1] #第三个元素中的第二个元素为'php' print len(s) #长度应该为4 print len(s[2]) #长度应该为2 print s s.pop(2) print s if __name__=="__main__": main()list还支持切片这样的操作,切片是指抽取序列的一部分。下面我们还是用代码来解释
#-*-coding:utf-8-*- """ day01_06 """ def main(): classmates=['zhangsan','lisi','wangwu','michael','sarah','tracy','bob','jack'] print classmates[0:3] #从索引0开始到索引3结束(不包括索引3),即0,1,2. #也可以写成classmates[:3] print classmates[2:5] #打印索引2,3,4的元素 print classmates[-2:] #打印最后两个元素 print classmates[-2:-1]#打印倒数第二个元素 lis = range(100) print lis[:10] print lis[-10:0] print lis[10:20] print lis[:10:2] #前十个数每过两个取一个 print lis[::5] #所有数每过五个取一个 array = [5,2,3,1,8] array.reverse() #对list进行翻转 print array array.sort() #对list进行排序 print array for s in array: #for循环打印元素 print s if __name__=="__main__": main()
Python还包括了一个更高级的操作,称为列表解析表达式,从而提供了一种处理像矩阵这样结构的强大工具。
#-*-coding:utf-8-*- def main(): M=[[1,2,3], [4,5,6], [7,8,9]] col2=[row[1] for row in M] #打印第二列的元素 print col2 col3=[row[1]+1 for row in M] #打印第二列的元素 print col3 colfilter=[row[1] for row in M if row[1]%2==0] #打印能被2整除的第二列元素 print colfilter if __name__=="__main__": main()
元组 tuple()
元组与列表非常相似,它用()表示。元组比列表速度更快,但是元组是一个不可变的序列,一旦初始化就不能修改
#-*-coding:utf-8-*- """ day01_08 """ def main(): classmates=('zhangsan','lisi','wangwu','michael','sarah','tracy','bob','jack') a,b,c,d,e,f,g,h=classmates #实现解包的功能 print classmates[1:3] #tuple也支持切片 print a,b,c,d,e,f,g t = (('t1','t2'),('t3','t4')) #在元组中包含元组 print t[0][0] if __name__=="__main__": main()
字典 dict:
啊,今天写了不少了,就到这里吧。明天计划学习dict,set.运算符,表达式,流程控制,以及简单的函数知识。
北京时间2015年1月27日23点28分
相关文章推荐
- [Python学习第一天]内置数据类型介绍,万物皆对象!
- 《python tutorial》--python 学习第一天
- python学习第一天
- python第一天学习笔记
- python学习第一天
- Python学习第一天
- python学习第一天
- Python学习第一天[安装与编辑器]
- 人生苦短,我用Python 学习笔记——第一天
- python学习日记_第一天
- 《python tutorial》--python 学习第一天
- 编程语言之python学习第一天
- Python学习第一天
- python入门第一天学习
- 学习Python第一天!
- python学习第一天
- python学习第一天----模块之import和reload
- python学习第一天
- 1.python学习第一天-爬取我的第一个网页
- python学习笔记之基础一(第一天)