Python基础(入门)

一、深度学习框架

在这里插入图片描述

二、GitHub

在这里插入图片描述
在这里插入图片描述
如何使用GitHub?
在这里插入图片描述

三、pyhton

1、字符型

'''字符型'''
	# 字符串是以''或者""括起来的任意文本
    s = 'abc'
    print(s)
    print(len(s))
    # \表示是一个转义字符
    print('I\'m \"OK\"')

    a = 'hello'
    b = 'world'
    c = a+' like '+b
    print(c)

    d = 'a:{},b:{}'.format(23,24)
    print(d)

    # 字符串其他的实用方法
    s = 'hello'
    print(s.capitalize()) # 字符串首字母变成大写
    print(s.upper()) # 字符串全部变成大写
    print(s.rjust(7))
    print(s.center(7))
    print(s.replace('e','a')) # 将字符串中的e替换成a
    print(' world   '.strip()) # 移除字符串前面和后面的空格

在这里插入图片描述
字符串的其他方法

2、布尔值

'''布尔值'''
    t = True
    f = False
    print(type(t))

    print(t and f) # 与
    print(t or f) # 或
    print(t != f) # 非

在这里插入图片描述

3、容器

python中有几种容器的类型,列表,字典,集合,元组。

列表

列表是python中常见的容器,可以看做一个序列,序列中的每个元素都可以修改,且可以是不同的数据类型,同时序列的长度也能够进行修改。

 # 1、列表
    xs = [3,1,2] # 创建一个序列
    print(xs,xs[2]) # 打印出完整序列和序列中的第3个元素
    print(xs[-1]) # 打印出序列的最后一个元素
    xs[2] = 'foo' # 将序列中的第三个元素进行重新赋值
    print(xs)
    xs.append('bar') # 在列表的最后加一个新的元素
    print(xs)
    x = xs.pop() # 移除列表的最后一个元素 ,同时将这个元素返回到一个变量中
    print(x,xs)

在这里插入图片描述
列表的其他方法
采用不同的方式访问列表元素。
(1)索引

# 用索引的方式访问列表
    L = [
        ['Apple','Google','Microsoft'],
        ['Java','Pyhton','Riby','PHP'],
        ['Adam','Bart','Lisa']
    ]
    print(L[0][0])
    print(L[1][1])
    print(L[2][2])

在这里插入图片描述
(2)切片

# 用切片的方式访问列表
    nums = [0,1,2,3,4]
    print(nums)
    print(nums[2:4]) # 得到一个切片,下标从24,但是不包括4
    print(nums[2:]) # 得到一个切片,下标从2到列表结束
    print(nums[:2]) # 得到一个切片,下标从开始到2,不包括2
    print(nums[:]) # 得到整个列表的元素
    print(nums[:-1]) # 得到一个切片,下标从开始到最后一个元素,但是不包括最后一个元素
    print(nums[:2]+nums[3:]) # 从列表中取出[0,1,3,4]
    nums[2:4] = [8,9] # 将列表中下标从24(不包括4)的切片替换成新的元素
    print(nums)

在这里插入图片描述
(3)循环

# 用循环的方式访问列表
    animals = ['cat','dog','monkey']
    for animal in animals:
        print(animal)

    # 如果想要读取每个元素的下标,通过调用内置函数enumerate来实现
    animals = ['cat','dog','monkey']
    for idx,animal in enumerate(animals):
        print('#{}:{}'.format(idx+1,animal))

    # 如果需要改变列表中元素的值,可以通过循环遍历去访问每一个元素,然后进行修改
    nums = [0,1,2,3,4]
    squares = []
    for x in nums:
        squares.append(x**2)
    print(squares)

    # 采用高级的列表循环方式,避免创建一个空列表
    nums = [0,1,2,3,4]
    squares = [x**2 for x in nums]
    print(squares)

在这里插入图片描述
小练习

# 小练习---1+2+...+100的结果
    total = 0
    for i in range(101):
        total += i
    print(total)

在这里插入图片描述

集合

集合里面的元素没有顺序关系,同时里面也没有重复的元素。

# 2、集合
    animals = {'cat','dog'}
    print('cat' in animals) # 验证该元素是否在集合中
    print('fish' in animals)
    animals.add('fish') # 在集合里面添加元素
    print('fish' in animals)
    print(len(animals)) # 打印出集合的元素的个数
    animals.add('cat')
    print(len(animals))
    animals.remove('cat') # 从集合里面移除某个元素
    print(len(animals))

在这里插入图片描述
集合的其他方法

字典

字典里面存的都是数据对,这些数据都是以(key,value)的形式存在,且存在映射关系了。

