1、 Python的概念:
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
2、现在市面上流行的编程语言及排名状况:
3、编译型语言和解释型语言的区别:
编译型:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序,执行速度快,效率高,但是跨平台性较差,常用的编译型语言有:C,C++,C#,java。
解释型:把做好的源程序翻译一句,然后执行一句,直至结束,执行速度比较慢,效率不高,但是跨平台性好常用的,常用的解释型语言有:Python,php,perl,ruby。
4、Python解释器类型:
最常用的就是我们平时用的Cpython,当然还有很多,例如:jpython(java python),ironPyth(C# python),rubyPyth(ruby python),pypy(python python)。
5、现在程序员最常用的python版本(CPython):
2系列常用的python版本是python2.7
3系列常用的python版本是python3.6
6、windows终端情况下执行python的方法和linux系统下执行python的方法:
windows终端情况下需要把python安装目录整个指出来,例如:F:\python\python.exe 执行的.py文件
linux下执行python的方法和windows类型,但是要在编写python程序的是在文件头部第一行加上#!/usr/bin/env python 和第二行加上-*- conding:UTF-8 -*-。
7、字符编码:
ASCII:是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示,8位就是一个字节,即:2**8=256-1,所以ASCII最多只能表示255个字符。
UNICODE:又被称为统一码,万国码,单一码;Unicode是为了解决传统的字符编码方案的局限性而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定所以的字符和符号用32位来表示(4个字节),即:2**16=4294967296
UTF-8:是对Unicode编码的压缩和优化,他不再使用最少使用4个字节,而是将所有的字符和符号进行分类:ASCII码中的英文用1个字节表示、欧洲的字符用2个字节表示,亚洲的字符用3个字节表示。
GBK:专为亚洲国家开发的字符编码,中文用2个字节表示,每个字节也是8位。
注:py2版本用是ascii码作为默认编码的;
py3版本中是用utf8作为默认编码的;
文件中如果用GBK编码编写的内容则必须用GBK编码打开,如果用ascii或其他编码的话则显示的会是乱码。
8、变量的定义:
变量格式为:变量名 = 值
书写规范:①、只能是数字,字母,下划线组成;
②、不能以数字开头;
③、不能使用python中的内置关键字。
例如1:name = ‘alex’
例如2:name = ‘alex’
user = name
在变量中,定义一个变量相当于在内存中开辟了一块房间,变量值就相当于这个房间,变量名就相当于放间的门牌号。
在示例二中,’alex’就是房间的名字,name相当于这个房间的门牌号,user = name表示它俩指的都是同一个房间,如一个房间有两个门牌号。
9、常用的数据类型:
字符串:在python中字符串用str表示,定义一个变量时,必须用引号引起来,单引号,双引号,三引号都可以,三引号在需要定义多行内容是常用;
例如:name = ‘alex’(单引号)
name = “alex”(双引号)
msg = """ (三引号)
欢迎致电10086
1. 查询话费
2. 流量查询
3. 人工服务
"""
整形:用int表示,指的就是数字,比如1-9或更大的数字且没有小数点的数字;
例如:num = 9 这样就表示整形,如果’9’就表示为字符串了。
列表:用list表示,在python中,一个列表用[]括起来,里面可以定义字符串,整形,字典已经其他的数据类型包括列表;
例如1:div = [‘alex’,19,[‘eric’],{‘name’:‘tom’}]
例如2: 列表可以用for循环进行遍历;
div = ['alex',19,['tom'],{'name':'tom'}
for item in div:
print(item)
结果:
例如3、通过索引取值:
div = ['alex',19,['tom'],{'name':'tom'}]
print(div[1]) #索引取值从0开始算,取0就是第一个值,就是alex,取1就是第二个值,数字19
print('===========') #打印分隔符
print(div[3]['name']) #取列表里的字典里的值,3表示索引3,可以把字典取出来,['name']表示通过字典里面的key取后面的值
结果:
字典:用dict表示,用{}扩起来,用key:value的形式表示,和列表一样可以在里面定义各种数据类型;
例如1:dic = {'name':'eric','age':18,'sex':['male','female']}
例如2:通过key取value:
dic = {'name':'eric','age':18,'sex':['male','female']}
print(dic['age'])
print('----------')
print(dic['sex'])
print('----------')
print(dic['sex'][1]) #取到想要的value并通过索引再取值
结果:
元组:用tuple表示,用()括起来,和列表字典一样可以定义各种数据类型;
布尔值:用bool表示,在python中也包括各种开发语言,布尔值就是True和False,True表示真,可以用0来表示,False表示为假,用大于0的数字表示。
10、条件语句:
格式一:
if 条件:
条件符合所执行的内容
格式二:
if 条件:
条件符合所执行的内容
else:
条件不符合执行的内容
格式三:
if 条件:
条件符合所执行的内容
elif 条件:
条件符合所执行的内容
elif 条件:
条件符合所执行的内容
else:
条件都不符合执行的内容
练习题:模仿10086电话客服
msg = """
欢迎致电10086
1. 查询话费
2. 流量查询
3. 人工服务
"""
print(msg)
choice = input('请输入你要查询的服务编号:')
if choice == '1':
print('1.本机话费查询,2.座机话费查询,3.其他电话查询')
sec = input('请选择需要查询的服务:')
if sec == '1':
print('当前话费为。。。')
elif sec == '2':
print('座机话费为。。。')
elif sec == '3':
print('其他手机话费为。。。')
else:
print('请输入正确服务编号!')
elif choice == '2':
print('1.本机流量查询,2.其他手机流量查询,3.固话宽带流量查询')
sec1 = input('请输入需要查询的服务:')
if sec1 == '1':
print('本机当前可用流量为380M')
elif sec1 == '2':
phone = ['15600120022','13041127072','13341176385','13718634796']
count = 3
flag = False
while count >= 0:
sec2 = input('请输入要查询的手机号码:')
if sec2 == phone[0]:
flag = True
print('您输入的手机号为:',phone[0],'剩余可用流量为400M')
elif sec2 == phone[1]:
flag = True
print('您输入的手机号为:',phone[1],'剩余可用流量为300M')
elif sec2 == phone[2]:
flag = True
print('您输入的手机号为:',phone[2],'剩余可用流量为510M')
elif sec2 == phone[3]:
flag = True
print('您输入的手机号为:',phone[3],'剩余可用流量为1100M')
if flag:
print('剩余可查询号码次数为:',count)
else:
print('您输入的号码有误,请重新输入,剩余次数为:',count)
count = count - 1
elif choice == '3':
print('人工服务请按0')
11、while循环语句:
格式:while 条件:
条件成立,所执行的内容
示例1:页面上输出 1 - 10
count = 1
while count <= 10:
print(count)
count += 1
结果:
示例2:输出数字1-10,数字7不打印:
count = 1
while count < 11:
if count == 7:
count += 1
continue ##跳出当前循环,继续下一次循环
print(count)
count += 1
结果:
练习题:求1-100的和:
count = 1
sum = 0
while count < 101:
sum = sum + count
count += 1
print(sum)
12、for循环语句:
格式:for 对象 in 可迭代对象:
要执行的内容
示例:循环列表和字符串的元素
div = ['alex',19,['tom'],{'name':'tom'}]
for i in div:
print(i)
div = "循环的内容"
for i in div:
print(i)
13、练习题:
①、求1-100的所有数的和
count = 1
sum = 0
while count < 101:
sum = sum + count
count += 1
print(sum)
②、输出 1-100 内的所有奇数
count = 1
while count < 101:
div = count % 2
if div == 1:
print(count)
count = count + 1
③、输出 1-100 内的所有偶数
count = 1
while count < 101:
div = count % 2
if div == 0:
print(count)
count = count + 1
④、求1-2+3-4+5 ... 99的所有数的和
sum = 0
count = 1
while count < 100:
div = count % 2
if div == 0:
sum = sum - count
elif div == 1:
sum = sum + count
count = count + 1
print(sum)
⑤、用户登录(三次错误机会)
user_list = [
{'username':'alex','password':'123123'},
{'username':'eric','password':'123123'},
{'username':'tom','password':'123123'},
{'username':'egon','password':'123123'}
]
flag = False
count = 3
while count > 0:
user = input('请输入用户名:')
pwd = input('请输入密码:')
for item in user_list:
if user == item['username'] and pwd == item['password']:
flag = True
if flag:
print('登录成功')
break
else:
count = count - 1
print('登录失败,剩余次数:',count)