Day01:Python入门
一.编程与编程语言
编程的目的是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而让计算机能像人脑一样自动执行工作。
能被计算机所识别的表达方式是编程语言,python就是一门编程语言。
二. 编程语言分类
- 机器语言:优点是最底层,执行速度最快;缺点是最复杂,开发效率最低。
- 汇编语言:优点是比较底层,执行速度较快;确定是复杂,开发效率较低。
- 高级语言:a. 编译型语言:C语言,优点执行速度快,不依赖语言环境运行;缺点跨平台差
b. 解释型语言:Python, Perl, Shell语言,优点跨平台好,一份代码到处可用;缺点执行速度慢,依赖解释器运行
规律:学习难度从高到低,执行效率从高到低,开发效率从低到高
总结:速度不是关键(瓶颈理论),开发效率高才是王道
运行python程序的两种方式:
1.交互式:python>>
2.python3 test.py, 执行python程序的三个阶段:
a. 先启动python解释器
b.python解释器将test.py的内容当作普通话字符读入内存
c.python解释器解释执行读取的内容,识别python的语法
三.变量
变量:
即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态
定义变量:
变量名=变量值
变量值:记录现实世界中的状态
=:将变量值的内存地址绑定给变量名
变量名:用来找到变量值
name='andy'
print(name)
变量的定义规范:
- 变量名只能是字母,数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 关键字不能声明为变量
定义的方式:
- 驼峰体:AgeOfAndy
- 下划线(推荐):age_of_andy
定义变量的三个特征:
- id: id相同,意味着type和value肯定相同
- type
- value:value相同type肯定相同,但id可能不同
常量:不会改变的量,常用全大写表示,如 ANDY_OF_AGE
四.用户与程序交互
#Python3:
input, 用户输入的任何值,都存成字符串类型。
#Python2:
input, 用户输入什么类型,就存成什么类型。
raw_input, 同python3中的input
注释:
单行注释用#
多行注释用三对双引号""" """
文件头:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
五.基本数据类型(Type)
- 数字:#int整形 #float浮点型
- 字符串:python中加了引号的字符就是字符串类型,字符串可以进行“相加”和“相乘”运算
- 列表:在[ ]内用逗号分隔,可以放n个任意类型的值。 info=['andy','29','180']
- 字典:在{ }内用逗号分隔,可以放n个key:value的值, value可以是任意类型。 info={'name':'andy','age':29,'high':180}
- 布尔:True或False。所有数据类型都自带布尔值,None,0和空三种情况下布尔值均为False, 其余值为True
六.格式化输出
- %s字符串占位符:可以接收字符串,也可以接收数字
- %d数字占位符:只能接收数字
#接收用户输入,打印成指定格式
name=input('your name: ')
age=input('your age: ') #用户输入18,会存成字符串18,无法传给%d
print('My name is %s,my age is %s' %(name,age))
#注意:
#print('My name is %s,my age is %d' %(name,age)) #age为字符串类型,无法传给%d,所以会报错
七.基本运算符
- 算数运算: + - * / % ‘’ //
- 比较运算:== != <> > < >= <=
- 赋值运算: = += -= *= /= %= ''= //= ; 交叉赋值:m,n=n,m ;变量的解压:x,y,z=[1,2,3] x,*_,z=[1,2,3,4,5,6]
- 逻辑运算: and or not
- 身份运算: is比较的是id, ==比较的是值
八.控制流程之if...else
语法1:
if 条件1:
code1
code2
code3
...
语法2:
if 条件1:
条件成立时执行的子代码块
code1
code2
code3
...
else:
条件不成立时执行的子代码块
code1
code2
code3
Sample:
'''
如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
'''
score=input('your score>>: ')
score=int(score)
# print(type(score))
if score >= 90:
print('优秀')
elif score >=80 :
print('良好')
elif score >=70:
print('普通')
else:
print('很差')
九.控制流程之while循环
1.while 条件:
#循环体
#如果条件为真,那么循环体则执行,执行完毕后再次循环,重复判断条件。。。
#如果条件为假,那么循环体不执行,循环终止
2.死循环:
while True:
code1...
3.循环嵌套与tag
tag=True
while tag:
code ...
while tag:
code ...
tag=False
4.break与continue
while+break: 结束当前循环,执行循环外的代码
while+continue:结束当前循环并继续下一次循环;注意:continue不要放在循环体的下一步,无意义
十.控制流程之for循环
1. 迭代式循环:for
for i in range(10):
code
2.break与continue(同上)
十一.练习
基础需求:
- 让用户输入用户名密码
- 认证成功后显示欢迎信息
- 输错三次后退出程序
升级需求:
- 可以支持多个用户登录 (提示,通过列表存多个账户信息)
- 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
Code:
dic={
'andy1':{'password':'123','count':0},
'andy2':{'password':'123','count':0},
'andy3':{'password':'123','count':0},
}
tag=True while tag:
name=input('Please input username>>: ')
if name not in dic:
print('输入的用户'+name +'不存在,请重新输入')
else:
with open('lock_list.txt','r') as f:
lock_users=f.read().split('|')
if name in lock_users:
print('输入的用户'+name+'已被锁定')
tag=False
break
while tag:
if dic[name]['count'] > 2:
print('尝试次数过多,账户锁定')
fp = open('lock_list.txt','a')
fp.write('%s|' %name)
fp.close
tag=False
break
password = input('Please input password>>: ')
if password == dic[name]['password']:
print('登陆成功')
while tag:
cmd=input('cmd>>>:')
if cmd == 'q' or cmd == 'exit':
tag=False
break
print('命令[%s]运行' %cmd)
else:
print('密码错误,请重新输入')
dic[name]['count'] += 1
Day01:Python入门的更多相关文章
- day01 python入门之路
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...
- Python自动化运维之1、Python入门
Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...
- python入门简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- python入门学习课程推荐
最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...
- Python运算符,python入门到精通[五]
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...
- Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- Python基本语法,python入门到精通[二]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- python入门教程链接
python安装 选择 2.7及以上版本 linux: 一般都自带 windows: https://www.python.org/downloads/windows/ mac os: https:/ ...
随机推荐
- 修改 本地 IP 及 正则表达式 test exec match 的区别
修改 IP 1.打开 "打开网络和共享中心" 2.打开 "更改适配器设置" 3.打开 "本地连接" 属性 4.修改 "协议版本 4 ...
- xcode 5.0 以上去掉icon高亮方法&iOS5白图标问题
之前的建议方法是把在xxx.info.plist文件里把 icon already includes gloss and bevel effects 设置YES 在Xcode5下,重复实现不成功,今天 ...
- 重置浏览器的默认样式(css reset)
(1)定义:首先css reset指的是重置浏览器的默认样式 (2)作用:因为现在的浏览器很多,并且每个浏览器都有自己的默认样式,这样就会导致一个页面在多个浏览器下展示产生差异,所以我们需要做一些处理 ...
- opencv yuv420与Mat互转
项目用到opencv 融合图片的功能,经过一天的调试,达到预期目标,先将如何调用opencv库实现YUV42与Mat互转记录下来. 一.下载opencv编译的库下载地址是:http://opencv. ...
- 查看Laravel版本号的三种方法
1:最简单的用命令行实现 php artisan --version 2:查看文件 vendor\laravel\framework\src\Illuminate\Foundation\Applica ...
- 改动UITextfield的Placeholder字体的颜色
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- 02 http协议之方法与状态码
一:HTTP请求信息和响应信息的格式 请求: ()请求行 ()请求头信息 ()请求主体信息(可以没有) () 头信息结束后和主体信息之间要空一行 请求行又分3部分 请求方法 请求路径 所用的协议 请求 ...
- 多项式相乘快速算法原理及相应C代码实现---用到fft
最近认真研究了一下算法导论里面的多项式乘法的快速计算问题,主要是用到了FFT,自己也实现了一下,总结如下. 1.多项式乘法 两个多项式相乘即为多项式乘法,例如:3*x^7+4*x^5+1*x^2+5与 ...
- swift3.0系列完整demo代码库
https://github.com/soapyigu/Swift30Projects 感谢作者
- Understanding Unicorn and unicorn-worker-killer Unicorn
We just wrote some new documentation on how Gitlab uses Unicorn and unicorn-worker-killer, available ...