Day 1
一.编程的需求
消耗大量的人力和物力来做一项工作
用来编程后,解放双手,提升生产效率
二.编程语言
语言:人与人沟通的桥梁
编程语言:人与计算机沟通的桥梁,人通过编程语言向计算机发送一些指令,
让计算机帮助人类完成某一项工作
三.编程语言的分类
机器语言:计算机刚出现时,向计算机发送指令,机器语言
优点:执行速度快
缺点:打印hello时,编写代码不是很方便
汇编语言:较机器语言简单一些,由各种各样的英文字符组成的指令
优点:执行速度快
缺点:学习成本和编写代码的效率低
高级语言:打印hello world!
print('hello world!')
优点:编写和学习方便
缺点:执行速度比较慢
编译型语言:一次编译到处运行(执行的文件到另一电脑也可以使用)
C语言,C++,Java
解释型语言:边执行边翻译(Python\PHP代码由解释器翻译,交给计算机执行)
PHP,Python(底层是基于C写的)
解释型语言基于编译型语言
四.Python的介绍
博客的搭建:hexo或者是cnblog上开一个博客
Python的创始人:龟叔(在阿姆斯特丹1989年)
Python的版本:Python2.7和Python3.7(python.org官网下载)
Python的多版本共存:
1. 进入安装的目录下面,输入:Python2或者Python3,进入命令交互界面(command+r打开cmd,输入文件夹地址)
2. 配置一下环境变量:
步骤:我的电脑---> 属性 ---> 高级系统设置 ---> 环境变量 ---> 系统变量path,将python的安装path代进去。
五.Pycharm的使用
使用Pycharm,专业写Python代码,会对代码进行语法的检查
Pycharm快捷键:
ctrl+D:复制一整行
ctrl+Z:撤销上述复制
shift+上下左右键代表做一个选择
ctrl+shift+F10:代码快速运行
shift+enter:换行
ctrl+?: 行注释
ctrl+shift+?:块注释
问题1:settings-inter中编译器无法使用3.7和2.7
六.Python的注释和缩进
#单行注释或者
'''多行注释'''
缩进:缩进表示从属关系,一般约定4个空格即一个tab表示一层缩进(有缩进就能形成从属关系,同一缩进表示同一级)
if True: print(123) print(456)
字符串换行加一\
七.变量
例子:价格:变量的值
车厘子:变量的名字
车厘子的存储价格:内存(存储变量值的地方)
价格类型:数值类型(浮点型,整型)
变量的类型:
1.数字类型
浮点数float(小数):90.89,89.9
整型int(整数):90,100
布尔类型(bool):True,False
2.字符串str类型:
单双引号字符串比较短时:'abgsoidjga';"agabgasfa"
三引号:'''长字符串内容可以换行'''
变量定义规则:
1.字母、数字或下划线的任意组合
2.变量名的第一个字符不能是数字
3.以下关键字不能声明为变量名:and,as,assert,break等
八.字符串
字符串的拼接
+:字符串就拼接,整型就相加
s1 = 'hello' s2 = 'world' print(s1+s2) s3 = 3 s4 = 4 print(s3+s4)
占位符%s的使用
#my name is stephen, age is 18, height is 180 %代表格式化的效果 name = 'stephen' age = 18 heigth = 180 print("my name is %s, age is %s, height is %s" %(name, age, height))
列表list的使用[xxx,xxx,xxx]
用整型、浮点型和字符串存储班级所有人的姓名
用[]来表示,里面的值,可以是任意的类型
# 0 1 2 3 索引 stus = ['zhangsan', 'lisi', 'lxx', 'stephen'] print(stus[2])#输出为lxx li = [12, 34, 45, 'helloworld', [1,2,3,4]] print(li[4][2])#输出为3
字典dict的使用
#声明:用{}声明,{}中可以放任意的数据类型,由key和value组成
info = { "name" : "zhangsan", "age" : 18, "height": 180 "xxxx" : ["agag",'agar',12] } print(info['xxxx'][0]) #agag
元组()
s = ('xxxx', '111') print(s[0])
九.运算表达式
1.数学运算:
%取模(取余)
**幂次方#2**3=8
2**(1/2) 2的开根号
//取整除的整数部分 #9//4=2
2.比较运算
值为 True 或者 False
支持连比:20 > a > 10
3.赋值运算
链式赋值|交叉赋值|解压赋值|加压赋值
链式赋值
a = b = c = 10
print(a, b, c)
交叉赋值
a^=b异或,交换
a = 100 b = 200 a, b = b, a #右边为(200, 100)赋值给左边就是a = 200, b = 100 print(a, b)
或者用c,a+b;前为加一个容器,后为总和来计算
加压赋值
a = 1, 2, 3
print(a) #(1, 2, 3)把三个值赋值给a,a为元组的格式
解压赋值: 被赋值的变量个数一定与解压得到的数的个数一致
字符串和列表,dict等可以存储多个数据的可以解压
a = (1, 2, 3) #用一个值接收代表整体赋值 print(a) a, b, c = (1, 2, 3) print(a, c) a, b, c = 'abc' #对应拿到的是字符串 print(a, c)
4.逻辑运算
and not or:短路现象
十.用户交互:if-else
例子
#验证用户名和密码
#如果错误,输出错误
#对,输出欢迎光临
s = input("输入用户名:") #让输入
print(s) #后台答应出来
print(s, type(name)) #输入的类型一直都是字符串类型str
选择#if-else
if 表达式:
执行代码
else:
执行代码
name = input('请输入用户名:') pwd = input('请输入密码:') if name == 'stephan' and pwd == '123': print("欢迎登陆...") else: print("用户名或者密码错误")
强制类型转换
s = int(input("输入用户名"))
十一.三大流程控制语句
1.顺序执行
2.分支选择(if-else)
if 表达式:
执行代码
elif 表达式:
执行代码
...
else:
执行代码
说明:只需要满足一个条件,程序会执行哪个条件下面的代码,然后退出
3.循环
for循环,break,continue
#打印0到9 for i in range(10): print(i) #另一种方法 li = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for i in li: print(i) #continue 下一个循环,警察查身份证,认识不查 for i in li: if i < 5: continue #不往前走了,直接进入下一个循环 print(i) #打印了5678910 #break直接跳出整个loop,警察抓坏人 for i in li: if i > 5: break print(i) #打印了12345
while循环
while 表达式:
执行代码
while True: print("hahah") cout +=1 if cout > 100: print('跳出循环。。。') break
迭代器:
for i in xxxx: print(i)