python运维开发之路第一天
一、python安装及环境变量配置
1、windows7安装python
1)下载地址:https://www.python.org/downloads/windows/
如下图:
注意:下载,用代理会好很多
2)安装python3.6
双击打开后,第一步要记得勾上add python to Path 选项,意思是把Python的安装路径添加到系统环境变量的Path变量中。然后选择自定义路径,默认装C盘也可以
下一步:默认全选
再下一步:记得勾选第一项,Install for all users, 然后选择自己的目录
安装过程还是比较快的,稍等一会就好
装完之后打开电脑的cmd,验证一下安装是否成功,主要是看环境变量有没有设置好,在cmd中输入python,然后回车,如果出现python的版本号则说明软件装好了。
上一步验证失败的话可能就是环境变量没有设置好,继续在命令行里输入set Path,就打开了系统环境变量的Path变量,查看一下有没有Python的目录(如下图)
如果没有,就只能手动去填加了(参考:http://www.cnblogs.com/willpower-chen/p/5555682.html)
2、linux下安装python,这里我用的是ubuntu,并且是用的pyenv来管理安装
pyenv是管理Python版本的工具,它支持在多个Python版本间切换
1)下载pyenv
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
2)将PYENV_ROOT
和pyenv init
加入bash的~/.bashrc(或zsh的~/.zshrc)
root@drone-test2:/home/ubuntu# echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
root@drone-test2:/home/ubuntu# echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
root@drone-test2:/home/ubuntu# echo 'eval "$(pyenv init -)"' >> ~/.bashrc
3)重启shell :Restart your shell so the path changes take effect. You can now begin using pyenv.
4)安装指定版本的python
安装python前,需要系统安装一些依赖包和库:
还可选择安装:
查看python 可安装的版本并安装指定版本
python默认启动ubuntu自带python版本2.7.6
安装完成后:
- 源码(如~/Python-3.6.0a3.tar.xz)缓存在.pyenv/cache目录中,在安装完后可手动删除。
- Python版本安装在~/.pyenv/versions目录中。
通过pyenv修改默认启动的python版本
也可以用export 来修改,它的变量名是PYENV_VERSION
更多的pyenv学习大家可以参考:
二、pycharm安装及配置
1、安装如下图:
license server address:
http://idea.qinxi1992.cn/
2、pycharm的配置以及快捷键
参考: http://www.cnblogs.com/willpower-chen/p/5612493.html
http://www.cnblogs.com/willpower-chen/p/5556619.html
http://www.cnblogs.com/willpower-chen/p/5556508.html
需要补充的是:
工具栏setting的设置显示
三、python基础
1、Hello world编写
1)直接通过解释器执行输出
2)pycharm编写
这里创建的文件,会自动添加后缀名.py告诉我们这是python相关文件
另外:创建的文件在dos窗口中用python执行结果
2、变量
1)变量是什么?
编译型语言的变量要求箱子是固定的,装水果的就装水果,装面点的就装面点,装配件的就装配件。
解释型语言的变量不做要求,随便装,爱装啥装啥。当它和水果合作时就拿它当水果用;当它和面点合作时就拿它当面点用。
广义的变量是相对于常量而言的,指可变动的量。变量是绝对的,常量是相对的,没有绝对意义上的常量。
变量是程序中临时存放数据的场所,变量中可以存放单词、数值、日期以及属性
a、变量名只能是 字母、数字或下划线的任意组合
b、变量名的第一个字符不能是数字
c、以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
3)变量的赋值:
name2=name1
name2指向--》name1对应的内存空间地址“zhangsan”
所以name2实际指向的是——》内存空间地址“zhangsan”
name1=“lisi”
只是改变了name1——》指向的内存空间地址为“lisi”
这里name1改变了,name2没有改变
b、验证:如下图
结果:
3、输入、输出
执行交互:
隐藏输入密码,需要利用模块getpass中的getpass方法,即:
注:由于pycharm不支持getpass这个模块,所以在windows的dos下验证如下
4、流程控制和缩进
python语法使用严格的缩进方式,且同级必须对其
1)需求:用户登录验证
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/7/25 18:28
# @Author : Willpower-chen #提示请输入用户名和密码
#验证用户名和密码
# 如果验证错误,提示输入用户名或密码错误
# 如果验证正确,提示 欢迎,某某某! #导入getpass模块
import getpass name = input("请输入用户名:")
passwd = getpass.getpass("请输入密码:") if name == "ligang" and passwd == "123456":
print("欢迎",name)
else:
print("您输入的用户名或密码错误")
验证:
5、while循环
1)基本循环
2)break
break用于退出while循环体
while True:
print("a")
break
print("b")
这里当打印完“a”时,遇到break就会跳出整个循环,不会去打印“b”,也不会循环打打印“a”
3)continue
'''
continue用于退出本次循环,继续下一次循环
'''
while True:
print("a")
continue
print("b") 这里当打印完"a"时,会跳出本次打印“b”的循环,继续下一次的循环,即每次循环都会如此,所以就一直循环的打印“a”
python运维开发之路第一天的更多相关文章
- Python运维开发基础06-语法基础【转】
上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...
- Python运维开发基础05-语法基础【转】
上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python # -*- coding:utf-8 -*- # author:Mr.chen import os,time Tag = ...
- Python运维开发基础03-语法基础 【转】
上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现“用户登陆 ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
- 重磅|0元学 Python运维开发,别再错过了
51reboot 运维开发又双叒叕的搞活动了,鉴于之前 51reboot 的活动反馈,每次活动结束后(或者已经结束了很长时间)还有人在问活动的事情.这一次小编先声明一下真的不想在此次活动结束后再听到类 ...
- Python运维开发基础01-语法基础
标签(空格分隔): Mr.chen之Python3.0执教笔记(QQ:215379068) --仅供北大青鸟内部学习交流使用 开发不是看出来的,开发一定是练出来的: 想学好开发,没有捷径可走,只有不断 ...
- Python运维开发基础10-函数基础【转】
一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...
- Python运维开发基础09-函数基础【转】
上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...
- Python运维开发基础08-文件基础【转】
一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...
随机推荐
- JavaScript函数柯里化的一些思考
1. 高阶函数的坑 在学习柯里化之前,我们首先来看下面一段代码: var f1 = function(x){ return f(x); }; f1(x); 很多同学都能看出来,这些写是非常傻的,因为函 ...
- win8.1 无法安装 net framework3.5的解决办法
近期给重装系统时,发现Windows8.1无法安装.net framework 3.5,即使我离线下载了安装文件,还要求安装2.0和3.0....而且无法从Windows更新中获取,因此百度到以下方案 ...
- Hashtable映射数据库字段
package com.test; import java.sql.*; import java.util.ArrayList; import java.util.Hashtable; import ...
- 关于assert的学习
编写代码时,总会做出一些假设,断言就是用于在代码中捕捉这些假设, 可以将断言看成是异常处理的一种高级形式. c语言assert宏的定义, #include <assert.h> void ...
- Google Web Toolkit (GWT)怎么制作多个用户界面
Google Web Toolkit即GWT是目前基于AJAX技术开发的一个比较成功的框架包,但是其附带例程中只有单页面的实例,那么应该怎么样制作多个页面呢? 其实很简单,GWT的一个模块,就是一个页 ...
- 在ASP.NET中,IE与Firefox下载文件带汉字名时乱码的解决方法
解决办法: HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext. ...
- linux系统启动
在本文中,我们按电源按钮简要叙述,以便能够登录到系统,在此期间,系统和计算机硬件是如何一起工作.既作为自己整理知识的摘要,有可能linux0绍,高手请略过. 一般来说linux的启动能够分成三个阶段: ...
- shell之“>/dev/null 2>&1” 详解(转)
今天在自己的一个技术群中又被问道了这么一个问题,于是又通俗的解释了一下,做个记录,大家看看解释是否清楚! shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以 ...
- linux 内存管理大图
- Java——(九)IO流
一.流的分类 1.输入流和输出流 按照流的流向来分,可以分为输入流和输出流 输入流:只能从中读取数据,而不能向其写入数据. 输出流:只能向其写入数据,而不能从中读取数据. 此处的输入.输出涉及一个方向 ...