一.编程与编程语言

编程的目的是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而让计算机能像人脑一样自动执行工作。

能被计算机所识别的表达方式是编程语言,python就是一门编程语言。

二. 编程语言分类

  1. 机器语言:优点是最底层,执行速度最快;缺点是最复杂,开发效率最低。
  2. 汇编语言:优点是比较底层,执行速度较快;确定是复杂,开发效率较低。
  3. 高级语言: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)

变量的定义规范:

  1. 变量名只能是字母,数字或下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. 关键字不能声明为变量

定义的方式:

  1. 驼峰体:AgeOfAndy
  2. 下划线(推荐):age_of_andy

定义变量的三个特征:

  1. id: id相同,意味着type和value肯定相同
  2. type
  3. value:value相同type肯定相同,但id可能不同

常量:不会改变的量,常用全大写表示,如 ANDY_OF_AGE

四.用户与程序交互

#Python3:

input, 用户输入的任何值,都存成字符串类型。

#Python2:

input, 用户输入什么类型,就存成什么类型。

raw_input, 同python3中的input

注释:

单行注释用#

多行注释用三对双引号"""    """

文件头:

#!/usr/bin/env python

#-*- coding: utf-8 -*-

五.基本数据类型(Type)

  1. 数字:#int整形  #float浮点型
  2. 字符串:python中加了引号的字符就是字符串类型,字符串可以进行“相加”和“相乘”运算
  3. 列表:在[ ]内用逗号分隔,可以放n个任意类型的值。 info=['andy','29','180']
  4. 字典:在{ }内用逗号分隔,可以放n个key:value的值, value可以是任意类型。  info={'name':'andy','age':29,'high':180}
  5. 布尔:True或False。所有数据类型都自带布尔值,None,0和空三种情况下布尔值均为False, 其余值为True

六.格式化输出

  1. %s字符串占位符:可以接收字符串,也可以接收数字
  2. %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,所以会报错

七.基本运算符

  1. 算数运算: +        -       *       /      %      ‘’      //
  2. 比较运算:==    !=    <>     >      <      >=    <=
  3. 赋值运算:  =        +=      -=    *=     /=     %=   ''=   //= ; 交叉赋值:m,n=n,m ;变量的解压:x,y,z=[1,2,3]  x,*_,z=[1,2,3,4,5,6]
  4. 逻辑运算:   and    or     not
  5. 身份运算:  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入门的更多相关文章

  1. day01 python入门之路

    Python之路,Day1 - Python基础1   本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...

  2. Python自动化运维之1、Python入门

    Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...

  3. python入门简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  4. python入门学习课程推荐

    最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...

  5. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

  6. Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  7. Python基本语法,python入门到精通[二]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...

  8. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  9. python入门教程链接

    python安装 选择 2.7及以上版本 linux: 一般都自带 windows: https://www.python.org/downloads/windows/ mac os: https:/ ...

随机推荐

  1. 以面试官的角度看strcpy函数

    一:笔试或者面试的总结 之 一 (1)在笔试或者面试中常常会被问道,strcpy  memmove memcpy 函数的实现.有时也会问你STL 中string的 split 和 trim的实现.有的 ...

  2. 怎样隐藏Windows7 系统保留分区

    安装Windows7操作系统时须要预留出100MB左右的系统保留盘分区.在Windows7激活是必须给它分配盘符,否则无法将其成功激活,但是激活后该盘符永久地显示了出来,怎样将其隐藏掉呢? 1.隐藏前 ...

  3. windows 平台 ffmeg h264 硬编码

    本文讲述windows 平台下ffmpeg如何利用intel media SDK 进行 h264硬编码(测试版本为3.2.2). ffmeg硬编编码的流程与软件编码流程相同,唯一不同的地方在初始化en ...

  4. 晶振及COMS电路

    COMS电路:http://www.docin.com/p-246885507.html 简介:无源晶振和有源晶振 电子线路中的晶体振荡器也分为无源晶振和有源晶振两种类型.无源晶振与有源晶振的英文名称 ...

  5. orcad元件属性批量修改(通过excel表格)

    本文适合于没有使用CIS的情况下,提高元件属性修改的效率和BOM生成. 第一步:编号 首先给元件编好号: 如果是沿用旧工程,用这个编号.如果是创建的新工程,使用第二项,强制从头开始编号.因为编号与PC ...

  6. (全然背包)小P寻宝记——好基友一起走

    题目描写叙述 话说.上次小P到伊利哇呀国旅行得到了一批宝藏.他是相当开心啊.回来就告诉了他的好基友小鑫.于是他们又结伴去伊利哇呀国寻宝. 这次小P的寻宝之路可没有那么的轻松,他们走到了一个森林,小鑫一 ...

  7. python--内置函数补充

    内置函数补充 基础数据类型相关 和数字相关:数据类型: bool 布尔 int 整型 float 浮点 complex 复数 只有在强转中会用进制转换: bin() 二进制转换 比如0b开头表示的是二 ...

  8. ASP.NET车辆管理系统100%源代码

    系统开发环境为VS2010.採用ASP.NET框架.数据库採用SQL Server.系统採用Ajax,具有:GPS导航(实时监控报警).申请审核.流程查看及短信息发送等功能.这个系统界面和功能是我认为 ...

  9. 未开启HugePages ORACLE session剧增时引起的一次悲剧

    故障简单描写叙述一下:LINUX系统未开启HugePages,主机内存将近300G.SWAP是32G.ORACLE 的 SGA_MAX_SIZE设置是主机内存的将近80%,SGA_TARGET设置是主 ...

  10. 1069: [SCOI2007]最大土地面积

    1069: [SCOI2007]最大土地面积 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2961  Solved: 1162[Submit][Sta ...