python基础讲解 01



由于没有书,利用博客对于Python的学习内容进行简要的记录!(应该是菁(jing 不要问我为什么标,问就是我文盲)英班,过太久想不起来了(这段时间的文章,大概我都想不起来,放太久没发),混个小礼品,还有两本书)咳咳,知识无价,我爱学习!(我话改了)
我又回来了,做题的时候发现Python编写的代码很简洁。

数据类型

Number

Python中的Number数据类型用于储存数值,包括整形,长整型,浮点型,复数
python中数学运算常用的函数基本都在math模块

1
2
3
4
5
6
import math
print(math.ceil(4.1)) ##返回数字的上入整数 5
print(math.floor(4.9)) ##返回数字的下舍整数 4
print(math.fabs(-10)) ##返回数字的绝对值 10.0
print(math.sqrt(9)) ##返回数字的平方根 3.0
print(math.exp(1)) ##返回e的x次幂 2.718281828459045

随机生成一个[0,1)范围的实数

Python中生成随机数需要用到random()模块

1
2
3
import random
ran = random.random()
print(ran)

随机生成一个[1,20)范围内的整数

1
2
ran = random.randint(1,20)
print(ran)

当时用random.seed(x)设定好种子以后,random()生成的随机数将会是同一个。

1
2
3
4
5
6
print(-----------设置种子 seed-------------)
random.seed(10)
print("Random number with seed 10:",random.random())
##生成同一个随机数
random.seed(10)
print("Random number with seed 10:",random.random())

在这里插入图片描述

String(字符串)

Python中的字符串可以使用单引号,双引号,三引号(三个单引号或三个双引号)括起来,使用反斜杠\ 转义特殊字符。

1
2
print('Hello World!')					print("	The \t is a tab")
print("Hello World!") print('I\'m going to the movies')

在这里插入图片描述

单引号和双引号是等效的,如果要换行,那么需要使用符号()。单引号里面不能再加单引号,但是可以加 \ 或者是双引号进行转义输出。双引号里面不能再加双引号,但是可以加 \ 或者是单引号进行转义输出。

1
2
3
4
5
6
7
8
9
10
11
12
13
print('''I'm going to the movies''')
## 不需要使用反斜杠\ 转义特殊字符,三个引号即可定义多行字符串
html='''
<HTML>cHEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<B0DY><H3>ERR0R</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE-Back
ONCLICK="window. history, back()"></FORM>
</BODY></HTML>
'''
## 此外还可以穿插其他代码
print(html)

在这里插入图片描述

字符串连接

使用+运算符

1
2
3
str1 = "hello"
ste2 = "wdrld"
print(str1+str2)

使用join运算符

1
2
3
new_str = '_',join('Hello')
## 在字符串各个字母之间进行穿插
print(new_str)

在这里插入图片描述

List(列表)

1
2
3
4
5
## 声明一个列表
names=['jack','tom','tom','tonney','superman','jay']
## 通过下标或索引获取元素
print(name[0])
print(name[1])

在这里插入图片描述

1
2
3
4
5
6
7
##前提有五个元素的列表,对应前面

## 获取最后一个元素
print(names[-1])
print(names[len(names)-1])
## 访问第一个元素
print(names[-5])

列表查询

依次遍历列表中的元素

1
2
3
4
5
6
7
8
9
##查询names列表里面有没有“superman”
flag=0
for name in names:
if name=="superman"
print("有超人")
flag=1
break
if flag==0:
print("无超人")

使用in关键字去判断

1
2
3
4
if "superman" in names:
print("有超人")
else:
print("无超人")

列表添加

append():在列表的末尾追加元素
1
2
3
4
5
6
## 声明一个空的列表
girls=[]
## append()末尾追加
girls.append('杨超越')
## 输出列表
print(girls)

在这里插入图片描述

extend:合并列表
1
2
3
4
models=['刘雯','奚梦瑶']
girls.extend(models)
##girls=girls+models
print(girls)

在这里插入图片描述

insert:在指定位置添加
1
2
girls.insert(1,虞书欣)
print(girls)

在这里插入图片描述

列表修改

修改指定元素
1
2
3
4
fruits=['apple','pear','香蕉','pineapple','草莓']
print(fruits)
fruits[-1]='strawberry'
print(fruits)

在这里插入图片描述

将fruits列表中的’香蕉’替换为’banana’

在这里插入图片描述

1
2
3
4
5
for i in rang(len(fruits)):
if "香蕉" in fruits[i]:
fruits[i]='banana'
break
print(fruits)

列表删除

del()/pop():可以传入删除位置的索引

1
2
3
words=['cat','hello','pencil','ruler']
del words[1]
print(words)
1
2
3
words=['cat','hello','pencil','ruler']
words.pop(1)
print(words)

remove():传入需要删除元素的值

1
2
3
words=['cat','hello','pencil','ruler']
words.remove('cat')
print(words)

列表切片

[ ]中设置要使用的第一个元素和最后一个元素的索引
牢记:左闭右开(不包含右的那个)
在这里插入图片描述

1
2
3
4
5
6
animals = ['cat' , 'dog', 'tiger', 'snake', 'mouse', 'bird']
print(animals[2:5]) ## 实际2~4
print(animals[-1:]) ## 打印-1的元素及其后面的元素
print(animals[-3:-1]) ## 同一.
print(animals[::2]) ## 2:索引步长是二
print(animals [-5:-1:2]] ## 同四