# 3、字典
    d = {'cat':'cute','dog':'furry'}
    print(d['cat'])
    print('cat' in d)

    d['fish'] = 'wet'
    print(d['fish'])

    print(d.get('monkey','N/A')) # 如果元素在字典的key中,返回其对应的值,否则返回get中的值
    print(d.get('fish','N/A'))

    del d['fish'] # 从字典中移除某个元素
    print(d.get('fish','N/A')) # fish被移除之后,不能显示出wet

    print(d['pig'])

在这里插入图片描述

元组

一个元组和列表类似,但是元组是无法改变的。同时一个最大的不同就是元组可以作为字典中的key,而列表不可以。

# 4、元组
    d = {(x,x+1): x for x in range(10)} # 使用元组构造一个字典
    t = (5,6) # 创建一个元组
    print(type(t)) # 打印出元组的类型
    print(d[t]) # 打印出字典中对应于(56)的元素
    print(d[(1,2)]) # 打印出字典中对应于(12)的元素
    print(d) # 打印出整个字典

在这里插入图片描述
元组的其他方法

4、函数

函数通过def来定义,将一些重复使用的操作封装在一起,每次不需要重复写相同的代码,只需要调用函数就可以。

'''函数'''
    def sign(x):
        if x > 0:
            return 'positive'
        elif x < 0:
            return 'negative'
        else:
            return 'zero'

    for x in [-1,0,1]:
        print(sign(x))

在这里插入图片描述
函数的其他信息
小练习

# 小练习---写一个函数,传入x,返回他的绝对值
    def abs_fun(x):
        if x >= 0:
            return x
        else:
            return -x

    print(abs_fun(-3))
    print(abs_fun(2))

在这里插入图片描述

5、类

类和实例是面向对象中的重要的概念,必须牢记类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。

    '''类'''
    class Student(object):
        def __init__(self,name,score):
            self.name = name
            self.score = score

        def print_score(self):
            print('{}:{}'.format(self.name,self.score))

        # 给这个类增加一个函数(Method),使得这个函数能够输出学生的等级
        def get_grade(self):
            '''
            90分以上是A,60-90分是B,60分以下是C
            :return:
            '''
            if self.score >= 90:
                return 'A'
            elif self.score >=60:
                return 'B'
            else:
                return 'C'

    a = Student('mike', 99)
    b = Student('lisa', 80)

    a.print_score()
    b.print_score()

    a_grade = a.get_grade()
    print(a_grade)
    b_grade = b.get_grade()
    print(b_grade)

在这里插入图片描述
类的其他信息

四、Numpy基础

1、数组

数组就是一个任意维度的矩阵,数组的维度就是矩阵的秩,数组内部的数据类型和python的数据类型是一致的。
NumPy中的维度(dimension)、轴(axis)、秩(rank)的含义

'''数组'''
    import numpy as np

    a = np.array([1,2,3]) # 创建一个一维数组
    print(type(a)) # 打印出元素类型
    print(a.dtype)
    print(a.shape) # 打印出元素的维度

    print(a[0],a[1],a[2]) # 访问数组中元素
    a[0] = 5 # 改变元素中某个位置的值
    print(a)

    b = np.array([[1,2,3],[4,5,6]]) # 创建一个二维数组
    print(b.shape) # 打印出数组的维度
    print(b[0,0],b[0,1],b[1,0]) # 访问其中的元素

在这里插入图片描述

2、数组索引

Numpy也支持多种类型的数据索引,比如切片,整数值索引和布尔值索引。

'''数组索引'''
    import numpy as np
    a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
    print(a)

    b = a[:2,1:3] # 切片索引
    print(b)

    row_r1 = a[1,:] # 切片索引
    print(row_r1)

    print(a[0,0],a[1,1]) # 整数索引
    bool_idx = a > 6
    print(bool_idx)
    print(a[bool_idx])

在这里插入图片描述

3、数学计算

'''数学计算'''
    import numpy as np

    x = np.array([[1,2],[3,4]],dtype=np.float64)
    y = np.array([[5,6],[7,8]],dtype=np.float64)

    print(x)
    print(y)

    print(x+y)
    print(x*y)
    print(x/y)
    print(np.dot(x,y)) # 矩阵乘法

    print('*'*50)

    x = np.array([[1,2],[3,4]])
    print(x)

    print(np.sum(x))
    print(np.sum(x,axis=0)) # 对行求和
    print(np.sum(x,axis=1)) # 对列求和

在这里插入图片描述
其他的numpy函数

五、Matplotlib

import numpy as np
    import matplotlib.pyplot as plt

    x = np.arange(0,8,0.1)
    y = np.sin(x)

    plt.plot(x,y)
    plt.show()

在这里插入图片描述

相关参考

  1. 李沐动手学深度-花书
  2. 课程材料
  3. 互动论坛
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值