Python运维开发之路《python基础介绍》
一. python介绍相关
1. Python简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
- Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
- Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
- Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
- Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
2. Python主要应用领域
- 云计算: 云计算最火的语言, 典型应用OpenStack; - WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发、Youtube、 Dropbox、豆瓣、知乎等典型WEB框架有Django、Flask、Web2py、AngularJS; - 科学运算、人工智能: 典型库NumPy、 SciPy、Matplotlib、Enthought、librarys、pandas; - 系统运维: 运维人员必备语言,升职加薪必备之选; - 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c、c++、java、尤其擅长策略回测; - 图形GUI:PyQT、WxPython、TkInter。
二、Python基础
3. Python2与Python3相关
1 Python2.X和Python3.X的区别
2
3 What are the differences?
4
5 Short version: Python 2.x is legacy, Python 3.x is the present and future of the language
6
7 Python 3.0 was released in 2008. The final 2.x version 2.7 release came out in mid-2010, with a statement of extended support for this end-of-life release. The 2.x branch will see no new major releases after that. 3.x is under active development and has already seen over five years of stable releases, including version 3.3 in 2012, 3.4 in 2014, and 3.5 in 2015. This means that all recent standard library improvements, for example, are only available by default in Python 3.x.
8
9 Guido van Rossum (the original creator of the Python language) decided to clean up Python 2.x properly, with less regard for backwards compatibility than is the case for new releases in the 2.x range. The most drastic improvement is the better Unicode support (with all text strings being Unicode by default) as well as saner bytes/Unicode separation.
10
11 Besides, several aspects of the core language (such as print and exec being statements, integers using floor division) have been adjusted to be easier for newcomers to learn and to be more consistent with the rest of the language, and old cruft has been removed (for example, all classes are now new-style, "range()" returns a memory efficient iterable, not a list as in 2.x).
12
13 The What's New in Python 3.0 document provides a good overview of the major language changes and likely sources of incompatibility with existing Python 2.x code. Nick Coghlan (one of the CPython core developers) has also created a relatively extensive FAQ regarding the transition.
14
15 However, the broader Python ecosystem has amassed a significant amount of quality software over the years. The downside of breaking backwards compatibility in 3.x is that some of that software (especially in-house software in companies) still doesn't work on 3.x yet.
16
17 详细地址:https://wiki.python.org/moin/Python2orPython3
18
19 - 区别一:
20 Python2:print 'Hellow world!'
21 Python3: print ('Hellow world!')
22 - 区别二:
23 Python2:raw_input
24 Python3:input
4. Python安装
1.下载安装包
https://www.python.org/downloads/
2.安装
默认安装路径:C:\python2.X
3.配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 -->【Python安装目录追加到变值值中,用 分号做分割】如:原来的值;C:\python2.X,切记前面有分号.
注:目前3.0以上新版本安装提示写入环境变量.
5. 第一行Python代码
1 - IDE中执行:
2 print ("Hello world!")
3 - Linux环境,将"print ('Hello world!')"代码写入到first.py文件中:
4 python first.py
5 - 指定解释器执行:
6 #/usr/bin/env python
7 print ('Hello world!')
8 chmod +x first.py
9 ./first.py
6. 编码格式和二进制
- 二进制十进制转换
1 2 4 8 16 .... 65535
1 1 1 1 1 .... 1*16
- Python2.X默认字符编码是ASSCII,Python3.X默认字符编码UFT-8.- 声明字符编码:
#-*- coding:uft-8 -*-
#-*- coding:gbk -*-
- asscii码 255 1bytes 一个字符占8个字节
- unicode万国码 2bytes
- utf-8 en:1byte cn:3bytes
7. 变量的定义
- 变量:一个在内存储存数据的容器,以便后面的程序调用,变量先定义后引用;
-变量定义规则:
- [1] 变量名只能是 字母、数字或下划线的任意组合
- [2] 变量名的第一个字符不能是数字
- [3] 以下关键字不能声明为变量名
['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']
- [4] 写法
age_of_oldboy = 56
ageOfOldboy = 56 #驼峰写法
AGE_OF_OLDBOY = 56 #常量,定义不变的量
8. 字和字符串
数字不需要加引号
字符串必须加引号
9. 注释
单行注释:#
多行注释:"""或者'''
多行字符串:""" (标注段落)
10. 字符串格式
****Python默认输入都是字符串****
int() #interger,字符串转数字
str() #string,数字转字符串
type() #查看数据类型:print(type())
strip() #去掉换行符和空格
11. 字符串格式化拼接
1 %s 变量可以是字符和数字(string)
2 %d 变量只能是数字,可以用来检测数据类型
3 %f 变量只能是小数(浮点型)
4
5 方案一:
6 name = input("name:")
7 age = input("age:")
8 job = input("job:")
9 salary = input("salary:")
10
11 info = '''
12 -----info of '''+name+'''----
13 Name:'''+name+'''
14 Age:'''+age+'''
15 Job:'''+job+'''
16 Salary:'''+salary+'''
17 '''
18 print(info)
19
20 方案二:
21 name = input("name:")
22 age = input("age:")
23 job = input("job:")
24 salary = input("salary:")
25
26 info = '''
27 ------ info of %s------
28 Name:%s
29 Age:%s
30 Job:%s
31 Salary:%s
32 ----------END----------'''%(name,name,age,job,salary)
33 print(info)
34
35 方案三:
36 name = input("name:")
37 age = input("age:")
38 job = input("job:")
39 salary = input("salary:")
40
41 info2 = '''
42 ------ info of {_name}------
43 Name:{_name}
44 Age:{_age}
45 Job:{_job}
46 Salary:{_salary}
47 '''.format(_name=name,_age=age,_job=job,_salary=salary)
48 print(info2)
49
50 方案四:
51 name = input("name:")
52 age = input("age:")
53 job = input("job:")
54 salary = input("salary:")
55 info2 = '''
56 -----info of {0}-----
57 Name:{0}
58 Age:{1}
59 Job:{2}
60 Salary:{3}
61 ------END----'''.format(name,age,job,salary)
62 print(info2)
12. if判断和while循环
if判断,判断账号密码是否正确;
1 user = 'lain'
2 passwd = '123456'
3 username = input("username:")
4 password = input("password:")
5
6 if username == user and password == passwd:
7 print("欢迎登陆!")
8 else:
9 print("账户名或密码错误,请重试!")
while循环,猜年龄,猜3次后可选择是否继续;
1 age_of_oldboy = 56
2 count = 0
3 while count < 3:
4 guess_age = int(input("guess age:"))
5 if guess_age == age_of_oldboy:
6 print("yes.you got it.")
7 break
8 elif guess_age > age_of_oldboy:
9 print("think smaller...")
10 else:
11 print("think bigger.")
12 count +=1
13 if count == 3:
14 countine_confirm = input("do you want to keep guessing? y/n")
15 if countine_confirm != "n":
16 count = 0
17 else:
18 print("error,you idiot!")
Pycharm小记
1 Ctrl /
2
3 注释(取消注释)选择的行
4
5
6 Shift + Enter
7 开始新行
8
9 Ctrl + Enter
10 智能换行
11
12 TAB Shift+TAB
13 缩进/取消缩进所选择的行
14
15 Ctrl + Alt + I
16 自动缩进行
17
18 Ctrl + Y
19 删除当前插入符所在的行
20
21 Ctrl + D
22 复制当前行、或者选择的块
23
24 Ctrl + Shift + J
25 合并行
26
27 Ctrl + Shift + V
28 从最近的缓存区里粘贴
29
30 Ctrl + Delete
31 删除到字符结尾
32
33 Ctrl + Backspace
34 删除到字符的开始
35
36 Ctrl + NumPad+/-
37 展开或者收缩代码块
38
39 Ctrl + Shift + NumPad+
40 展开所有的代码块
41
42 Ctrl + Shift + NumPad-
43 收缩所有的代码块
Python运维开发之路《python基础介绍》的更多相关文章
- python运维开发之路第一天
一.python安装及环境变量配置 1.windows7安装python 1)下载地址:https://www.python.org/downloads/windows/ 如下图: 注意:下载,用代理 ...
- Python运维开发基础09-函数基础【转】
上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...
- Python运维开发基础08-文件基础【转】
一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...
- Python运维开发基础04-语法基础【转】
上节作业回顾(讲解+温习90分钟) #!/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运维开发基础07-文件基础【转】
一,文件的基础操作 对文件操作的流程 [x] :打开文件,得到文件句柄并赋值给一个变量 [x] :通过句柄对文件进行操作 [x] :关闭文件 创建初始操作模板文件 [root@localhost sc ...
- Python运维开发基础06-语法基础【转】
上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...
随机推荐
- 二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.25.0 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes(k8s)二进制高可用安装部署,支 ...
- 二进制安装Kubernetes(k8s) v1.22.10 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.22.10 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可能第一时间更 ...
- Vulnhub Development Walkthrough
Vulnhub Development Walkthrough Recon 首先使用netdiscover进行二层Arp扫描. ┌──(kali㉿kali)-[~] └─$ sudo netdisco ...
- linux shell 自动化部署 npm vue 项目
此 shell 是提供给前端登录服务器自动化部署 vue 项目的 用此命令,工具化部署项目,可以杜绝前端自己部署项目时,对服务器违规操作 如有其它问题,可在下方留言! #!/bin/sh # url: ...
- PHP利用 JSON 将XML转换为数组
在很多开发项目中,我们都会遇到将XML文件转换为数组使用,因此在本篇 PHP教程 中,UncleToo和大家一起学习 如何转换XML为数组 . 现在有一个uncletoo.xml的配置文件,格式如下: ...
- Java:如何加密或解密PDF文档?
在工作中,我们会将重要的文档进行加密,并且设置用户的访问权限,其他外部人员均无法打开,只有获取该权限的用户才有资格打开文档.此外,限制用户的使用权限,极大程度上阻止了那些有意要篡改.拷贝其中内容的人, ...
- 27-lazy loading(懒加载和预加载)
懒加载 document.getElementById('btn').onclick = function () { // 懒加载:当文件需要使用时才加载 import(/* webpackChunk ...
- 省市县树形结构打印-.netCore控制台程序
using CityJson;using Dapper;using Newtonsoft.Json;{ using (var db = DbHelper.Db()) { //数据格式 //code_p ...
- 深度学习--魔法类nn.Module
深度学习--魔法类nn.Module 作用 pytorch 封装了一些基本的网络类,可以直接调用 好处: 可以直接调用现有的类 容器机制:self.net = nn.Sequential() 参数返回 ...
- Mapstruct使用报java: Couldn't retrieve @Mapper annotation
检查代码报错 java: Couldn't retrieve @Mapper annotation jar包冲突,去掉一个Mapstructjar包.