2.1 环境的安装

解释器:py2、py3

开发工具:pycharm

2.2编码

2.2.1编码基础

初识编码

ASCII码 :英文 8位表示一个东西 2**8 ,8位等于一个字节

Unicode:(分ecs2 ,ecs4) 32位表示一个东西 2**32 ,32位等于4字节

Utf-8:对Unicode进行压缩,尽量用少的位数去表示一个东西,以8个位为一个单位(Utf-8中最少用1字节=8位,最多用4字节=32位表示,中文:3字节=24位表示)

gb2312:中文用2字节

gbk:中文用2字节

单位

8bit =1byte

1024byte = 1kb

1024kb = 1mb

1024mb = 1gb

1024gb = 1tb

1024tb = 1pb

编码和解码要一致

python2 有中文的不能运行,python2默认用的是ASCII码;python3可以运行有中文的,python3用utf-8

编写文件时,保存文件要用utf-8格式,以什么编码保存,就要用什么编码方式打开,否则出现乱码

2.2.2python编码相关

对于python默认解释器编码:

1.py2:ASCII,在文件的头部加:#--coding:utf-8 --

2. py3:utf-8

注意:对于操作文件时,要按照以什么编码写入的就要按照什么编码打开,否则出现乱码

3.输入输出:

py2:输入:raw_input;输出:print""

py3:输入:input;输出:print()

2.3变量

2.3.1命名规范

1.变量名只能包含:字母/数字/下划线,不能用数字开头

2.不能用数字开头

3.不能是python的关键字

 4.命名建议:见名知意:name = “alex” age= 18

                      用下划线连接:Alex_dad = “xxx”

                     驼峰式命名:Alexdad = “xxx”

2.3.2变量的意义

为某个值创建一个名称,以后在使用时通过此名称就可以直接调用

Content = “钓鱼要钓刀鱼,刀鱼要到岛上钓”
Print(content)

name = "123"
print(name)

2.4运算符

2.4.1算数运算符

运算符

描述

示例

=

将右侧操作数的值分配给左侧操作数

c=a+b表示将a+b的值分配给c

+=

将右侧操作数相加到左操作数,并将结果分配给左操作数

c += a等价于c=c+a

-=

将左侧操作数减右操作数,并将结果分配给左操作数

c -= a等价于c = c -a

*=

将右侧操作数与左操作数相乘,并将结果分配给左操作数

c * = a等价于c =c * a

/=

将左侧操作数除以右侧操作数(求商),并将结果分配给左侧操作数

c /= a等价于c = c / a

%=

将左侧操作数除以右侧操作数的余数分配给左侧操作数

c %=a等价于c=c%a

**=

执行指数(幂)计算,分配给左侧操作数

c=a等价于c=c**a

//=

运算符执行地板除运算(除法时余数取整),并将值分配给左操作数

c//=a等价于c=c//a

in

判断“中国”是否在value所代指的字符串中,中国是否是value所代指的字符串子序列

value = "我是中国人"


2.4.2比较运算符

运算符

描述

实例

==

等于-比较对象是否相等

a==b返回false

!=

不等于-比较两个对象是否不相等

a!=b返回true

<>

不等于-比较两个对象是否不相等

a<>b返回true,这个运算符类似!=

>

大于-返回x是否大于y

a>b返回true

<

小于-返回x是否小于y

a<b返回false

>=

大于等于-返回x是否大于等于y

a>=b返回true

<=

小于等于-返回x是否小于等于y

a<=b返回false

注意:python中不支持<>

2.5赋值运算

2.5.1赋值运算,例如:变量赋值

运算符

描述

实例

=

简单的赋值运算符

c = a +b 将a+b的运算结果赋值给c

+=

加法赋值运算符

c+=a等效于c=c+a

-+

减法赋值运算符

c -=a等效于c=c-a

*=

乘法赋值运算符

c * =a等效于c=c*a

/=

除法赋值运算符

c/=a等效于c = c /a

%=

取模赋值运算符

c %=a等效于c=c%a

**=

幂赋值运算符

c ** =a等效于c=c ** a

//=

取整除赋值运算符

c //=a等效于c = c//a

 

2.5.2成员运算,例如:是否包含

运算符

描述

实例

in

如果在指定的序列中找到值返回true,否则返回false

x在y序列中,如果x在y序列中返回true

not in

如果在指定的序列中没有找到值返回true,否则返回false

x不在y序列中,如果x不在y序列中返回true

 

 

 

2.6逻辑运算

运算符

描述

实例

and

