基础讲解 01"/>
python基础讲解 01
人工智能学习基础
- 数据类型
- Number
- 随机生成一个[0,1)范围的实数
- 随机生成一个[1,20)范围内的整数
- 补
- String(字符串)
- 字符串连接
- 使用join运算符
- List(列表)
- 列表查询
- 列表添加
- `append():`在列表的末尾追加元素
- `extend:`合并列表
- `insert:`在指定位置添加
- 列表修改
- 修改指定元素
- 将fruits列表中的'香蕉'替换为'banana'
- 列表删除
- 列表切片
- 列表排序
- Tuple(元组)
- 列表转元组
- 元组截取(切片)
- 元组中的函数
- 元组的拆包和装包
- 元组元素个数与变量个数相等
- 元组元素个数与变量个数不相等
- Dict(字典)
- 字典里的相关函数
- items()
- keys()
- values()
- 字典删除
- 类(class)
- json序列化和反序列化
- JSON序列化
- JSON反序列化
- Python异常处理
由于没有书,利用博客对于Python的学习内容进行简要的记录!(应该是菁(jing 不要问我为什么标,问就是我文盲)英班,过太久想不起来了(这段时间的文章,大概我都想不起来,放太久没发),混个小礼品,还有两本书)咳咳,知识无价,我爱学习!(我话改了)
我又回来了,做题的时候发现Python编写的代码很简洁。
数据类型
Number
Python中的Number数据类型用于储存数值,包括整形,长整型,浮点型,复数
python中数学运算常用的函数基本都在math模块
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()
模块
import random
ran = random.random()
print(ran)
随机生成一个[1,20)范围内的整数
ran = random.randint(1,20)
print(ran)
补
当时用random.seed(x)
设定好种子以后,random()
生成的随机数将会是同一个。
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中的字符串可以使用单引号,双引号,三引号(三个单引号或三个双引号)括起来,使用反斜杠\ 转义特殊字符。
print('Hello World!') print(" The \t is a tab")
print("Hello World!") print('I\'m going to the movies')
单引号和双引号是等效的,如果要换行,那么需要使用符号()。单引号里面不能再加单引号,但是可以加 \ 或者是双引号进行转义输出。双引号里面不能再加双引号,但是可以加 \ 或者是单引号进行转义输出。
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)
字符串连接
使用+运算符
str1 = "hello"
ste2 = "wdrld"
print(str1+str2)
使用join运算符
new_str = '_',join('Hello')
# 在字符串各个字母之间进行穿插
print(new_str)
List(列表)
# 声明一个列表
names=['jack','tom','tom','tonney','superman','jay']
# 通过下标或索引获取元素
print(name[0])
print(name[1])
#前提有五个元素的列表,对应前面# 获取最后一个元素
print(names[-1])
print(names[len(names)-1])
# 访问第一个元素
print(names[-5])
列表查询
依次遍历列表中的元素
#查询names列表里面有没有“superman”
flag=0
for name in names:if name=="superman"print("有超人")flag=1breakif flag==0:print("无超人")
使用in关键字去判断
if "superman" in names:print("有超人")
else:print("无超人")
列表添加
append():
在列表的末尾追加元素
# 声明一个空的列表
girls=[]
# append()末尾追加
girls.append('杨超越')
# 输出列表
print(girls)
extend:
合并列表
models=['刘雯','奚梦瑶']
girls.extend(models)
#girls=girls+models
print(girls)
insert:
在指定位置添加
girls.insert(1,虞书欣)
print(girls)
列表修改
修改指定元素
fruits=['apple','pear','香蕉','pineapple','草莓']print(fruits)fruits[-1]='strawberry'print(fruits)
将fruits列表中的’香蕉’替换为’banana’
for i in rang(len(fruits)):if "香蕉" in fruits[i]:fruits[i]='banana'breakprint(fruits)
列表删除
del()/pop()
:可以传入删除位置的索引
words=['cat','hello','pencil','ruler']
del words[1]
print(words)
words=['cat','hello','pencil','ruler']
words.pop(1)
print(words)
remove()
:传入需要删除元素的值
words=['cat','hello','pencil','ruler']
words.remove('cat')
print(words)
列表切片
[ ]中设置要使用的第一个元素和最后一个元素的索引
牢记:左闭右开(不包含右的那个)
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个不同的随机数,存至列表中,并进行排序
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(元组)
与列表相似,区别是元组中的元素不可修改
定义一个元组, 注意:元组中只有个元素时,需要在后面加逗号
第二个没有加逗号,被识别为字符串的类型,不是元组
列表转元组
元组具有不能的特性,作为容器的元组,通过列表转元组的方式存放元组
# 定义一个列表
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)
元组截取(切片)
print( random_ tuple)
print ( random_ _tuple[0])
print(random_ _tuple[-1] )
print( random_ tuple[1:-3])
print(random_ tuple[::-1])
元组中的函数
print (max( random_ tuple)) #最大值
print(min( random_ tuple)) #最小值
print( sum( random_ tuple)) #元素对象的和
print(len( random_ tuple) ) #元素对象的数量
元组的拆包和装包
元组元素个数与变量个数相等
#定义一个元组
t3 = (1,2,3)
#将元组赋值给变量a,b,c
a,b,c = t3
#打印a,b,c
print(a, b,c)
元组元素个数与变量个数不相等
#定义一个元组,包含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(字典)
# 定义一个空字典
dict1={}# 定义一个字典的同时,进行初始化
dict2 = {'name': '杨超越', 'weight' :45, 'age':25}
brint(dict2['name'] )# 定义一个字典,之后添加元素
dict4 = {}
dict4['name'] = '虞书欣
dict4 ['weight'] = 43
print(dict4)# 修改字典元素
dict4[ 'weight'] = 44
print (dict4)
字典里的相关函数
items()
取出字典的键和值
dict5 = {'杨超越' :165, '虞书欣' :166,'上官喜爱' :164}
print(dict5. items())
for key,value in dict5. items():if value > 165:print(key)
keys()
取出字典键的序列
names = dict5.keys()
print(names)
values()
取出字典的值
#求小姐姐的平均身高
heights = dict5. va lues()
print ( heights)
total = sum(heights)
avg = total/len(heights)
print (avg)
字典删除
del()/pop()
dict6 = {'杨超越' :165, '虞书欣' :166,'上官喜爱':164}
del dict6 ['杨超越']
print(ldict6)
result = d1ct6.pop( '虞书欣' )
print ( result)
print(dict6)
类(class)
class Animal:def_ init__ (self, name) :self. name = nameprint( '动物名称实例化' )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字符串。
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字段的数据类型。
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时总会执行。
更多推荐
python基础讲解 01
发布评论