Python自学day-1
一、Python介绍
1.python擅长领域
2.运维会开发后可以干什么?
3.编译型和解释型
4.动态语言和静态语言
5.强类型定义语言和弱类型定义语言
6.Python优缺点
- Python“优雅、明确、简单”,易学。
- 开发效率高:Python有强大的第三方库,几乎可能支撑你实现任何功能。直接下载挑用后,大大降低开发周期,避免重复造轮子。
- 高级语言:无需开率内存释放等问题。
- 可移植性:如果避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在几乎所有的系统平台上运行。
- 可扩展性:如果你需要你的一段关键代码运行得更快,或者某些算法不想公开,你可以把你的部分程序使用C/C++编写,然后在Python中调用他们。
- 可嵌入性:你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
- 速度慢:比C慢很多,但是大多数时候用户是无法直接感知到的。除非你要写对速度要求很高的需求。
- 代码不能加密:Python是解释型语言,源码明文形式存放,如果项目要求代码是加密的,一开始就不要选择Python来开发。
- 线程不能利用多CPU优势:由于GIL的存在(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具。Python的线程是操作系统的原生线程,在Linux上为pthread,在Windows上为Win thread。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。
7.Python解释器
- CPython:Linux自带的解释器,例如Pyhton2.7。就是一个CPython,这个解释器是用C语言开发的,所以叫CPython。CPyhton是使用最广的Python解释器,教程的所有代码都在CPython上运行。
- IPython:CPython基础上的一个交互解释器。
- PyPy:目标是执行速度。采用JIT(即时编译技术),对Python代码进行动态编译(注意不是解释),所以可以显著提高Python的执行速度。绝大部分Python代码都可以在PyPy下运行,但是和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解与CPython之间的不同点。
- Jython:是运行在JAVA平台上的Python解释器,可以把Python代码编译成JAVA字节码。
8.Pyhton2.x和Pyhton3.x
二、Hello World
#!/usr/bin/env python
print("hello world!")
三、开发工具
四、变量
name = "Leo Zheng"
name2 = name
name = "Jack Chen"
print(name , name2)
五、字符编码
六、注释
七、文本输入
username = input("UserName:")
password = input("Password:")
print(username,password)
1.文本格式化
mes = """
---------info---------
username : %s
password : %s
""" % (username,password)
mes = """
---------info---------
username : {_username}
password : {_password}
""".format(_username = username,_password = password)
print(mes)
mes = """
---------info---------
username : {0}
password : {1}
""".format(username,password)
print(mes)
八、判断分支
_username = "zhengzhu"
_passwd = "abc123"
username = input("Username : ")
passwd = input("Password : ")
if username == _username and passwd == _passwd:
print("Right")
else:
print("Error")
九、循环
1.while循环
age_of_me = 31
count = 0
while count < 3:
guess_age = input("Guess my Age : ")
guess_age = int(guess_age)
if guess_age > age_of_me:
print("大了")
elif guess_age < age_of_me:
print("小了")
else:
print("对了")
break
count += 1
尝试次数过多的情况:
age_of_me = 31
count = 0
while count < 3:
guess_age = input("Guess my Age : ")
guess_age = int(guess_age)
if guess_age > age_of_me:
print("大了")
elif guess_age < age_of_me:
print("小了")
else:
print("对了")
break
count += 1
else:
print("you have tried too many times..fuck off")
2.for循环
for i in range(10):
print(i)
其中i为临时变量,range(10)是0,1,2,3,4,5,6,7,8,9。
age_of_me = 31
count = 0
for i in range(3):
guess_age = input("Guess my Age : ")
guess_age = int(guess_age)
if guess_age > age_of_me:
print("大了")
elif guess_age < age_of_me:
print("小了")
else:
print("对了")
break
else:
print("you have tried too many times..fuck off")
for i in range(2,10,3):
print("loop :", i)
range(0,10,2)表示从0-9,隔一个数打印一次。range(start,stop,步长)。
Python自学day-1的更多相关文章
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- Python - 自学django,上线一套资产管理系统
一.概述 终于把公司的资产管理网站写完,并通过测试,然后上线.期间包括看视频学习.自己写前后端代码,用时两个多月.现将一些体会记录下来,希望能帮到想学django做web开发的人.大牛可以不用看了,小 ...
- 拎壶冲冲冲专业砸各种培训机构饭碗篇----python自学(一)
本人一直从事运维工程师,热爱运维,所以从自学的角度站我还是以python运维为主. 一.python自学,当然少不了从hello world开始,话不多说,直接上手练习 1.这个可以学会 print( ...
- [Python自学] day-21 (2) (Cookie、FBV|CBV装饰器)
一.什么是Cookie 1.什么是Cookie? Cookie是保存在客户端浏览器中的文件,其中记录了服务器让浏览器记录的一些键值对(类似字典). 当Cookie中存在数据时,浏览器在访问网站时会读取 ...
- [Python自学] day-21 (1) (请求信息、html模板继承与导入、自定义模板函数、自定义分页)
一.路由映射的参数 1.映射的一般使用 在app/urls.py中,我们定义URL与视图函数之间的映射: from django.contrib import admin from django.ur ...
- [Python自学] day-20 (Django-ORM、Ajax)
一.外键跨表操作(一对多) 在 [Python自学] day-19 (2) (Django-ORM) 中,我们利用外键实现了一对多的表操作. 可以利用以下方式来获取外键指向表的数据: def orm_ ...
- [Python自学] day-19 (2) (Django-ORM)
一.ORM的分类 ORM一般分为两类: 1.DB first:先在DB中创建数据库.表结构,然后自动生成代码中的类.在后续操作中直接在代码中操作相应的类即可. 2.Code first:直接在代码中实 ...
- [Python自学] day-19 (1) (FBV和CBV、路由系统)
一.获取表单提交的数据 在 [Python自学] day-18 (2) (MTV架构.Django框架)中,我们使用过以下方式来获取表单数据: user = request.POST.get('use ...
- [Python自学] day-18 (2) (MTV架构、Django框架、模板语言)
一.实现一个简单的Web服务器 使用Python标准库提供的独立WSGI服务器来实现MVC架构. 首先,实现一个简单的Web服务器: from wsgiref.simple_server import ...
- Python自学之路---Day13
目录 Python自学之路---Day13 常用的三个方法 匹配单个字符 边界匹配 数量匹配 逻辑与分组 编译正则表达式 其他方法 Python自学之路---Day13 常用的三个方法 1.re.ma ...
随机推荐
- DDD实战11 在项目中使用JWT的token 进行授权验证
步骤: 1.首先要在webapi的管道中 使用认证(Authentication) 2.要在webapi的服务中注册验证条件 代码如下: namespace Dealer.WebApi { publi ...
- beego中各类数据库连接方式
beego 框架是优秀得go REST API开发框架.下面针对beego中各类数据库连接操作做一个总结. 1. orm连接方式 beego中的orm操作支持三种数据库:mysql,sqlite3,p ...
- Json格式日期转换为一般日期
Json日期转换为一般日期:json日期:/Date(1316756746000)/ 转换为2013-09-01格式的 1 //将json格式的时间转换成一般时间 2 function Chang ...
- Painting and Drawing[MSDN/Windows GDI]
https://msdn.microsoft.com/en-us/library/dd162759(v=vs.85).aspx Painting and Drawing This overview d ...
- Angular升级流程
执行命令 ng update @angular/cli --migrate-only --from=1.7.1 npm install --save-dev @angular/cli@latest 注 ...
- 简历上的哪些内容才是 HR 眼中的干货?
资源业绩能力知识自评 https://www.zhihu.com/question/39722495/answer/199846861
- 搜索服务器Elasticsearch
基本 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...
- MVC 异步调用
@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport&q ...
- 关于在.Net开发中使用Sqlite的版本选择问题
原文:关于在.Net开发中使用Sqlite的版本选择问题 如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不 ...
- Codejock.Xtreme.Toolkit.Pro.v15.3.1 下载 与 VS2015补丁使用方法
Codejock.Xtreme.Toolkit.Pro.v15.3.1 下载 与 VS2015补丁使用方法 打算放在CSDN进行下载的,上传完成后发现资源分设置的1分,本打算赚点下载分的.在页面上没有 ...