Python全栈开发【基础一】
Python全栈开发【第一篇】 |
本节内容:
- Python 的种类
- Python 的环境
- Python 入门(解释器、编码、变量、input输入、if流程控制与缩进、while循环)
- if流程控制与while循环练习题
- 基本数据类型前引
Python 的种类 |
- Cpython
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
- Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
- IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
- PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
- RubyPython、Brython ...
Python的对应关系和执行流程如下:
PyPy 在Python的基础上对Python的字节码进一步处理,从而提升执行速度!
Python 的环境 |
Windows:
下载地址:https://www.python.org/downloads/
在path下配置环境变量:分号(;)隔开添加路径 F:\Python35
Linux:
自带python环境
如需升级版本则更新python环境
Python 入门 |
一、入门仪式'Hello World!'
print("Hello World!")
二、执行(解释器)、退出
明确的指出 hello.py 脚本由 python 解释器来执行。
需要在 hello.py 文件的头部指定解释器,例如:
#!/usr/bin/env python print ("Hello,World!")
三、编码
python解释器在加载 .py 文件中的代码时,会对内容进行编码(python2.7中默认ascill)
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。
显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
python2.7需要告诉python解释器,用什么编码来执行代码
python3.0已经默认编码为UTF-8
四、注释
单行注释:#python
多行注释:'''python'''
''' python python python '''
五、变量
1、声明变量
#!/usr/bin/env python #-*- coding:utf-8 -*- #声明变量name,值为"Ocean" name = "Ocean"
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- ['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']
2、变量的赋值
#!/usr/bin/env python #-*- coding:utf-8 -*- name1 = "ocean" name2 = "Mr.wu"
#!/usr/bin/env python #-*- coding:utf-8 -*- name1 = "ocean" name2 = name1
六、输入(input)
输入用户名
#!/usr/bin/env python #-*- coding:utf-8 -*- #将用户输入的内容赋值给name变量 name = input("请输入用户名:") print(name)
输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法(导入模块用法后面会详细解析),即:
#!/usr/bin/env python #-*- coding:utf-8 -*- import getpass pwd = getpass.getpass("请输入密码:") print(pwd)
七、if流程控制与缩进
1、缩进用4个空格
2、if..elif..else流程控制如下图
用户登录验证与输出相应内容
#!/usr/bin/env python #-*- coding:utf-8 -*- import getpass name = input("请输入用户名:") pwd = getpass.getpass("请输入密码:") if name == "ocean" and pwd == "ocean": print("Welcome, ocean.") elif name == "alex" and pwd == "alex": print("Welcome, alex.") elif name == "test": print("Hi, test.") else: print("Sorry, please try angin.")
注意:1、name="ocean" ====>赋值
2、name=="ocean" ====>比较
3、if语句中加and 与or可联合控制语句
4、pass指空代码,无意义
八、while循环
1、基本循环
while 条件: # 循环体 # 如果条件为真,那么循环则执行 # 如果条件为假,那么循环不执行
2、break
break 用于退出当层循环
#!/usr/bin/env python #-*- coding:utf-8 -*- num = 1 while num <6: print(num) num+=1 break print("end")
3、continue
continue 用于退出当前循环,继续下一次循环
#!/usr/bin/env python #-*- coding:utf-8 -*- num = 1 while num <6: print(num) num+=1 continue print("end")
if流程控制与while循环练习题 |
1、使用while循环输入 1 2 3 4 5 6 8 9 10
n = 1 while n < 11: if n == 7: pass else: print(n) n = n + 1 print('----end----')
2、求1-100的所有数的和
n = 1 s = 0 while n < 101: s = s + n n = n + 1 print(s)
3、输出 1-100 内的所有奇数
n = 1 while n < 101: temp = n % 2 if temp == 0: pass else: print(n) n = n + 1 print('----end----')
4、输出 1-100 内的所有偶数
n = 1 while n < 101: temp = n % 2 if temp == 0: print(n) else: pass n = n + 1 print('----end----')
5、求1-2+3-4+5 ... 99的所有数的和
n = 1 s = 0 # s是之前所有数的总和 while n < 100: temp = n % 2 if temp == 0: s = s - n else: s = s + n n = n + 1 print(s)
6、用户登陆(三次机会重试)
name="ocean" pwd="ocean" count=0 while count<3: name_input=input("请输入你的名字:") pwd_input=input("请输入密码:") if name_input==name and pwd_input==pwd: print("登陆成功") break else: print("登录错误") count+=1 else: print("尝试太多次,一边玩去")
基本数据类型前引 |
字符串 - n1 = "alex" n2 = 'root' n3 = """eric""" n4='''tony''' #引号使用
数字 - age=21 weight = 64 fight = 5
加减乘除
字符串加法:
n1 = "alex"
n2 = "sb"
n4 = "db"
n3 = n1 + n2 + n4
# "alexsbdb"
字符串乘法:
n1 = "alex"
n3 = n1 * 10
数字:
n1 = 9
n2 = 2
数字加减乘除及求余数、求次方运算:
n3 = n1 + n2
n3 = n1 - n2
n3 = n1 * n2
n3 = n1 / n2
n3 = n1 % n2
n3 = n1 ** n2
Python全栈开发【基础一】的更多相关文章
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)
python全栈开发笔记第二模块 第四章 :常用模块(第二部分) 一.os 模块的 详解 1.os.getcwd() :得到当前工作目录,即当前python解释器所在目录路径 impor ...
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂
Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...
- python全栈开发目录
python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...
随机推荐
- jQuery动画效果animate和scrollTop结合使用实例
CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 "margin:30px").字符串值无法创建动画(比如 "background-color ...
- .net Core学习笔记:Windows环境搭建
1.安装 VS2015 Update3.如果已经安装了VS2015,但不是Update3版本,请在VS的工具 --> 扩展与更新 中执行update3的升级(大约需要2小时). 2..net C ...
- 支持断线重连、永久watcher、递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端
在公司内部的微服务架构中有使用到了"ZooKeeper",虽然官方有提供了.NET的SDK,但易用性非常的差,且搜遍github.nuget,没有发现一个可以跨平台且易用的组件,所 ...
- nginx、php-fpm二三问
php-cgi为什么没了? php-fpm子进程是干啥的?php-cgi是原来php自带的fastcgi进程管理器,有一些缺点,比如不能平滑重启,进程管理差.php-fpm可以看做升级版的php-fp ...
- 【转载】浅谈HTTP中Get与Post的区别
[转载]http://www.cnblogs.com/hyddd/ Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们 ...
- 软件开发学习笔记 <一> UML
UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...
- C#文本写入文件,追加写入文件
写入文件和这个对象 StreamWriter using (StreamWriter fs = new StreamWriter(path, true)) { fs.WriteLine(strLog) ...
- 【poj1737】 Connected Graph
http://poj.org/problem?id=1737 (题目链接) 题意 求n个节点的无向连通图的方案数,不取模w(゚Д゚)w Solution 刚开始想了个第二类斯特林数,然而并不知道怎么求 ...
- Linux系统概述
1.Linux是一套免费使用 和自 由传播的类Unix操作系统. 这个系统是由世界各地的成千上万的程序员 设计和实现的.其目 的是建立不受任何商品化软件的版权制约的. 全世界都能自 由使用的Unix兼 ...
- [Unity3D] Normal map、Diffuse map 和 Speculer map
Normal map : Normal map (法线贴图) 它的作用是模拟出高模上的一些细节纹理,特别是将高模上的圆滑和粗糙度投射到低模上,让低模也有高模的效果. 因为高模的面数非常多,导入引擎后电 ...