在这里插入图片描述

列表排序

生成10个不同的随机数,存至列表中,并进行排序
在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
random_ list = []
i=0
while i < 10:
ran = random. randint(1,20)
if ran not in random_ list:
random_ list. append( ran)
i+=1
print( random_ list)
## (不传入值的情况下)默认升序
new_ _list = sorted( random_ list)
print(new_ list)
## 降序
new_ list = sorted( random_ list, reverse =True
print(new_ list)

Tuple(元组)

与列表相似,区别是元组中的元素不可修改

定义一个元组, 注意:元组中只有个元素时,需要在后面加逗号

在这里插入图片描述
第二个没有加逗号,被识别为字符串的类型,不是元组

列表转元组

元组具有不能的特性,作为容器的元组,通过列表转元组的方式存放元组

1
2
3
4
5
6
7
8
9
10
## 定义一个列表
import random
random_ list = []
for i in range(10) :
ran = random. randint(1,20)
random_ list. append( ran)
print( random_ list)
## 调用tuple函数进行转换
random_ _tuple = tuple( random_ list) .
print ( random_ _tuple)

在这里插入图片描述

元组截取(切片)

1
2
3
4
5
print( random_ tuple)
print ( random_ _tuple[0])
print(random_ _tuple[-1] )
print( random_ tuple[1:-3])
print(random_ tuple[::-1])

在这里插入图片描述

元组中的函数

1
2
3
4
print (max( random_ tuple))		##最大值
print(min( random_ tuple)) ##最小值
print( sum( random_ tuple)) ##元素对象的和
print(len( random_ tuple) ) ##元素对象的数量

元组的拆包和装包

元组元素个数与变量个数相等
1
2
3
4
5
6
##定义一个元组
t3 = (1,2,3)
##将元组赋值给变量a,b,c
a,b,c = t3
##打印a,b,c
print(a, b,c)

在这里插入图片描述

元组元素个数与变量个数不相等
1
2
3
4
5
6
##定义一个元组,包含5个元素
t4 = (1,2,3,4,5)
##将t4 [0] , t4 [1]分别赋值给a, b;其余的元素装包后赋值给c
a,b,*C = t4
print(a,b,c) .
print(c)

在这里插入图片描述

Dict(字典)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
## 定义一个空字典
dict1={}

## 定义一个字典的同时,进行初始化
dict2 = {'name': '杨超越', 'weight' :45, 'age':25}
brint(dict2['name'] )

## 定义一个字典,之后添加元素
dict4 = {}
dict4['name'] = '虞书欣
dict4 ['weight'] = 43
print(dict4)

## 修改字典元素
dict4[ 'weight'] = 44
print (dict4)

字典里的相关函数

items()

取出字典的键和值

1
2
3
4
5
dict5 = {'杨超越' :165, '虞书欣' :166,'上官喜爱' :164}
print(dict5. items())
for key,value in dict5. items():
if value > 165:
print(key)

在这里插入图片描述

keys()

取出字典键的序列

1
2
names = dict5.keys()
print(names)

在这里插入图片描述

values()

取出字典的值

1
2
3
4
5
6
##求小姐姐的平均身高
heights = dict5. va lues()
print ( heights)
total = sum(heights)
avg = total/len(heights)
print (avg)

在这里插入图片描述

字典删除

del()/pop()

1
2
3
dict6 = {'杨超越' :165, '虞书欣' :166,'上官喜爱':164}
del dict6 ['杨超越']
print(ldict6)

在这里插入图片描述

1
2
3
result = d1ct6.pop( '虞书欣' )
print ( result)
print(dict6)

在这里插入图片描述

类(class)

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
class Animal:
def_ init__ (self, name) :
self. name = name
print( '动物名称实例化' )
def eat(self):
print(self. name +' 要吃东西啦!')
def drink(self):
print(self. name +' 要喝水啦!')
cat =Animal( 'miaomiao' )
print (cat.name)
cat.eat( )
cat.drink( )

定义一个类Animals:
(1)_ init( )_ 定义构造函数,与其他面向对象语言不同的是, Python语言中,会明确地把代表自身实例的self作为第一个参数传入
(2)创建一个实例化对象cat , init()方法接收参数
(3)使用点号.来访问对象的属性。

json序列化和反序列化

轻量级的数据交换格式

JSON序列化

json.dumps用于将Python对象编码成JSON字符串。

1
2
3
4
5
6
import json
data=[{'b':2,'d':4,'a':1,'c':3'e':5}]
## json = json. dumps ( data )
## print(json)
json_ format = json. dumps(data, sort_ keys=True, indent=4, separators=(',',':')
print(json_ format)

在这里插入图片描述

JSON反序列化

json.loads 用于解码JSON数据。该函数返回Python字段的数据类型。

1
2
3
4
import json
jsonData = '{"a":1, "b":2,"c":3,"d":4,"e":5}'
text = json.loads (jsonData)
print(text)

Python异常处理

try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
fnaly中的内容,退出try时总会执行。
在这里插入图片描述
在这里插入图片描述


Author: BvxiE
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source BvxiE !
  TOC