Day1 - Python基础1 介绍、基本语法、流程控制
1.Python介绍
注:编程语言主要从这几个角度进行分类,编译型VS解释型、动态VS静态语言和强定义VS弱定义类型语言
1.1.Python是一门动态解释性的强类型定义语言
动态类型语言:指在执行程序时才检查数据类型的语言,编程时不会指定数据类型,程序运行时第一次
给变量赋值时,程序内部会记录数据类型
静态类型语言:在编译时检查数据类型,编程时要声明所有变量的数据类型
解释型:只有在执行程序时,才一条一条解释成机器语言执行,运行效率低,如Python/Ruby
编译型:把源程序每一条语句编译成机器语言,并保存为二进制文件,运行速度很快,如C/C++
强类型定义语言:指强制数据类型定义的语言,除非强制转换变量数据类型,否则数据类型永远不会
变,是类型安全的语言
弱类型定义语言:一个变量可以赋不同数据类型的值
1.2.Python的优缺点
优点:1.高级语言,简单容易学习;2.代码可移植扩展性强,支持多平台;3.丰富的第三方库开发效率高
缺点:1.运行速度 慢;2.代码不能加密;3.不支持多线程
1.3.解释器
安装好的python自带官方解释器CPython,这是应用最广泛的解释器
.pyc是python执行时编译后产生的文件
2.基本语法
2.1.变量
构成:
-
- 变量名只能是字母、数字和下划线的组合
- 不能使用特殊字符,不能以数字开头
- 关键字不能声明为变量名
书写方式:
-
- "my_name"变量名称要有意义,使用下划线连接,Python推荐使用此方式。
- “MyName”驼峰式,C/C++等一般使用这种方式
2.2.字符编码和二进制
字符编码:ASCII(早期,只支持英文)--->GB2312(支持7K多汉字)--->GBK18030(支持20K多汉字)--->GBK(支持70K多汉字)--->Unicode(万国码,支持所有国家字符)
UTF-8:可变长版unicode,可以节省空间,字符占用空间在1~4个字节之间
2.3.使用者交互模式
Python2.X:raw_input("请输入:")----->Python3.X:input("请输入:")
3.for循环
遍历所有序列的元素,包括列表、字符串等
#-*- coding:utf-8 -*- import sys #1.遍历字符串 for letter in 'Hello': print("letter:",letter) #2.通过索引遍历列表元素 fruits = ['apple','banana','mango'] for index in range(len(fruits)): print("当前水果:",fruits[index]) #3.for....else语句 #else语句会在for正常执行完成后执行,即for不是通过break跳出中断的 for i in range(3): print(i) else: print("for循环正常结束显示") for i in range(3): print(i) break #for循环非正常结束 else: print("for循环正常结束显示") #不会被执行
4.while循环
用于循环执行程序,当满足某种条件时,重复执行相同任务
#-*- coding:utf-8 -*- #简单语句组 flag = 1 while(flag):print('Good!') #正常循环 count = 0 while (count < 10): print("当前值是:",count) count +=1 print(">10循环结束") #无限循环 var = 1 while (var == 1): num = input("哈哈,进来就出不去了:") print("你输入的是:",num) #while....else循环 #在while循环语句为false时执行 count = 1 while count < 5: print("%s小于5,继续"%count) count +=1 else: print("大于5,不能继续啦,Gameover!")
5.break and contiune
break:跳出循环 contiune:跳出本次循环
#contiune:跳出本次循环 for i in range(10): i+=1 if i == 5: continue #除5外都打印 print(i) count = 0 while (count <10): count +=1 if count == 5: continue #除5外都打印 print(count) #break:跳出本次循环 for i in range(10): i+=1 if i == 5: break #5以后结束不打印 print(i) count = 0 while (count <10): count +=1 if count == 5: break #5以后结束不打印 print(count)
6.表过式if..elif..else语句
else:当if语句为0或false时执行,是可选的,但一个if只能对应一个else
elif:允许检查多个结果是否为true,当为true时执行对应的代码块,elif也是可选的,但可以任意个