布尔'与'-如果x为false,x and y有返回false,否则返回y的计算值

a and b返回true

or

布尔'或'-如果x为true,它返回true,反正它返回y的计算值

a or b返回true

not

布尔'非'-如果x为true,返回false,如果x为false,他返回true

not(a and b)返回false

逻辑运算 and or not

注意:优先级()>not>and>or,同一级从左到右计算
大于等于小于在not之前
not     2 > 1  #正确
not 2      >1   #错误

需要记的是字符串转数字
# 数字转字符串
# ""/0 转换布尔值false

 2.6.1  or

value = 1 or 9
第一个值如果是转换成布尔值如果是真的,则value = 第一个值
第一个值如果转换成布尔值如果是假的,则value = 第二个值
如果有多个or条件,则从左到右依次进行计算
     v1= 0 or 1
     v2 = 8 or 10
     v3 = 0 or 9 or 8

'''
'''
value = 0 or 9
print(value)

value = 0 or " "
print('--->',value,'<---')

value = 0 or 9 or 8  #从左到右计算
print(value)
'''

2.6.2 and

#对于and
#如果第一个值转换成布尔值是true,则value= 后面的值
#如果第一个值转换成布尔值是false,则value= 第一个值
#多个and条件,从左到右依次执行上述流程
v1= 1 and 9
print(v1) #9
v2= 1 and 0
print(v2) #0
v3= 0 and 7
print(v3) #0
v4= 0 and " "
print(v4)#0
v5= 1 and 0 and 9
print(v5) #0

2.6.3 计算顺序

#综合 先看and在看or
v1 = 1 and 9 or 0 and 6
print(v1)

# 一般情况下
'''
if 1>0 and 1>2:
    print('666')
#二班情况
##小知识:int   str bool
#数字转字符串
v1= 666
v2 = str(v1)
#字符串转数字
v1 = '666'
v2 = int(v1)
value

v1 = 1
v2 = bool(v2)
print (v2)  #数字转bool值,除了0是false以外 其他的都是true

v1 = 'alex'
v2 = bool(v1)
print (v2)  #字符串转布尔值,空字符串是false,其他的都是true

#布尔值转换其他
v1 = True
v2 = int(v1)
print (v2)   #当转换成整形是false时是0,true是1,当转换成字符串时true就是true,false就是false

2.6.4 例题

6 or 2 > 1      #6 or true      6
3 or 2 > 1#    3 or true        3
0 or 5 < 4#    0 or  False       False
5 < 4 or 3#    3
2 > 1 or 6#    True
3 and 2 > 1#   true
0 and 3 > 1#    0
2 > 1 and 3#    3
3 > 1 and 0#    0
3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 #
# true  and 2 or false and 3 and 4 or true
#    2  or          false  and  4 or true
#   2   or            false  or true
#    2  
'''
print(3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2)

2.7 while循环语句

#通过循环,让count每次循环+1
count = 1
while True:
    print(count)
    count = count +1

2.7.1 关键字:break(终止当前的循环)

关键字: break(终止当前的循环)
"""
while True:
    print(666)
    break
print('结束')
#通过break实现1-10
count = 1
while True:
    print(count)
    if count ==10:
        break
    count = count +1
print('结束')

while True:
    print('你好')
    while True:
        print(666)
    break  #终止当前循环

2.7.2 关键字:continue 本次循环如果遇到continue,则不继续往下走,而是回到判断位置

关键字:continue 本次循环如果遇到continue,则不继续往下走,而是回到判断位置
#打印123456 89
'''
count = 1
while count<=10:
    if count ==7:
        count = count + 1
        continue
    print(count)
    count = count +1

2.8while else循环语句

#while   else 语句
count = 1
while True :
    print(count)
    if count ==10:
        break
    count = count +1
else:  #不在满足while后的条件时,触发,或条件=false
    print('else代码块')
print('结束')

2.9 if嵌套

message = """欢迎致电10086
          1、话费查询;
          2、流量服务;
          3、业务办理;
          4、人工服务"""
print(message)

index = input("请输入你要选择的业务:")
index = int(index)
if index ==1:
    print("话费查询")
elif index ==2:
    print("流量服务")
elif index ==3:
    content = """业务办理
    1、修改密码;
    2、更改套餐;
    3、停机"""
    print(content)
    value = input("请输入要办理的业务:")
    value = int(value)
    if value == 1:
        print("修改密码")
    elif value == 2:
        print("更改套餐")
    elif value == 3:
        print("停机")
    else :
        print("错误")
elif index ==3:
    print("人工服务")
else:
    print("输入错误")