前言:python的优点
- 在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。
- Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
- Python的运行速度比Java慢,python是基于cpython(或者其他)的边解释边运行,而java是一次性编译,然后放在容器中运行。
python解释器参考:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001407375700558864523211a5049c4983176de304549c8000
1、Python2.7和Python3的由来
python有两个主要的版本,python2 和 python3 ,但是python又不同于其他语言,向下兼容,python3是不向下兼容的,但是绝大多数组件和扩展都是基于python2的,下面就来总结一下 python2和python3的区别。
1.1 Python2.xxx
Python2.xxx写了大量的重复代码,字符编码也不规范,默认编码是 ASCII 码,在文件的开头要告诉解释器,本次执行的py文件,用的是默认是啥编码。
1.2 Python3.xxx
python3是优化Python2的代码,简化一些函数,默认字符编码统一为 Unicode。
1.3 Python2.7的由来之前写Python的公司,都是Python2,转变为Python3工作量很大,所以,出现了一个Python2.7作为一个过度版本,这个过度版本一直支持 2020.1.1 正式停止对 Python2的维护。
具体Python2和Python3的区别参考:
https://www.jb51.net/article/57956.htm
2、字符串的拼接
2.1 定义变量
Python中变量是弱变量,不需要在变量前制定变量类型,既不用像js语言那样使用一个通用的var
或者let
之类方式表示声明,也不需要像c++语言那样使用更严格的int
或char
方式进行声明。
注意,变量声明的时候必须赋值,不然会报错。
name = "bianbian"age = 16
注:字符串:三引号('''...''') 包含 双引号("...") ,双引号 包含 单引号('...')。只有三引号可以是多行文本。
name1= 'bianbian'name2="'bianbian'"name3='''"bianbian"'''name4='''bianbian bianfengjie'''
2.2 用 + 号拼接字符串(基本不用)
name = "bianbian"age = 16all = name + str(age)print(all)
为什么不用+号拼接字符串呢
2.3 占位符拼接 (常用)
name = "bianbian" age = 18 info = '''----info:---- name:%s
#%s 代表字符串
age:%d
#%d 代表整数
'''%(name,age)
print(info)
2.4 用format函数拼接
1、关键字拼接
关键字拼接不受参数位置影响:
name = "bianbian"age = 18info = '''----info:----name:{_name}age:{_age}'''.format(_name=name,_age=age)print(info)
2、占位符拼接 (推荐)
占位符拼接受参数位置影响:
name = "bianbian"age = 18info = '''info:+---name:{0}age:{1}'''.format(name,age)print(info)
3、循环
3.1 while循环
while true和while 1都可实现死循环,用于数据校验; 常常会定义 flag 去做开关的效果
flag = Truewhile flag:name = input("请输入姓名:")if name == "bianbain":flag = Falseelse:print("输入错误,请继续")continueelse:print('输入正确')
3.2 for循环
语法:
for i in range(初始化值,序列长度,步长):
for 循环可以循环一切可迭代的数据类型数据
for i in range(10):#没有初始值,就代表初始值默认为0#没有步长,表示步长为1 print(i)
1、循环字符串
name = "bianbian"for i in name: print(i)
2、循环列表
name = [1,2,3,4,5]for i in name: print(i)
3、 循环元祖
name = (1,2,3,4,5)for i in name: print(i)
4、循环字典
name = {'name':'bianbian','age':18}for k,v in name.items(): print(k,v)
3.3 if...else...循环
1、if..else...
name = "bianbian"pwd = "123"if name == "bianbian": print("欢迎,bianbian!")else: print("你不是我的主人")
2、if...elif...else
input_code = int(input("请输入你的成绩"))if input_code>=85: print("优秀!")elif input_code>=70 and input_code <=84: print("良好")else: print("及格")
3.4 break、continue、exit()
1、break : 结束当前for循环
for i in range(10): sun = int(input("input:")) if i == sun: break else: print(i)
2、continue: 跳过本次循环
for i in range(10): sun = int(input("input:")) if i == sun: continue else: print(i)
3、exit(): 退出程序
for i in range(10): sun = int(input("input:")) if i == sun: exit("error") print(i)