一.编程与编程语言

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

能被计算机所识别的表达方式是编程语言,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. C#中的抽象类和子类

    namespace FreeDlder { // 抽象类 public abstract class Dld { protected Form1 mainGui; protected String i ...

  2. Android 设定横屏,禁止屏幕旋转,Activity重置 [更新视频播放器相关]

    1. 设定屏幕方向 当指定了屏幕的方向后(非SCREEN_ORIENTATION_UNSPECIFIED),屏幕就不会自己主动的旋转了 有2中方式控制屏幕方向: 1.1 改动AndroidManife ...

  3. 什么是猴子补丁(monkey patch)

    monkey patch指的是在执行时动态替换,通常是在startup的时候. 用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/ ...

  4. mysql查询处理顺序

    http://zhangzhaoaaa.iteye.com/blog/1689412参考:<MYSQL技术内幕SQL编程> select distinct <selectlist&g ...

  5. python datetime获取几分钟、小时、天之前的时间

    import datetime print ((datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%d ...

  6. Linux Setuid(SUID)和Setgid(SGID) sticky bit

    http://www.php100.com/html/webkaifa/Linux/2010/0812/6392.html 1.setuid和setgid的解说 setuid和setgid位是让普通用 ...

  7. 关于0基础磁盘管理(gpt UEFI...)最好的一篇文章(来自gentoo linux)

    放链接:https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Disks 顺便几张图 watermark/2/text/aHR0cDovL2 ...

  8. VLC For Android Ubuntu14.04编译环境搭建

    VLC多媒体播放器(英语:VLC media player,最初为VideoLAN Client.是VideoLAN计划的开放源码多媒体播放器.)支持众多音频与视频解码器及文件格式,并支持DVD影音光 ...

  9. lnmp下 nginx 配置虚拟主机

    <一.参考> 这里以配置2个站点(2个域名)为例,n 个站点可以相应增加调整,假设: IP地址: 202.55.1.100 域名1 example1.com 放在 /www/example ...

  10. TCP协议和socket API 学习笔记

    本文转载至 http://blog.chinaunix.net/uid-16979052-id-3350958.html 分类:  原文地址:TCP协议和socket API 学习笔记 作者:gilb ...