python基础知识

文章目录

    • 1、为什么选择python
    • 2、python的优点
    • 3、python的典型应用
    • 4、python数据结构
        • 数字( Number)
        • 字符串( String)
        • 列表( List)
        • 元组( Tuple)
        • 字典( Dict)
        • 类( Class)
        • JSON序列化与反序列化
    • 5、数据分析四剑客
    • 6、引用

1、为什么选择python

研究AI非常难,需要数学、编程、机器学习的基础, 但是使用AI却很简单。 Python最大的优势,就是它非常接近自然语言,易于阅读理解,编程更加简单直接,更加适合初学者。人工智能和Python互相之间成就者对方,人工智能算法促进Python的发展,而Python也让算法更加简单。
python基础知识_第1张图片

2、python的优点

Python的设计混合了传统语言的软件工程的特点和脚本语言的易用性,
具有如下特性:
python基础知识_第2张图片

3、python的典型应用

python基础知识_第3张图片

4、python数据结构

数字( Number)

# Python Number 数据类型用于存储数值,包括整型、长整型、浮点型、复数
# Python 中数学运算常用的函数基本都在 math 模块
import math
print(math.ceil(4.1)) #返回数字的上入整数
print(math.floor(4.9)) #返回数字的下舍整数
print(math.fabs(-10)) #返回数字的绝对值
print(math.sqrt(9)) #返回数字的平方根
print(math.exp(1)) #返回e的x次幂

# python中随机数
import random
# 随机生成一个 [0,1)范围内的实数
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())

结果:
python基础知识_第4张图片

字符串( String)

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

print('hello world')
print("hello world")

print("The \t is a tab")
print("I\'m going to the movies")

print('''I'm going to the movies''')

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

print(words)

# 字符串拼接
str1 = "hello "
str2 = "world"
print(str1+str2)

# 使用join运算符
new_str = '__'.join('hello')
print(new_str)

结果:
python基础知识_第5张图片

列表( List)

# 声明一个列表,并使用下标访问元素
# 声明一个列表
names = ['cat','dog','pig','fish','bird']

# 通过下标或索引获得元素
print(names[0])
print(names[1])

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

# 访问第一个元素
print(names[-5])

# 列表查询
# 查询names列表里有没有'fish'的元素
flag = 0
for name in names:
    if name == 'fish':
        print("有")
        flag = 1
        break
if flag == 0:
    print("没有")

# 一个更简单的方法
if "fish" in names:
    print("有")
else:
    print("没有")

# 列表添加
# append():在列表末尾追加元素

# 声明一个空列表
girls = []

# append(),末尾追加
girls.append('杨超越')
print(girls)

# extend():合并列表
models =['刘雯','奚梦瑶']
girls.extend(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 range(len(fruits)):
    if '香蕉' in fruits[i]:
        fruits[i] = 'banana'
        break
print(fruits)

# 列表删除
# del()
words = ['cat','hello','pen','pencil','ruler']
del words[1]
print(words)

# remove()
words = ['cat','hello','pen','pencil','ruler']
words.remove('cat')
print(words)

# pop()
words = ['cat','hello','pen','pencil','ruler']
words.pop(1)
print(words)

# 元素 | cat | dog | tiger | snake | mouse | bird |
# 正向 |  0  |  1  |   2   |   3   |   4   |   5  |
# 反向 | -6  | -5  |  -4   |  -3   |  -2   |  -1  |

animals = ['cat','dog','tiger','snake','mouse','bird']
print(animals[2:5])
print(animals[-1:])
print(animals[-3:-1])
print(animals[::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)

结果:
python基础知识_第6张图片

元组( Tuple)

# 与列表类似,区别是元组中的内容不可修改
# 定义一个元组, 注意:元组中只有一个元素时,需要在后面加逗号
tuple1 = ()
print(type(tuple1))

tuple2 = ('hello')
print(type(tuple2))

tuple3 = ('hello',)
print(type(tuple3))

# 列表转元组
# 元组不能修改,所以不存在往元组里加入元素。作为容器的元组,如何存放元素?
import random
random_list = []
for i in range(10):
    ran = random.randint(1,20)
    random_list.append(ran)
print(random_list)

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(t3)

# 元组元素个数与变量个数不相等:

# 定义一个元组,包含5个元素
t4 = (1,2,3,4,5)

# 将t4[0],t4[1]分别赋值给a,b;其余元素装包后赋值给c
a,b,*c = t4

print(a,b,c)
print(c)

结果:
python基础知识_第7张图片

字典( Dict)

# 定义一个空字典
dict1 = {}

# 定义一个字典的同时,进行初始化
dict2 = {'name':'杨超越','weight':45,'age':25}
print(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.values()
print(heights)
total = sum(heights)
print(total)
avg = total/len(heights)
print(avg)

# del
dict6 = {"杨超越":165,"虞书欣":166,"上官子怡":164}
del dict6['杨超越']
print(dict6) 

# pop()
result = dict6.pop('虞书欣')
print(result)
print(dict6)

结果:
python基础知识_第8张图片

类( Class)

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

'''
通过继承创建的新类称为子类或派生类,被
继承的类称为基类、父类或超类。
'''
class person:
    def __init__(self,name):
        self.name = name
        print("调用父类构造函数")

    def eat(self):
        print("调用父类方法")
    
class student(person): # 定义子类
    def __init__(self):
        print("调用子类构造方法")

    def study(self):
        print("调用子类方法")
    
s = student() # 实例化子类
s.study() # 调用子类方法
s.eat() # 调用父类方法

结果:
python基础知识_第9张图片

JSON序列化与反序列化

# JSON序列化: json.dumps 用于将 Python 对象编码成 JSON 字符串
import json
data = [{'b':2,'d':4,'a':1,'c':3,'e':5}]
json_format = json.dumps(data,sort_keys=True,indent=4,separators=(',',':'))
print(json_format)
        
# JSON反序列化: json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型
jsondata = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
text = json.loads(jsondata)
print(text)

结果:
python基础知识_第10张图片

5、数据分析四剑客

Python被大量应用在数据挖掘和深度学习领域,其中使用极其广泛的是Numpy、 Pandas、 Matplotlib、 PIL等库。

  • Numpy是Python科学计算库的基础,包含了强大的N维数组对象和向量运算。
  • Pandas是建立在Numpy基础上的高效数据分析处理库,是Python的重要数据分析库。

Numpy就是用来进行矩阵计算的,而Pandas则基于Numpy,丰富并简化了Numpy的操作。

  • Matplotlib是一个主要用于绘制二维图形的Python库。
    用途:绘图、可视化
    python基础知识_第11张图片
  • PIL库是一个具有强大图像处理能力的第三方库。
    用途:图像处理
    python基础知识_第12张图片

6、引用

人工智能导论与应用实践课程----百度飞桨

你可能感兴趣的:(python,开发语言,人工智能)