python基础(一),,写在前面:这次下了决


写在前面:这次下了决心学习python,目标最低是:至少能独立完成一个自博客站点,一个h5APP,以及非常熟练使用pandas,numpy等常用数据分析工具,希望不要放弃,加油!

python基础(一):

python诞生的很早,但是前些年在国内一直不温不火,势头完全不如java,php,在软件外包行业的鼎盛时期,鲜见以python作为开发语言的B/S架构系统。这些年,由于自动化运维的火热,python因其开发难度低,功能全面,逐渐在运维圈流行了起来。虽然在我看来,大部分的自动化运维其实并不需要shell外的任何语言辅助,但是随着国内对运维的重视程度越来越高,因python在高级特性上比shell仍有优势,python在运维功能中的比重也越来越高。

python分类:

由于python是一门流行的免费的解释型开源语言,大量python狂热粉为了让python更加强大(!)衍生开发出多种新的解释器:

CPython:这是最常用的Python版本,采用C语言开发。Jython:采用java开发。显而易见,Jython可以直接调用Java的各种函数库,对于java开发非常友好。PyPy:采用python开发,据说pypy效率较Cpython要高非常多,应该是实现了python的多线程功能吧(猜的哈哈)。IronPython:C#版,好处是可以调用C#的开发库。

学习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 (可选:部分文件)

暂时需要的就是这些,以后再使用高级功能。

python基础(一)

相关内容

    暂无相关文章

评论关闭