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 # 添加商家入口和用户入口并实现物 ...
 
随机推荐
- Oracle问题:ORA-01565
			
问题 oracle启动时报错,找不到spfile文件. ORA-01078: failure in processing system parameters ORA-01565: error in i ...
 - day64:Linux:nginx模块之限制连接&状态监控&Location/用nginx+php跑项目/扩展应用节点
			
目录 1.nginx模块:限制连接 limit_conn 2.nginx模块:状态监控 stub_status 3.nginx模块:Location 4.用nginx+php跑wordpress项目 ...
 - 活动预告 | Jax Diffusers 社区冲刺线上分享(还有北京线下活动)
			
我们的 Jax Diffuser 社区冲刺活动已经截止报名,全球有 200 多名参赛选手成功组成了约 70 支队伍共同参赛. 为了帮助参赛者更好的完成自己的项目,也为了与更多社区成员们分享扩散模型和生 ...
 - 新一代自动化测试神器Playwright
			
转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/4bedb73c.html 你好,我是测试蔡坨坨. 说到WebUI自动化测试,首当其冲的当属Selenium,在很长的一段时间 ...
 - Go/Python 基于gRPC传输图片
			
python程序作为服务端,Go程序作为客户端,基于gPRC进行通信 客户端 定义proto文件: syntax = "proto3"; option go_package = & ...
 - Consistency Models终结扩散模型
			
最近看到一篇论文,觉得特别有意思,并且在学术界引起了不小的动静,他就是一致性模型,据说图像生成效果快.质量高,并且还可以实现零样本图像编辑,即不进行一些视觉任务训练,可以实现图像超分.修复.上色等功能 ...
 - react中子组件给父组件传值
			
组件间通信: React中,数据是从上向下流动的,也就是一个父组件可以把它的 state/props通过props传递给它的子组件,但是子组件,不能修改props,如果组件需要修改父组件中的数据,则 ...
 - [OpenCV-Python] 23 图像变换
			
文章目录 OpenCV-Python:IV OpenCV中的图像处理 23 图像变换 23.1 傅里叶变换 23.1.1 Numpy 中的傅里叶变换 23.1.2 OpenCV 中的傅里叶变换 23. ...
 - 关于vue3 上传图片到七牛云
			
引子:前端程序猿,很少写博客,担心有一些技术很牛逼的大佬看不上,还喜欢怼人,玻璃心容易影响心情,这个是我自己在项目上遇到的,也百度参考了很多大佬的文章,感觉多少有点不全,然后就自己整理一下,当一个笔记 ...
 - 2022-12-13:游戏玩法分析 I。写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期。 +-----------+-------------+ | player_id | first_l
			
2022-12-13:游戏玩法分析 I.写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期. ±----------±------------+ | player_id | first_log ...