标签:
写在前面:这次下了决心学习python,目标最低是:至少能独立完成一个自博客站点,一个h5APP,以及非常熟练使用pandas,numpy等常用数据分析工具,希望不要放弃,加油!
python基础(一):
python诞生的很早,但是前些年在国内一直不温不火,势头完全不如java,php,在软件外包行业的鼎盛时期,鲜见以python作为开发语言的B/S架构系统。这些年,由于自动化运维的火热,python因其开发难度低,功能全面,逐渐在运维圈流行了起来。虽然在我看来,大部分的自动化运维其实并不需要shell外的任何语言辅助,但是随着国内对运维的重视程度越来越高,因python在高级特性上比shell仍有优势,python在运维功能中的比重也越来越高。
python分类:
由于python是一门流行的免费的解释型开源语言,大量python狂热粉为了让python更加强大(!)衍生开发出多种新的解释器:
学习python必定是从Cpython开始,我们先部署好环境,按照对应的操作系统从https://www.centos.org/下载你需要的版本,安装即可。是不是很方便?(本人学习python是从3.5开始)
安装完成,我们就可以开始了:
新建一个文件,命名为***.py,进入编辑模式:
输入以下两行
#!/usr/bin/python3 <----定义解释器路径,根据系统填写实际路径即可
print(‘您好!‘) #<----print方法,用于输出字符串至屏幕。
然后在终端或cmd或桌面双击运行:
您好!
第一个python程序成功执行了,是不是其实很简单!哈哈
可能部分windows环境的同学(我是mac)这里遇到了问题,似乎输出了乱码,这里由于编码格式的问题,cmd程序默认的输出编码是gbk,而3.5默认的输出编码是utf-8,这里有两种解决办法:修改cmd的输出编码成utf-8,或者对python输出编码进行转码操作,转换成gbk,不过这里不在详细叙述。
让我们在修改下代码吧:
#!/usr/bin/python3
output = input(‘尝试输入字符:‘) #<-----input方法用于接收键盘输入。
print(output)
执行效果如下:
尝试输入字符:123
123
这里程序已经具有基本的输入输出功能了,看起来是不是像个样子了?不过这仍然是个没有价值的程序。
我们在改装下吧,让他变成一个好像有点用的程序:
#!/usr/bin/python3
usr = input(‘尝试输入字符:‘)
pwd = input(‘尝试输入字符:‘)
if usr = ‘jizast‘ and pwd ‘123‘: print(‘验证通过‘)
else print(‘验证失败‘)
程序仍然很简单,但是给他添加了一个判断语句:if .... else ..... 让这个程序终于有点智能的样子了。
但是一旦验证失败就退出那个这个程序也太难用了,每次验证都要重新执行,我们在优化下:
#!/usr/bin/python3
whlie True:
usr = input(‘尝试输入字符:‘)
pwd = input(‘尝试输入字符:‘)
if usr = ‘jizast‘ and pwd ‘123‘: print(‘验证通过‘)
else print(‘验证失败‘)
这下程序就不用频繁打开了,因为添加了一个循环语句:while.... ,但是仍然有个问题:如果你是黑客,你希望通过猜测来破解密码,那给你无限次的尝试次数是非常危险的,我们再修改下:
cs = 3
while cs > 0:
username = input("请输入用户名:")
password = input("请输入密码:")
if username == ‘alex‘ and password == ‘123‘:
print("登录成功!")
break
else:
cs -= 1
if cs ==0:
print(‘错误超过三次,程序自动退出.‘)
break
print("登录失败!请检查用户名或者密码!你还有" + str(cs) + "次机会")
一下子添加太多功能是不是有点乱?慢慢来看吧。
cs = 3 #<------声明了一个cs的变量并赋值。
如果是学过C过来的同学,肯定不喜欢这个,为什么一个变量赋值之前都不需要声明变量类型?但是这就是python的好处,你不需要干这个:
当你赋数字给他时,他就是int类型,当你赋字符串给他时,他就是str类型,实际上python的常见数据类型如下:
数据类型 | 例子 |
数字 | 123, 3.1, 3+4j, Decimal |
字符串 | ‘abc‘, "abc‘d", b‘asd\xc‘ |
列表 | [1, ‘2‘, [‘三‘, 4]] |
元组 | (1, ‘2‘, 3) |
字典 | {‘姓名‘: ‘jizast‘, ‘长相‘: ‘潇洒‘} |
特殊类型 | None, True, False, 自定义类 |
这里cs就是一个数字类型,在程序中扮演一个标识符,一会就知道是干嘛用的了:
while cs > 0:
这是一个循环语句,可以重复执行while模块下的语句,并在指定条件下退出。
这里介绍下常见的循环语句:
while循环是python中最通用(实际在几乎所有编程语言里都是)的迭代结构,只要在while 测试时一直为真,它就会一直执行while下的模块。
if username == ‘alex‘ and password == ‘123‘:
print("登录成功!")
break
这里的if模块中有一个break语句,这句是用来退出while循环的,即while除顶部测试的退出方式外,也可通过模块内break语句退出程序。
if则是python(也针对所有语言)最常用的判断语句,格式为if....elif.....else....,即:
if a为真:执行1
elif b为真:执行2
else a为假:执行3
程序中这个if实际就是起到了判断作用,如果用户名和密码匹配则登录成功,并不再执行循环验证。
else:
cs -= 1
if cs ==0:
print(‘错误超过三次,程序自动退出.‘)
break
print("登录失败!请检查用户名或者密码!你还有" + str(cs) + "次机会")
这快则是验证失败的处理:
如果用户名密码验证失败,这cs变量减一,即尝试次数减一次,并打印报错信息。当cs = 0时,尝试次数用完,程序自动结束。
总结下程序功能:用户输入用户名密码后,如果正确就成功登陆,如果信息有误,则可以尝试重新输入,有三次机会。如果超过三次则自动退出。
这是不是像回事了?好像实现了一个简单的用户登陆功能!
不过现在学的就这么多,以后可以实现更复杂的功能哦!
附:SVN命令使用教程
因为mac用不了一部分svn客户端,所以苦逼的我只能优先看命令行工具svn了,但是在学习后发现这个跟客户端一样强大,对运维来说,命令行客户端工具永远强于桌面客户端工具,你们懂的。
首先我们在本地创建一个svn的工作空间,比如叫stu123
现在我们先尝试初始化这个工作空间:
#svn import /Users/mouibayashi/Documents/stu123 svn://svn服务器地址 --username=用户名 --password=密码-m "操作注释"
初始化完后,我们就可以创建文件啦
#svn add -m "创建同步文件"
如果你是手动复制到本地工作空间的,一样需要通过add命令添加到远程目录
当你修改了文件内容后,你需要提交
#svn commit -m "提交修改"
如果svn远程空间文件发送变化,则你需要更新到本地空间
#svn update (可选:部分文件)
暂时需要的就是这些,以后再使用高级功能。
标签:
原文地址:http://www.cnblogs.com/jizast/p/5494818.html