Python语言基础
一、搭建环境
python解释器多用Pycharm、Anaconda
使用时需导入外部库
1.Pycharm使用
完成了配置
用settings改变了外观、字体大小等,并选用下载的python3.6
成功输出 hello world
二、开始写程序!
1.第一个Python程序
string = "hello world"
f = open ("hello.txt",'w') #以写的方式打开文件
f.write(string)#将字符串写入被打开的文件中
f.close()
机器学习=['决策树','神经网络','支持向量机']
for i in 机器学习:
print(i)
python特点:
1.python对缩进敏感!!!(设计理念之 优雅 )
-
循环结构利用缩进(空格)限制
-
一般建议一个层级用四个空格限制
2.python3后源文件以 utf-8 来编码,对中文支持
3.变量不需要提前声明
小tips:
1.行级注释,快捷键是Ctrl+ / (在需要被注释的行前加井号键)
按住ctrl键,点击函数(这里指open)的超链接,进入到open函数的使用说明
2.文件又打开就要有关闭(close)
3.快捷键ctrl+shift+F10为运行程序
2.Python固定数据类型
#Number
import math #导入相应的数据模块
a=-3.5
res = abs(a)#求绝对值
print(res)
res = math.sin(a) #调用模块中的sin函数
(1)Number
(2)列表list
· 列表的元素可以是数字、字符串、函数、浮点型数据或者列表,列表可以容纳Python中的任何对象(任意数据类型)
· 列表中的每个元素都是可变的
· 列表中的元素都是有序的,每个元素对应一个位置
- 列表的增删改查:
#列表
all_in_list = [0.3,'hello',True]
#索引(查找)
res = all_in_list[0]
res = all_in_list[-3]#同样是打印出0.3
#切片(取某一部分元素,左闭右开)
res = all_in_list[0,2] #取前两个(第0个和第1个)元素
#新增元素
all_in_list.append('hello world')#在后面插入
all_in_list.insert(0,'pre-hello')#"0"表示要插入的位置(插入到第0个元素前)
print(all_in_list)
#删除元素
all_in_list.remove('hello world')
del all_in_list[0:2]#删除前两个元素
#冒号前数字不写则默认从第0个开始,冒号后数字也不写则默认删除到最后
#修改元素
all_in_list[0] = 100#直接赋值即可
print(all_in_list)
一些方法:
注:1.从左往右数从零开始,从右往左数从-1开始
2.注意左闭右开
- for循环:
#for循环
x = []
for i in range(10):
x.append(i)
print(x)#每循环一次打印一次
print(x)#打印最终的x列表
#列表推导式(解释型语言和脚本语言中用for循环效率比较低,可用列表推导式替代)
b = [i for i in range(1,11)]#列表中的元素为(第一个空格前的内容为元素)
c = [i**2 for i in range(1,11)]
d = [i**2 for i in range(1,11) if i%2==0]#求1-10中奇数的平方并放入列表
#注意==和=别写错
(3)Python常用操作符
- 算术操作符
- 赋值操作符
-
比较操作符
-
逻辑操作符
算术运算符一般会返回一个数,而比较和逻辑操作符会返回布尔值True或False
条件判断与循环:
#条件判定语句
if 1 < 2:
print('hello')
if 1 < 0:
print('world')
if 1 < 0:
print('hello')
elif 2 < 1:
print('world')
else:
print('hehe')
练习:
练习1:
方法一:利用for循环构建核心数据结构
#练习一
#for循环
import math #引入math函数
n = 10 #n为分割的份数
width = 2*math.pi/n #每个小矩形的宽度
x = []#建立一个空列表用来存放x的值
y = []#存放y值
for i in range(n):
x.append(i*width) #每次循环加入一个宽度
for i in x:
y.append(abs(math.sin(i)))
S = sum(y)*width
print(S)
方法二:利用列表推导式循环构建核心数据结构
#推导式
S2 = [abs(math.sin(i*width))*width for i in range(n)]
练习2:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4VaMgNRr-1618128834165)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210404090443700.png)]
#练习二 冒泡排序
x = [1,2,6,0.3,2,0.5,-1,2,4]
n = len(x)
for i in range(n):
for j in range(i):
if x[j] > x[i]:
x[i],x[j] = x[j],x[i] #python特有的
print(x)