python day1
2019/10/4
完全一个新手。从0开始学习。看完视频之后,尽量回忆并写到此博客中。
1. 不同编程语言的对比
执行效率,开发效率。
php前端优势,python后端优势。
2. 为什么学python?
2.1. 国内大公司都在用,如知乎,豆瓣,google,百度,youtube,腾讯。
2.2. 简洁,开发效率高。
2.3. 类库非常丰富。
2.4. 应用领域相当广泛。大数据,云计算,人工智能,爬虫。
2.5. 上升趋势相当明显,所以精通就等于值钱。
3. python的种类
有三类python:
3.1. CPython: 执行效率高。
3.2. javapython,rubypython等。以上两类,python-->字节码-->机器码-->计算机。
3.3. pypy类python。pypy直接编译成机器码。
4. python的安装(windows系统)
4.1. 下载软件
我是直接安装的anaconda,里面自带python。
国内下载anaconda很慢,所以我上传到百度网盘,有需要下载即可。
anaconda百度云盘,提取码:xzmp 。
也可以直接下载python。python下载
4.2. 安装软件
安装anaconda需要注意下,可以看下教程。
anaconda安装
当初我安装anaconda着实花费了不少工夫,谁让我是小白呢。处理错误的过程,正是学习的过程。
安装python在windows中,就像平常安装软件一样,下载,再点击下一步即可。
安装完之后需要配置环境变量。
这个环境变量作为新手一开始并不理解,当成一个快捷路径好了,后面相信会慢慢理解的。
4.3. 运行python
在命令行模式中(win10系统中左下角有个type here to search,输入cmd,双击启动就是命令行模式),输入python,就启动了python。提示符是>>>
。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 第一句是用在linux系统中,表示这是用python语言环境编写的。
# 第二句表示编码是用utf8格式。
#“#”后面表示这一行是注释。
# 三个单引号或三个双引号,表示多行注释。
5. 导入模块或包
模块就是.py结尾的文件。包就是有.init模块的一个文件夹,里面有各种模块。
使用import来导入模块或包。
import random
表示导入random包(因为random是一个包,如果random是以.py结尾的,则就是导入random模块)。
from random import random
表示从random包中导入random模块。
from random import random as rand
表示将导入的包缩写为rand。
from random import *
从random包中导入所有的内容。
6. pyc文件
以.pyc结尾的文件就是python的字节码文件。
python代码>>>字节码>>>机器码>>>计算机。
7. print 与 input
7.1. print
python2.x中,print是打印,输出,print 'hello,world'
。
在python3.x中,print的语法是必须要带括号.
`print('hello,world','the world is so beautifule',sep=' ',end='
').
多个参数之间以逗号隔开,sep是separate的意思,意思输出的时候,参数之间用制表府隔开,默认是用空格,以换行结尾。
在python中表示,tab制表符,
表示换行。
7.2. raw_input与input
python2.x中,用户输入是raw_input()。
python3.x中,用户输入是input()。
8. 变量variable。
变量(variable)是用来代指某个值的名称。
变量是以字母数字下划线组成,且不能以数字开头,还不能是python的内部关键字。命名变量可以使用驼峰规则,如myNameIs,就是下一个单词首字母大写就是驼峰规则。
python中一切皆对象,一个对象有唯一标识(identity),类型(type),值(value),三个特性。
变量就是用来存储对象的地址的。所以变量也称为对象的引用。
i1 = 'lanxing'.
=是赋值符号,python看到=号,先运算右边,再把右边的值赋予给左边的变量。
运算符+、-、*、/、//、%、**和赋值符=结合可以构成“增强型运算符”。
a = a + 1
等价于:a +=1
(注意+=中间不能有空格)
python区分大小写
即Num,num是两个变量名。
9. python内置的最基本的数据类型
9.1. 整数(int)与浮点数(float)。
基本运算符有如下:
operator | description | example | result |
---|---|---|---|
+ | plus加法 | 3+2 | 5 |
- | 减法 | 10-6 | 4 |
* | 乘法 | 3*6 | 18 |
/ | 浮点数除法 | 8/4 | 2.0 |
// | 整数除法,取商 | 16/3 | 5 |
% | 模(取余) | 20/8 | 4 |
** | 幂 | 2**3 | 8 |
9.2. 字符串(string):用单引号或双引号括起来的内容。注意:必须是英文的引号。
9.3. 布尔值(boolean):True,False,或1,0。
10. 流程控制和缩进
10.1. 条件语句if,elif,else.
条件语句分为单分支,双分支,多分支。
如果表达1为True,则执行语句1。单分支语句是只有一个if,双分支就是有if,else,多分支就是if,elif,else组成。
if 表达式1:
执行语句1
elif 表达式2:
执行语句2
else:
执行语句。
冒号后面使用缩进来表示if的执行语句块。必须要加缩进,缩进必须保持一致,普遍都使用4个空格或一个tab键来表示缩进(tab键要设置成4个空格键)。
运算符 | 描述 | 实例 |
---|---|---|
== | 等于,比较对象的值是否相等 | (a == b)返回False |
!= | 不等于 | (a != b)返回True |
> | 大于 | (a > b) 返回False |
< | 小于 | (a < b)返回True |
>= | 大于等于 | (a >= b)返回False |
<= | 小于等于 | (a <= b)返回True |
运算符 | 格式 | 说明 |
---|---|---|
or | x or y | x为true,则不计算y,直接返回true,x 为False,则返回y |
and | x and y | 两者同时为真时才为真 |
not | not x | x 为True,返回False,x 为False,返回True |
10.2. 恰当的空格,缩进问题
(1) 逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
(2) 语句从新行的第一列开始。
(3) 缩进风格统一:
a: 每个缩进层次使用单个制表符或四个空格(大部分编辑器都会自动将制表符设置成4个空格)
b: python用缩进而不是{}表示程序块
11. while循环与for迭代
11.1 while循环
while 表达式1:
执行语句1
只要表达式1是真,则不断执行语句1。
关键字break表示跳出所有的循环,下面的代码将不再执行。
n = 0
while True:
print(n)
n += 1
if n==10:
break
关键字continue表示跳出当前循环,执行下一循环。
n = 0
while n<10:
if n==5:
n +=1
cotinue
print(n)
n+=1
12. 作业: 利用while循环实现用户只有三次登录机会。
#首先要有个用户名与密码,一般是用户名记得住,密码记不住,所以只判断密码。
#假设密码是123456。
n=1
code='123456'
while True:
password = input('password:')
if password != code:
if n==4:
break
n+=1
print('密码不正确,请重新输入密码,超过3次密码将锁定')
continue
else:
print('密码正确,欢迎登录!')