期末突击看这篇才够味!
环境搭建
首先就是相关工具的安装,直接搜就好,但是还是贴个网址吧:
Welcome to Python.orghttps://www.python.org/
然后就是根据自己的系统选择咯:
谁能闲来无事送我个mac玩玩
Windows的一下,,,,哎?这么多版本下哪个好?
要稳定版本的就好,搞个版本然后下64位的(应该没有人用32位吧,那个是老电脑用的比较多)
下载完之后安装,别装到C盘咯
这个勾选下库(第二个小方框),配置相关环境变量,我是装到D盘了
这个安装的是python的运行环境,不是开发环境
就是终端,它长这样:
可以这样玩玩:
运行环境安装完了,还要安装个开发环境 :PyCharm
依旧是用我的亲亲浏览器搜索
PyCharm: the Python IDE for data science and web development (jetbrains.com)https://www.jetbrains.com/pycharm/
我也不想心动啊可是它欢迎我哎?
还是IDE好用。。。哪里都是
点击下载之后跳转到这个页面做选择:
得去偷个mac玩玩了,和VS一样分专业版和社区版:
直接社区就OK,反正我和python是一夜情
还是选安装路径啦,文件夹是个好东西,这样选:
好耶:
点击新建这样搞:
就好咯(创建解决方案):
新建源文件:
我的环境好咯:
Ctrl+Shift+F10运行,也可以右键然后run:
虽然但是感觉好怪。。。调个字大小不伤眼睛:
大小刚刚好,懵逼不伤脑
还可以设置背景图供自己把玩:
都默认就好,配置完咯:
基础语法
变量
print("hello")
print(1 + 2 + 3)
print(1 + 2 * 3)
print(1 + 2 / 3)
为了代码美观加空格,打印是这样的:
除法是小数的 ,665是向下取整,整除是//
来看看求方差小程序:
tips:方差这样求:算平均值 --> 每个数字 - 平均值再平方 --> 平方值相加 --> 和除以(项数-1)
avg = (67.5 + 89.0 + 12.9 + 32.2) / 4
total = (67.5 - avg) ** 2 + (89.0 - avg) ** 2 + (12.9 - avg) ** 2 + (32.2 - avg) ** 2
print(total / 3)
在python里**是平方的意思
挺简单的,有基础不难。。。
变量名:数字字母下划线,不以数字开头,不包含特殊符号,不和关键字重复,大小写敏感
好的变量名:描述性强的单词,下划线连接
驼峰命名:除了第一个单词之外的首字母都大写
personInfo
totalCount
蛇形命名:单词间使用 _分割 ,我很喜欢这个
Python中的变量类型不需要在定义的时候显式声明,仅仅依靠初始化的类型进行确定:
a = 10
print(type(a))
在Python中,int能够表示的数据范围是无穷的,int可根据要表示的数据大小自动扩容,因此Python没有long,short这样的类型
Python里面的浮点数float(没有double,Python设计喜欢解决一个问题只提供一种方案,降低学习成本)
字符串在Python中也被设计成一种数据类型(依旧想念我的容器,string就是最好的!),Python中的字符串是" "或者' '就是说中文时使用英文标点真的蛮方便?并不
s1 = 'hello'
print(type(s1))
s2 = "hello"
print(type(s2))
为什么要有两种引号嘞?怕解释器不认识,比如这样就是错的:
print("my name is "switch"")
tips:红色是错误,黄色是警告,绿色是拼写检查
因此,如果字符串里包含" ",表示你字符串可以' '来引起,反之亦然
如果单双都有就用三引号:
print('''my 'name' is "switch"''')
字符串有些内置函数,比如说求长度:
s = 'my name is "switch"'
length = len(s)
print(length)
字符串可以进行拼接,比如这样:
s1 = "hello"
s2 = "world"
print(s1 + s2)
不能把字符串和数字混合相加,拼接完对原来的字符串无影响
在Python中报错有两种情况:
1.语法错误:程序运行前,Python解释器可识别
2.运行错误:程序运行前识别不了,必须执行到对应代码才能发现问题
Python还有种内置类型是bool类型,和cpp一样咯,和C略有区别
bool取值只有真假,主要用于逻辑判定
True
False
类型分类带来的意义:
1.不同类型数据占用内存空间不同:int(4byte),float(8byte),bool(1byte),str(变长)
2.不同类型可进行的操作不同:
int、float : + - * / 不可len
str :+ 可len
动态类型
程序运行过程中,变量的类型可能回发生改变,这被称为动态类型
a = "hello"
print(type(a))
a = True
print(type(a))
在cpp、Java里都是静态类型(程序运行过程中变量类型始终不变)
Python在定义也可以进行类型声明:
a:str = "hello"
print(type(a))
a:bool = True
print(type(a))
动态类型的写法是比较灵活的,提高了语言的表达能力,但在编程中,“灵活”不是什么好鸟,这意味着更容易出错
在大型的多人协作项目中,静态类型语言更好
初级开发用Python更灵活,当项目规模变大,可能就需要用其他语言对之前的Python代码进行重构
Python里面注释用#,可提高代码可读性,三引号也是注释:
"""
这是一个文档字符串哎嘿嘿,和注释差不多哟
"""
print("hello world")
注释要准确,篇幅河狸,使用中文,内容积极
批量注释:选中,Ctrl+/,取消亦然
输入和输出
输入输出使用控制台,在计算机里,我们把用户能输入命令向计算机安排工作,计算机再把结果显示出来的程序称为控制台,在Windows里面win+R就打开了控制台:
pycharm内部集成了一个控制台:
就是这个东东 ,控制台是人和计算机交互的最基础方式,但不常用,因为要敲命令,图形化界面才是坠吊的!!!
可我是程序猿,要自己坚强
数字和字符串混合打印怎么办?用占位符么?
这样写:
a = 10
print(f"a = {a}")
它叫格式化字符串:f-format,此时可以通过{ }嵌入变量或者表达式
我的cpp:%d,%s,std,cout ,>>就是最好的!
那么如何从控制台进行输入呢?
还是用input,长时间等待,不见不散~
input返回值是字符串,如果只是单纯拿到输入打印,那就直接打印即可,如果需要根据输入内容进行算术计算,则需要str-->int
a = input()
print(type(a))
print(a)
这样转换:
a = input()
print(type(a))
print(a)
a = int(a)
print(type(a))
举个栗子:
输入四个小数,求四个小数平均值:
a = input()
b = input()
c = input()
d = input()
print((float(a)+float(b)+float(c)+float(d))/4)
运算符
运算符还蛮多,算术、关系、赋值、逻辑...
算术运算符就加减乘除乘方取模。。。
除0会异常,有些编程语言除int0异常除float0会无穷大
截断向下取整
关系运算符用于表示关系,和C一样,不赘述
字符串比较大小依赖字典序,直接用==和!=就可以比较嘞(>和<也是正常用):
s1 = "hello"
s2 = "hella"
print(s1 > s2)
print(s1 < s2)
针对浮点数用==比较相等可能存在风险: 浮点数在内存中的存储和表示可能存在误差,这样的误差在算术运算中可能被放大,从而导致==出现误判
print(0.1 + 0.2 == 0.3)
为什么哎?
我们打印就好了:
print(0.1 + 0.2 == 0.3)
print(0.1)
print(0.2)
print(0.1 + 0.2)
print(0.3)
==比较很严格,正确比较浮点数大小是相减后看是否小于允许的误差范围:
a = 0.1 + 0.2
b = 0.3
print(-0.000001 < (a - b) < 0.000001)
Python支持这种连续<的写法
逻辑运算符:Python中的逻辑运算符有或且非(and、or、not)
不赘述
a = 10
b = 20
c = 30
print(a < b and b < c)
赋值运算符,将右侧的值填充到左侧的空间(变量)中
链式赋值:
a = b = 20
有个有意思的:
a , b = 10 , 20
这是多元赋值,适用于交换数值 :
a , b = b , a
Python不支持这种写法:
int a = 10;
a++;
++a;
支持的是这种:
a = 10
a += 5
整数可以和bool值相加减,得到的结果是整数,其中True为1,False为0
Python只有字符串,没有字符
语句
条件
条件语句也叫分支语句,加缩进,这样搞:
if expression1:
do something1
elif expression2:
do something2
else:
do something3
如果我们希望条件满足时什么都不做,不可以直接不写(或者只写注释),Python对于语法的格式(缩进和代码块)要求比较高,我们可以用空语句占位,即pass
a = input()
if a != '1':
pass
else:
print("hello")
循环
while
while 条件:
循环体
num = 1
while num < 10:
print(num)
num+=1
看清楚了,阶乘之和这样算:
num = 1
sum = 0
while num <= 5:
factorResult = 1
i = 1
while i <= num:
factorResult *= i
i += 1
num += 1
sum += factorResult
print(sum)
for
打印1~10
for i in range(1,11):
print(i)
range是内建函数,得到一个“可迭代对象”,可迭代对象中包含了一系列整数(左闭右开)
打印2、4、6、8、10:
for i in range(2,12,2):
print(i)
打印10到1:
for i in range(10,0,-1):
print(i)
Shift+F6可以对变量重命名,并一键替换
如果不知道要循环多少次,那可以这样:
theSum = 0
count = 0
while True:
num = input()
if(num == ';'):
break
num = float(num)
theSum += num
count += 1
print(theSum/count)
真正的实例:
nputt = input().split()
while True:
for i in inputt:
print(i)
inputt = input().split()
好啦就这样吧