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 文件的头部指定解释器,例如:

  1. #!/usr/bin/env python
  2.  
  3. 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'''

  1. '''
  2. python
  3. python
  4. python
  5. '''

五、变量

1、声明变量

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3. #声明变量name,值为"Ocean"
  4. 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、变量的赋值

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3.  
  4. name1 = "ocean"
  5. name2 = "Mr.wu"

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3. name1 = "ocean"
  4. name2 = name1

六、输入(input)

输入用户名

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3. #将用户输入的内容赋值给name变量
  4. name = input("请输入用户名:")
  5. print(name)

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法(导入模块用法后面会详细解析),即:

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3.  
  4. import getpass
  5.  
  6. pwd = getpass.getpass("请输入密码:")
  7. print(pwd)

、if流程控制与缩进

1、缩进用4个空格

2、if..elif..else流程控制如下图

用户登录验证与输出相应内容

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3. import getpass
  4. name = input("请输入用户名:")
  5. pwd = getpass.getpass("请输入密码:")
  6.  
  7. if name == "ocean" and pwd == "ocean":
  8. print("Welcome, ocean.")
  9. elif name == "alex" and pwd == "alex":
  10. print("Welcome, alex.")
  11. elif name == "test":
  12. print("Hi, test.")
  13. else:
  14. print("Sorry, please try angin.")

注意:1、name="ocean" ====>赋值

          2、name=="ocean" ====>比较

          3、if语句中加and 与or可联合控制语句

          4、pass指空代码,无意义

八、while循环

1、基本循环

  1. while 条件:
  2. # 循环体
  3. # 如果条件为真,那么循环则执行
  4. # 如果条件为假,那么循环不执行

2、break

break 用于退出当层循环

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3.  
  4. num = 1
  5. while num <6:
  6. print(num)
  7. num+=1
  8. break
  9. print("end")

3、continue

continue 用于退出当前循环,继续下一次循环

  1. #!/usr/bin/env python
  2. #-*- coding:utf-8 -*-
  3.  
  4. num = 1
  5. while num <6:
  6. print(num)
  7. num+=1
  8. continue
  9. print("end")
if流程控制与while循环练习题

1、使用while循环输入 1 2 3 4 5 6 8 9 10

  1. n = 1
  2. while n < 11:
  3. if n == 7:
  4. pass
  5. else:
  6. print(n)
  7. n = n + 1
  8.  
  9. print('----end----')

2、求1-100的所有数的和

  1. n = 1
  2. s = 0
  3. while n < 101:
  4. s = s + n
  5. n = n + 1
  6. print(s)

3、输出 1-100 内的所有奇数

  1. n = 1
  2. while n < 101:
  3. temp = n % 2
  4. if temp == 0:
  5. pass
  6. else:
  7. print(n)
  8. n = n + 1
  9. print('----end----')

4、输出 1-100 内的所有偶数

  1. n = 1
  2. while n < 101:
  3. temp = n % 2
  4. if temp == 0:
  5. print(n)
  6. else:
  7. pass
  8. n = n + 1
  9. print('----end----')

5、求1-2+3-4+5 ... 99的所有数的和

  1. n = 1
  2. s = 0 # s是之前所有数的总和
  3. while n < 100:
  4. temp = n % 2
  5. if temp == 0:
  6. s = s - n
  7. else:
  8. s = s + n
  9. n = n + 1
  10. print(s)

6、用户登陆(三次机会重试)

  1. name="ocean"
  2. pwd="ocean"
  3. count=0
  4. while count<3:
  5. name_input=input("请输入你的名字:")
  6. pwd_input=input("请输入密码:")
  7. if name_input==name and pwd_input==pwd:
  8. print("登陆成功")
  9. break
  10. else:
  11. print("登录错误")
  12. count+=1
  13. else:
  14. 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全栈开发【基础一】的更多相关文章

  1. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  2. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  3. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  4. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  5. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  6. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)

    python全栈开发笔记第二模块 第四章 :常用模块(第二部分)     一.os 模块的 详解 1.os.getcwd()    :得到当前工作目录,即当前python解释器所在目录路径 impor ...

  7. python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)

    昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...

  8. 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂

    Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...

  9. python全栈开发目录

    python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...

随机推荐

  1. flask+sqlite3+echarts3+ajax 异步数据加载

    结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...

  2. RPM命令用法

    安装一个包 rpm –ivh 升级一个包 rpm -Uvh 移走一个包 rpm -e 4.校验rpm包 rpm -V < rpm package name> 5.查询一个包是否被安装 rp ...

  3. BeautifulSoup 的用法

    转自:http://cuiqingcai.com/1319.html Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,则 Python ...

  4. mysql5.7.10 的源码安装

    mysql 5.7.10的源码安装:http://fyduan.blog.51cto.com/4234935/1729873cmake . -DCMAKE_INSTALL_PREFIX=/usr/lo ...

  5. Android LitePal 神一般的数据库框架 超级好用

    参考: Android数据库高手秘籍(一)--SQLite命令 Android数据库高手秘籍(二)--创建表和LitePal的基本用法 Android数据库高手秘籍(三)--使用LitePal升级表 ...

  6. 五种开源协议(GPL,LGPL,BSD,MIT,Apache)

    什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限. 不管产品是免费向公众分发,还 ...

  7. Apache 80无法启动

    netstat -abno后查看,经过查找为pid=4的system进程,因为是系统进程,也无法结束它,经查SQL Server ReportingServices (SQLEXPRESS) 服务占用 ...

  8. python 爬取乌云所有厂商名字,url,漏洞总数 并存入数据库

    需要:MySQLdb 下面是数据表结构: /* Navicat MySQL Data Transfer Source Server : 127.0.0.1 Source Server Version ...

  9. iOS - YYAdd对UIDevice的拓展

    YYKit中对UIDevice的拓展,accumulate knowledge !!! 首先 #include <sys/socket.h> #include <sys/sysctl ...

  10. C#之数组篇

    大杂烩 一.数组初始化 1.一维数组 String[] str = new String[3] { "1","2","3"};        ...