python介绍

python是一种编程语言,如同java ,c,c# ,php 一样,可以让计算机按照人类设定好的思想流程 自动化的完成日常生活中的问题。

 

编程语言是什么?

人与计算机之间的语言

编程语言也分为编译型和解释型:

编译型语言需要把写完的代码一次性全部编译成计算机能够理解的二进制,让计算机去执行。这种语言运行速度快,但是开发效率低,不好调试,如C语言

解释行语言不需要把写完的代码编译,只需要运行的时候通过解释器逐行进行解释,然后就可以运行,这样的语言运行速度慢,但是开发效率高,方便调试,如Python

 

解释器

人类为什么能跟计算机交流,让计算机了解自己所表达的,并完成自己发布的命令,因为有解释器在中间起到了翻译的作用。用的什么编程语言,就要在电脑中安装什么类型的解释器。

 

python解释器

目前大部分python解释器都是cpython解释器。比较稳定的版本有python2.7和python3.6

在计算机中可以同时安装这两个版本,找到安装文件中执行文件,添加到环境变量。目前和以后主流的版本会是python3,所以以后大部分实验环境都用python3

 


字符编码
比特:bit 计算机晶体管的一种状态(通电与断电),也就是0与1,计算机最基本的传输单位
字节:byte 计算机数据处理的基本单位,一个字节由8个二进制位组成,所以 1byte = 8bit
字符:计算机中能看到的内容的最小组成单位(如数字,英文,特殊符号,汉字等等)

下面介绍几种比较通用的字符编码:
ascii:最早的字符编码,由美国人发明的,只能表示英文字母,数字和一些特殊符号,用8位表示一个字节
最多能够表示2*8 个字符
unicode:世界标准,万国码,一般用2个字节代表一个字符,生僻字要用4个字节
utf-8:可变长编码,常用的英文用一个字节表示,中文通常用3个字节,生僻字符用4-6个,相比于unicode,更加节约空间
gbk:中国发行的标准编码,英文用一个字节表示,中文用两个字节

①不同编码之间的二进制是不能互相识别的
②对于文件的存储 传输不能使用unicode编码
bytes类型 可以理解为是二进制的一种表现形式,是以字节为单位进行处理的,通常用于网络传输,图片和文件的保存

字符串可以转换成bytes模式

a = '一行白鹭上青天'
b = a.encode('utf-8')
b1 = a.encode('gbk')      # encode 编码
print(b)
print(b1)

print(b'\xd2\xbb\xd0\xd0\xb0\xd7\xf0\xd8\xc9\xcf\xc7\xe0\xcc\xec'.decode('gbk'))   # decode 解码

 

IDE(集成开发环境)

方便代码输入,能够补全代码,自动识别语法错误等

下载 安装 激活 这里不多说,网上一堆教程

调试:为了方便咱们开发使用,需要对pycharm进行一些调试

设置文件模板:files→settings→Editor→Code Style→ file and Code Templates 在右边的菜单中找到python script 设置python的模板

                       #! /usr/bin/python  这个说明了python在lunux系统中的路径

                       # -*- coding:utf-8 -*- 这里说明了python文件的字符编码要按照utf-8的编码

通过鼠标调整代码大小:file→settings→Editor→General 选中右边菜单的 Change font size (zoom) with Ctrl+Mouse Wheel

 

输入和输出

输入 user = input(‘请输入用户名:’)

输出 print(‘hello world’)

输入密码的时候密码加密  

import getpass

password = gatepass.gatepass(‘请输入密码:’)   # 在pycharm下不可运行

 

变量

变化的量 格式:变量名 = 值 (变量名只是一个名字,没有类型,数据类型是指赋予给变量的值的类型)

变量名命名规范:

①数字 ,字母 ,下划线的组合

②开头不能是数字

③不能用python的关键字

建议取名的时候见名知义, 如用户名就是username  密码就是password

 

数据类型

整数型 如:age = 18 可以用来表示年龄,手机号等

字符串 如:name = ‘’alex“  用引号或者双引号表示,可以用来表示姓名,性别等

列表 [‘alex’,‘egon’,‘wupeiqi’] 可以用来存取多个值,里边的值可以是不同类型

字典 {'alex':18,'lidawei':19} 成对的存取数据,里边是键值对(key-value) ,key值不可变,value可变

 

条件控制 if

格式一:if 条件:

          条件成立执行这里的代码

count = 1
if count < 2:
    print('hello world')

 

格式二:if 条件:

          上边条件成立执行

          else:

          条件不成立执行这里的代码

count = 1
if count > 2:
    print('hello world')
else:
    print('lidawei NB')

 

格式三:if 条件:

          条件成立执行

          elif 条件:

          条件成立执行

          elif 条件 :

          条件成立执行

          else:

          上述条件都失败执行

age = int(input(‘请输入年龄:’))
if age < 6 :
    print('他还是个孩子啊')
elif age < 18:
    print('已经青少年了')
elif age < 30:
    print('人到中年')
else:
    print('呵呵')

 

循环之 while

while 条件:

   条件成立则执行,执行的结果会返回作为新的条件

count = 0
while count < 10:
    print('count')
    count+=1

 

while 条件下的 berak ,强制终止当前所在的循环

count = 0
while count < 100:
    print(count)
    count += 1
    if count == 66:    #到达66的时候 break中断打印
        break 

 

while条件下的continue,跳出本次循环继续下一次循环

count = 0
while count <10:
    count += 1
    if count == 7:    #当count等于7的时候跳过不打印 
        continue     
    print(count)