这并不是教程,只是Python的学习笔记,我会把学到的重点知识写在这篇文章上,然后利用晚上睡觉前和早上起床后进行复习。
如果你也是Python的初学者,你也可以把这些文章当成重点知识列表,但这并不能帮助你学会Python,它算的上一个备忘录,就是在你已经学会Python后的一种复习资料。
我学习的是Python2.7,因为公司项目中使用的是Python2.7的版本(我并不建议您学习这个版本的教程),最新版是3.6,如果你没有老旧项目的负担,建议你学习3.6的版本。
一、windows下安装Python2.7.
我是直接去官网进行下载的,官网的网址:https://www.python.org
点击downloads后会有两个版本供你选择一个是Python3.6 一个是Python2.7 。因为我们工作用的是Python2.7的版本,所以下载2.7。下载后直接点击安装就可以了,需要注意的是要把所有的插件都安装上。
一定要把 Add python.exe to Path 选择上,然后点击Next按钮进行安装。
默认会安装到C:\Python27目录下,打开命令提示符窗口,输入Python,出现>>>说明安装成功。
二、第一个Python程序 HelloWorld
Python安装好了,现在可以来写我们的第一个程序HelloWorld了。
步骤如下:
1、新建一个文件夹,比如PythonDemo
2、在文件夹下,新建一个hello.py文件
3、在hello.py文件中敲写代码:
1 | print 'hello ,world' |
4、打开windows自带的命令行提示工具,进入你新建的文件夹,输入 python hello.py
编写成功会出现上图的结果。
三、让我们的HelloWorld 高级一点
在控制台上输出HelloWorld没什么意思,我们改一下需求让我们的程序更实用,先让用户输入自己的名字,然后再控制台打印出Hello,XXX。
为了满足这个需求我们需要了解一个输入语法:raw_input( )。它的作用是在控制台建立一个让用户输入的交互,用户输入完成点击回车后,可以用变量存储输入值。
1 | name = raw_input() |
这行代码的意思是把用户的输入存放到name变量中。
我们直接给出满足需求的代码:
1 2 | name = raw_input("please enter your name") print 'hello,',name |
please enter your name是提示语,提示让用户输入自己的名字,name就是一个变量。然后我们再用print输出变量。
当然这在实际开发中没什么用处,现实中我们会有界面或者网页让我们输入。
注意:Python程序的大小写是敏感的,如果大小写错误会报错,让程序无法运行。
四、字符串的格式化
数据类型基本和其他编程语言一致,所以我就不过多的写笔记了,Python的字符串格式化还是很有意思的。
比如“亲爱的XXX您好,您的XXXXXXX订单我们已经收到,现在已经为你出库,准备配送。”这里的XXX是可变的,我们需要用字符串格式化的方式来完成这个需求。
Python的字符串格式化很简单,只要在需要格式化的地方加入%就可以了。
我们看一个最简单的例子:
1 2 | print 'Hello %s' %'world' print 'Hi, %s , you have $%d' %('JSPang',100000) |
输出的结果如下图:
%s就是一个占位符,然后我们在后边再给他负值。
常见的占位符有:
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
五、Python的中文注释
在用Python编写代码时,避免不了实用中文注释和编写的情况,这时候你需要在文件开头加上中文注释。在代码上注释它的用途,如果开头不声明保存编码的格式是什么,那么它会默认使用ASCII码保存文件,这时你的代码中有中文就会储存,即使你的中文是包含在注释里的,也会出错。
1 | #coding=utf-8 |
六、Python中的list
Python中的list很像其他编程语言中的数组,但是python叫他list,也就是列表的意思。其实他就是可以声明多个元素,然后进行各个元素的操作。我用了一段代码,写出了list的大部分操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #coding=utf-8 #生成一个list classmates = ['King','JSPang','Wadi'] #打印出list print classmates #得到list长度 print len(classmates) #在list末尾追加元素 classmates.append('Ading') print classmates #把元素插入到指定位置,插在第二元素的位置 classmates.insert(1,'Jack') print classmates #删除list末尾元素,用pop() classmates.pop() print classmates #删除指定位置的元素 classmates.pop(1) print classmates #替换元素 classmates[1]='Panda' print classmates |
七、条件判断if….else
其实写程序除了对数据的增删改查操作意外,主要的逻辑层编写用的就是条件判断。
比如,比如根据用户的年龄不同,输出不同的内容。我们来看一个例子:
1 2 3 4 5 6 7 | age = 3 if age>=18: print 'your age is %d' % age print 'abult' else: print 'your age is %d' % age print 'teenager' |
这里使用了if else语句,当年龄大于等于18时输出年龄,并输出abult(成人),否则输出年龄和teenager(青少年)。注意,在if 和else后边都有冒号“:”不要忘记写。
如果有多条件判断时,可以使用elif。
1 2 3 4 5 6 7 | age = 20 if age >=6: print 'teenager' elif age >=18: print 'adult' else: print 'kid' |
if判断是可以简写的,比如写:
1 2 3 4 5 | x='' if x: print 'True' else: print 'False' |
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
八、for….in循环
for…in循环可以把list和tuple(元祖,不可改变的list数据类型)中的每个元素迭代出来。先来看一个迭代list的例子。
1 2 3 4 | #coding=utf-8 names = ['JSPang','Panda','King'] for name in names: print name |
这段代码会一次打印出names的每一个值。
有了上段代码的经验,我们提高难度,现在要计算出1-100的整数之和,这里需要用到range( )函数,它是python提供,可以生成一个整数序列。
1 2 3 4 5 | #coding=utf-8 sum = 0 for x in range(101): sum = sum + x print sum |
最后的输出结果是5050。
九、while循环
while循环只要满足条件,就会不断的循环,当条件不满足时退出循环。比如我们要计算100以内所有奇数之和。
1 2 3 4 5 6 7 | #coding=utf-8 sum = 0 n =99 while n>0: sum=sum+n n=n-2 print sum |
输出结果是2500。
十、Python中的dict
dict是python的内置字典功能,全称为dictionary,和map很像,使用键值(key-value)的形式存储,具有极快的查找速度。
比如我么要对学生的成绩进行查找,就可以用dict来进行编码,看下边的例子:
1 2 | dict = {'King':95,'JSpang':80,'Panda':60} print dict['King'] |
要删除一个key,可以用pop(key)方法,对应的value也会从dict中删除:
1 2 3 4 5 6 7 | #coding=utf-8 dict = {'King':95,'JSpang':80,'Panda':60} #删除了key为King 的值 dict.pop('King') #对dict的循环输出 for (d,x) in dict.items(): print "key:"+d+" value:"+str(x) |
输出的结果如图:
和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而增加。
- 需要占用大量的内存,内存浪费多。
总结:今天是接触Python的第一天,简单的接触和基本语法的窥视,感觉Python的语法形式比较简单,可以节省很多代码量。在学习时我经常会和PHP和JavaScript进行比较学习,理解Python的先进之处。学习中并没有碰到什么难点,都是阅读后可以马上理解的。