学习背景:
我在西藏拉萨出差已经连续将近2个月了,实时想到会精通一门编程语言并编写出自己想要的程序是我多年的梦想,一定找时间实现,回想高中时,自己对编程的兴趣十分浓厚,父母给自己购买了学习机插卡式的,只能敲basic代码,同时学校有计算机课,经常和老师讨论编程问题,时光一晃20多年过去了,编程放下了,但是我的梦想没有放下,正好看到老男孩在51cto网站上开设网络培训PYTHON语言学习班,我犹豫了怕在高原坚持不下来,后来想早报名早学习,不能再耽误下去了,我毅然报了名,花了5000多money,自己给自己压力。每一周有一节网络在线课,主要是解答问题和布置作业,和程序分析。
没想到第一节课就给了我一个下马威,我之前还是自学过C语言的,不是零基础,但是把我难到了,看了n多发给的视频,感觉会了,但是编写起代码来总是出错,说实话作业也超出了第一节课的学习范围,这次我只得了60份C-,我大失所望,但既然报名了就学习到底。我强忍着晚上白天有时间看视频做练习。以下是我第一周学习的总结。
一、Python简史
1、1989年由Guido写Python语言编译器。创造一种C和shell之间,功能全面,易学易用,可拓展的语言。1991年第一个Python编译器诞生,用C语言实现的。
2、与2010年7月3日发现2.x版本的最后一个版本2.7,与2008年12月3日发行3.0版本,到目前2015年9月发行到3.5版本
3、2.7版本不会再有更新了,所有最新的标准库最新的功能只在3.X版本里,且3.x版本把之前2.x版本的很多重复的,效率低下的内容进行了缩减,语法有一些进行了改变,如最基本的print 2.x版本 print "python ver 2.x" 3.x版本会报错 正确应该 print("python ver 3.x")
4、python3是现在和未来的语言,python2.x是过去的语言Python语言作者Guido van Rossum宣布Python 2.7支持时间延长到2020年。
二、开发工具介绍
1、推荐安装Pycharm,目前最新版本5.03,因为Pycharm是一个IDE,开发工具,可以提醒补充语句和查询,方便写代码。
2、安装python在windows中需要设置环境变量,我安装python3.4时自动已经把环境变量设置好了,设置的目的是,在任意目录下输入python都可以运行。
上图环境变量path 加入你目前安装python的实际路径 如d:\python34\
三、基础知识
1、打印hello world
上图是python 3.x 和2.x版本不同 print后面要有括号
2、变量和赋值
给变量赋值右侧如果是字符串必须加引号,否则默认为是一个变量而报错
变量不能是已数字开头,或者关键字开头如and等,示例如下:
1)、变量名只能是 字母、数字或下划线的任意组合
2)、变量名的第一个字母不能是数字
3)、关键字不能声明为变量名例如:
False class finally is returnNone continue for lambda tryTrue def from nonlocal whileand del global not withas elif if or yieldassert else import passbreak except in raise
4)、变量赋值用=,判断条件是否为真时用==,!=,>=,<= 等逻辑判断。
5)、变量赋值可以用相关函数转换赋值的类型,如字符5可通过整型转换函数int转换为数字整型5
3、条件选择判断
1)、表达式为True 则执行下面语句,if后面加:相当于C语言的(), if下面一行要缩进,完整的if 包括 if 表达式:,elif 表达式:,else:换行
1 a=int(input("请输入10以内的数字:")) 2 if a>5: 3 print("此数字大于5") 4 elif a==5: 5 print("此数字等于5") 6 else: 7 print("此数字小于5")
运行结果:
D:\Python34\python.exe C:/Users/AMTF/PycharmProjects/S12/day1/linshi.py
请输入10以内的数字:5
此数字等于5
Process finished with exit code 0
4、循环
1)、while循环
格式 while 表达式,当表达式为True时执行下面循环语句。为表示下方是while循环的部分,while表达式后面加:,下面第一行缩进。
可以加else:作为while不成立时执行的表达式。
1 shuru=int(input("请输入一个数字")) 2 while shuru<50: 3 print("这是一个小于50的数字:",shuru) 4 else: 5 print("这是一个大于等于50的数字:",shuru)
输出代码1:
D:\Python34\python.exe C:/Users/AMTF/PycharmProjects/S12/day1/linshi.py
请输入一个数字66
这是一个大于等于50的数字: 66
Process finished with exit code 0
输出代码2:
D:\Python34\python.exe C:/Users/AMTF/PycharmProjects/S12/day1/linshi.py
请输入一个数字40
这是一个小于50的数字: 40
Process finished with exit code 0
2)、for 循环
格式 for 变量 in range(数字)或 in 列表,元组,字典或一个集合。
1 shuru=int(input("请输入一个数字计算0到这个数字的相加之和")) 2 y=0 3 for x in range(shuru): 4 y=(y+x) 5 print(y)
输出代码:
请输入一个数字计算0到这个数字的和相加9
0
1
3
6
10
15
21
28
36
3)、常用数据类型
1.整型 如 5,10,1000
2.浮点型 如 5.67,7.83
注意在python3中已经取消了long长整型变量
3.布尔值
0和1,真或假 0==假,1==真
4.字符串
单引号,双引号,三引号如:
‘zhongguo’,"fengong”,
”’this is pen,
the road is very black。
”’
当三个引号时,有两个作用
1、可以直接用作注释同多行#
2、在print后面可用作多行按格式化打印格式符
字符串之间可用+来连接组成一组字符,不够每用一次+就会在内存空间开辟一个区域来存储,所以不建议用+
可用%s来代替+,举例说明
name=“liming”,xingbie="nan",age="18",tizhong="160"
1 name="liming" 2 xingbie="nan" 3 age="18" 4 tizhong="160" 5 print("名字="+name+"性别="+xingbie+"年龄="+age+"体重="+tizhong) 6 print("名字=%s性别=%s年龄=%s体重=%s"%(name,xingbie,age,tizhong))
输出代码:
D:\Python34\python.exe C:/Users/AMTF/PycharmProjects/S12/day1/linshi.py
名字=liming性别=nan年龄=18体重=160
名字=liming性别=nan年龄=18体重=160
strip(),可用作移除空格,括号里面加入相应字符课移除相应字符例:
1 name=input("name=").strip() 2 xingbie=input("xingbie=").strip() 3 age=input("age=").strip() 4 tizhong=input("tizhong=").strip() 5 print("名字=%s性别=%s年龄=%s体重=%s"%(name,xingbie,age,tizhong))
输出代码:
D:\Python34\python.exe C:/Users/AMTF/PycharmProjects/S12/day1/linshi.py
name= weilong
xingbie= nan
age= 55
tizhong= 150
名字=weilong性别=nan年龄=55体重=150
以上代码输入前后有空格,通过strip()移除空格。
5、列表
定义1、变量=[]
定义2、变量=list([])
list_zs1=["中国","首都","北京","朝阳区"]
list_zs2=list(["中国","首都","北京","朝阳区"])
print(list_zs1,list_zs2)
运行代买:
D:\Python34\python.exe C:/Users/AMTF/PycharmProjects/S12/day1/linshi.py
['中国', '首都', '北京', '朝阳区'] ['中国', '首都', '北京', '朝阳区']
以上列表第一个元素是从零开始的,如 “中国” 就是 list_zs1[0]
列表的详细方法:
1 list_zs1=["中国","首都","北京","朝阳区"] 2 print("原列表",list_zs1) 3 list_zs1.append("首都") 4 print("列表变化append",list_zs1) 5 list_zs1.insert(2,"中国") 6 print("列表变化insert",list_zs1) 7 print("列表变化index首都",list_zs1.index("首都")) 8 print("列表变化count首都",list_zs1.count("首都")) 9 list_zs1.pop() 10 print("列表变化pop",list_zs1) 11 list_zs1.sort() 12 print("列表变化sort",list_zs1) 13 list_zs1.remove("中国") 14 print("列表变化remove",list_zs1) 15 list_zs1.extend(list_zs1) 16 print("列表变化extend",list_zs1) 17 list_zs1.reverse() 18 print("列表变化reverse",list_zs1) 19 list_zs2=list_zs1.copy() 20 print("列表变化list_zs2 copy",list_zs2) 21 list_zs1.clear() 22 print("列表变化clear",list_zs1)
输出代码:
D:\Python34\python.exe C:/Users/AMTF/PycharmProjects/S12/day1/linshi.py
原列表 ['中国', '首都', '北京', '朝阳区']
列表变化append ['中国', '首都', '北京', '朝阳区', '首都']
列表变化insert ['中国', '首都', '中国', '北京', '朝阳区', '首都']
列表变化index首都 1
列表变化count首都 2
列表变化pop ['中国', '首都', '中国', '北京', '朝阳区']
列表变化sort ['中国', '中国', '北京', '朝阳区', '首都']
列表变化remove ['中国', '北京', '朝阳区', '首都']
列表变化extend ['中国', '北京', '朝阳区', '首都', '中国', '北京', '朝阳区', '首都']
列表变化reverse ['首都', '朝阳区', '北京', '中国', '首都', '朝阳区', '北京', '中国']
列表变化list_zs2 copy ['首都', '朝阳区', '北京', '中国', '首都', '朝阳区', '北京', '中国']
列表变化clear []
列表的切片:
1 list_zs1=["地球","中国","北京","朝阳区","东坝地区","奥林匹克花园","2号楼"] 2 print(list_zs1) 3 quzhi1=list_zs1[0:3] 4 print(quzhi1) 5 quzhi2=list_zs1[2:5] 6 print(quzhi2) 7 quzhi3=list_zs1[-3:] 8 print(quzhi3) 9 quzhi4=list_zs1[0:7:2] 10 print(quzhi4)
输出代码:
['地球', '中国', '北京', '朝阳区', '东坝地区', '奥林匹克花园', '2号楼']
['地球', '中国', '北京']
['北京', '朝阳区', '东坝地区']
['东坝地区', '奥林匹克花园', '2号楼']
['地球', '北京', '东坝地区', '2号楼']