python基础

一:编程语言分类

  1. 机器语言

  2. 汇编语言

  3. 高级语言

高级语言又分为编译型和解释型语言。而python就属于解释型语言。 

这些语言从上到下的特点:执行效率变低,开发效率变高,学习难度变低。


python简介

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

三:python环境搭建

打开WEB浏览器访问http://www.python.org/download/,根据自己的环境选择需要的安装包,windows系统就和安装别的软件一样,linux的源码包需要编译。

安装完成后需要设置环境变量

  1. windows环境     右击计算机-->属性-->高级系统设置-->环境变量-->系统变量path

  2. Linux环境          

1
2
  # vim /etc/profile
  export PATH="$PATH:/usr/local/bin/python"

#windows多版本共存注意:在安装目录下找到python.exe,拷贝一份,命名为python2.exe或python3.exe,一定要保留原版,因为pip工具会调用它

#测试安装是否成功windows --> 运行 --> 输入cmd ,然后回车,弹出cmd程序,输入python,如果能进入交互环境 ,代表安装成功。

脚本执行过程:

1):启动python.exe程序

2):把脚本文件从硬盘读取到内存中

3):执行脚本文件

四:变量

1.变量命名规范

a. 变量名只能是 字母、数字或下划线的任意组合

b. 变量名的第一个字符不能是数字

c. 关键字不能声明为变量名['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.变量三要素

变量的值

变量的值的类型

变量的值的id号

1
2
>>>name=(name,(name),(name))
wang <class 'str'2612591309296

五:开发规范

文件头:

1
2
#!/usr/bin/env python
# -*- coding: utf-8 -*-

注释:

代码注释分单行和多行注释, 单行注释用#,多行注释可以用三对双引号""" """

六:数据类型

  1. 数字

    #int整型定义:age=10 #age=int(10)

    用于标识:年龄,等级,×××号,qq号,个数

    #float浮点型定义:salary=3.1 #salary=float(3.1)

    用于标识:工资,身高,体重

  2. 字符串

    #在python中,加了引号的字符就是字符串类型,python并没有字符类型。定义:name='wang'

    用于标识:描述性的内容,如姓名,性别,国籍,种族

    (字符串之间只能进行相加或相乘的运算)

  3. 列表

     #在[]内用逗号分隔,可以存放n个任意类型的值定义:students=['li','wang','wu',]

     用于标识:存储多个值的情况,比如一个人有多个爱好

    4.字典

     相对于列表,字典能给所存的值打标签,方便取出。

    在{}内用逗号分隔,可以存放多个key:value的值,value可以是任意类型定义:info={'name':'wang','age':18,'sex':male} 

    用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更为方便高效地取值

   5.布尔型

    一个True一个False

1
2
3
4
   >>> a=3
   >>> b=5
   >>> a > b #不成立就是Falsee
   >>> a < b #成立就是True


#1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典

#2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)


七:格式化输出

   %s字符串占位符:可以接收字符串,也可接收数字  print('My name is %s,my age is %s' %('wang',18))

   %d数字占位符:只能接收数字                              print('My name is %s,my age is %d' %('wang',18))

1
2
3
    >>>name=input('your name: ')   
    >>>age=input('your age: ')
    >>>print('My name is %s,my age is %d' %(name,age))


八:流程控制if循环

1.if...else

2.if...elif...else

如果:成绩>=90,那么:优秀

         成绩>=80且<90,那么:良好

         成绩>=70且<80,那么:普通

         其他情况:很差

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python
# -*- coding: utf-8 -*-
score=input('>>: ')
score=int(score)
if score >= 90:    
    print('优秀')
elif score >= 80:    
    print('良好')
elif score >= 70:    
    print('普通')
else:    
    print('很差')

 

3.if嵌套if

 和if语句用法一样,不过要注意缩进,不然会报错

九:流程控制while循环

对于用户多次输入的程序if需要多段代码,这时候while循环能很好的解决

while 条件:    
   # 循环体

   # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
   # 如果条件为假,那么循环体不执行,循环终止

#打印0-10

1
2
3
4
5
6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
count=0
while count <= 10:    
    print('loop',count)
count+=1

  4.循环嵌套与tag


1
2
3
4
tag=True 
while tag:
  ......
  while tag:


  5. break与continue

#break用于退出本层循环

1
2
3
4
while True:   
    print "123"
    break
    print "456"

#continue用于退出本次循环,继续下一次循环

1
2
3
4
while True:    
    print "123"
    continue
    print "456"

6.while+else

#练习,实现如下:
   1 循环验证用户输入的用户名与密码    2 认证通过后,运行用户重复执行命令    3 当用户输入命令为quit时,则退出整个程序 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name='wang'
password='123'
while True:
      inp_name=input('username: ')
      inp_pwd=input('password: ')   
      if inp_name == name and inp_pwd == password:       
           while True:
                cmd=input('>>: ')           
                if not cmd:continue       #用户不输入执行continue,退出本次循环,继续下一次循环
                if cmd == 'quit':               
                     break
                print('run <%s>' %cmd)   
    else:        
          print('username or password is wrong')        
          continue
    break


上面的方法换成tag的话,效果一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
name='wang'
password='123'
tag=True
while tag:
      inp_name=input('username: ')
      inp_pwd=input('password: ')   
      if inp_name == name and inp_pwd == password:       
           while tag:
                cmd=input('>>: ')           
                if not cmd:continue       
                if cmd == 'quit':               
                      tag=False              #tag的值变为False,执行continue的话,跳出本次循环,执行while tag,程序不能继续执行
                      continue               
                print('run <%s>' %cmd)   
    else:        
          print('username or password is wrong')        
          continue



本文转自 宋鹏超 51CTO博客,原文链接:http://blog.51cto.com/qidian510/2047311,如需转载请自行联系原作者

上一篇:利用chrome的Timeline观测系统的内存回收逻辑


下一篇:Photoshop将外景人物打造出唯美的古典淡绿色