Python学习-基础介绍

  • Python基本语法介绍
    • 变量
    • 数据类型
    • 列表 list
      • 添加
      • 删除
      • 统计分析
      • 切片器
    • set 集合
      • 添加
  • 判断是否存在
  • 删除
    • 数组 array
    • 运算符
    • 控制语句
      • if/else
      • for循环
      • while
  • 异常处理
  • 文件操作
  • 模块
  • 剩余参数/参数元组/参数字典
  • 装饰器
  • 使用Python做数据分析

Python基本语法介绍

变量

Python中的变量不需要声明,直接赋值即可。变量的类型会根据赋值自动确定。

a = 1
b = "hello"
c = True

数据类型

Python中数据类型:

  • int 整型
  • float 浮点型
  • str 字符串
  • bool 布尔型
  • list 列表
  • tuple 元组
  • dictionary 字典
  • set 集合

还有通过numpy库引入的类array数组类型。
类型会根据初始值自动推断而无须手动声明,反之若是没有初始值则需要手动声明。

num = 1  # 整型
_num: int = 1  # 以上等同
type(num) # 获取数据类型
flo = 1.0  # 浮点型
_flo: float = 1.0  # 以上等同
str = "hello"  # 字符串
_str: str = "hello"  # 以上等同
is_true = True  # 布尔型
_is_true: bool = True  # 以上等同
the_tuple = (1, 2, 3)  # 元组,与列表的区别在于元组是只读类型,长度固定,元素不可修改,常用于函数多返回值和将静态资源缓存在内存中使用
_the_tuple: tuple[int, ...] = (1, 2, 3)  # 以上等同
the_dictionary = {"name": "Tom", "age": 18}  # 字典
_the_dictionary: dictionary = {"name": "Tom", "age": 18}  # 以上等同

列表 list

列表不是数组,列表每一项都可以是不同类型的值,而数组是都为同类项,且需要另外导入库才能使用的。

添加

添加3到末尾:

list = [1]
list.append(3)

添加可迭代对象到末尾,方便一次性添加多个元素:

list = [1]
list.extend([4, False])

插入字符串元素"10"到索引1位置:

list = [1, 2, 3]
list.insert(1, "10")

删除

从列表删除指定字符串元素"10":

list = [1, "10", 2, 3]
del list["10"]

从列表删除指定索引1位置的元素,若不指定索引值则默认删除最后一个:

list = [1, 2, 3]
list.pop(1)

从列表删除第一个出现的元素3:

list = [1, 2, 3, 3]
list.remove(3)

统计分析

返回列表长度:

list = [1, 2, 3]
len(list)

统计元素3出现次数:

list = [1, 2, 3, 3]
list.count(3)

以下是数值型列表可用:

list = [1, 2, 3, 3]
min(list) # 求最小值
max(list) # 求最大值
sum(list) # 求和

切片器

切片器语法方便对列表/元组/数组进行索引与数量的筛选返回新切片列表。
语法是list[startindex:endindex:sort],可以只加冒号而不填具体数值。
多维则使用逗号区分行列list[r_startindex,c_startindex:r_endindex,c_endindex:sort]
返回列表索引1开始,到3之前的元素列表(包头不包尾,索引1所在的元素会被包含在切片里,而索引3所在的元素不会被放入切片):

list = [1, 2, 3, 5, 7, 10, 30]
sub_list = list[1:3]

返回最后三个元素的列表切片:

list = [1, 2, 3, 5, 7, 10, 30]
sub_list_last = list[-3:]

返回反转整个列表的切片:

list = [1, 2, 3, 5, 7, 10, 30]
sub_list_reverse = list[::-1]

set 集合

set集合代表是不可重复的变量集合,例如不能同时存储两个1,但集合不一定有序。

the_set = {"joker", "king", "queen"} # set 无重复集合
_the_set: set = {"joker", "king", "queen"} # 以上等同

添加

添加新数据,可以是单个元素或者元组

the_set = {}
the_set.add("kiva")

添加一组数据,可以是元组、列表、字典等,如果添加字符串会自动拆分成多个单独字符

the_set = {}
list1 = [1, 2, 3]
the_set.update(list1)

判断是否存在

if "king" in the_set:print("it's in.")

删除

删除数据,若数据不存在则报错

the_set = {}
the_set.remove("joker")

删除数据,但即使数据不存在也不报错

the_set = {}
the_set.discard("joker")

删除最后添加的数据

the_set = {"joker", "queen"}
the_set.add("king")
the_set.pop()

清空数据

the_set = {"joker", "queen", "king"}
the_set.clear()

数组 array

python本身没有数组类型,需要借助第三方库numpy使用,学习python一般就是用于人工智能数据分析,而数据分析就需要使用numpy库中的众多方法。
其中array方法非常像其他开发语言所使用的数组,也支持索引index、索引值index_key、多维特性,也能与list列表、tuple元组、diconary字典互相转化等

import numpy as nplist = [4, 5, 6]
arr = np.array(list) # 列表转数组
list2 = arr.tolist() # 数组转列表
arr.append(3)  # 采用append添加新数据
arr.count(3)  # 获取元素3出现的次数
arr.extend([4, 5])  # 添加可迭代对象到数组
arr.index(2)  # 获取元素2所在的首个索引
arr.insert(1, 10)  # 插入元素10到索引1位置
arr.pop(1)  # 删除指定索引的元素
arr.remove(3)  # 删除首个出现的指定元素
arr.reverse()  # 反转数组

运算符

Python中常见的运算符有算术运算符、比较运算符、逻辑运算符等。

a = 1 + 2  # 加法运算
b = 3 - 2  # 减法运算
c = 2 * 3  # 乘法运算
d = 4 / 2  # 除法运算
e = 5 % 2  # 取模运算
f = 2 ** 3  # 幂运算
g = 3 > 2  # 大于运算
h = 3 == 2  # 等于运算
i = not True  # 非运算
j = True and False  # 与运算
k = True or False  # 或运算

控制语句

Python中常见的控制语句有if语句、for循环、while循环等。

if/else

# if语句
if a > b:print("a > b")
elif a == b:print("a == b")
else:print("a < b")

for循环

e = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in e:print(i)

注意内部块无法直接修改外部块变量的值,因为会被当作是定义新值

a = 1
for i in range(10):a = a + i
print(a)

这里a依旧等于1,因为for循环里的a会被当作是重新声明的内部变量,a+i一直是赋值给内部变量a,而不是外部变量a。
解决方式是使用类属性或者自加运算:

a = 1
for i in range(10):

while

condition = True
while condition:
# do something

Python中使用def关键字定义函数,函数可以接受参数,也可以返回值。

def add(a, b):return a + bresult = add(1, 2)
print(result)

class关键字用于定义类,类可以包含独有的属性和方法,并根据参数生成不同的实例来使用。
其中类构造器使用指定方法名__init__进行定义,成员方法直接定义,静态方法则需要加上装饰器staticmethod声明

class Person:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print("Hello, my name is", self.name)@staticmethoddef print():print("hello, this is class Person.")p = Person("Tom", 18)
Person.print()
p.say_hello()

异常处理

Python中可以使用try…except…finally语句来处理异常。

try:
# do something
except Exception as e:
# handle exception
finally:
# do something finally

文件操作

Python中可以使用open函数来打开文件,使用with语句在内部块执行文件操作,可以自动关闭文件。

with open("file.txt", "r") as f:content = f.read()print(content)

模块

Python中可以使用import语句来导入模块,也可以使用from…import语句来导入模块中的指定内容。

import math
from cmd import Cmdresult = math.sqrt(2)
print(result)from datetime import datetimenow = datetime.now()
print(now)
cmd = Cmd(now)

剩余参数/参数元组/参数字典

用星号加变量名*args和双星号加变量名**kwargs可以创建位置参数元组和关键字参数字典

# 此处的星号*表示将所有参数收入args作为元组
def sayhello(*args):# 可以不展开直接使用,类型将是元组,参数数量只有一位print(args)# 此处的星号*表示将所有参数展开填入作为实参,参数数量根据实际而定,print(*args)# 此处的双星号**表示将所有参数收入kwargs作为字典,带有变量名和变量值
def saybai(**kwargs):for key in kwargs:print(key, kwargs[key])def main():list = ["mimi", "jiji", "kuuga", "mandala"]sayhello(*list)sayhello("mimi", "jiji", "kuuga", "mandala")saybai(mimi="再见", jiji="See you", kunga="Sa yo na la", mandala="hen")

装饰器

装饰器的用法与大部分开发语言一样,是作为一个寄生方式尝试去接管被装饰的对象(类、函数)的前后状态。

def decorater(func):print("define decorate!!!")def wrap(*args):print("prev decorating!!!")result = func(*args)print("next decorating:" + result)return resultreturn wrap@decorater
def handler(a, b) -> int:return a * 2 + b

使用Python做数据分析

参考来源:

  • 数据分析之工具库numpy和pandas
  • 数据分析之可视化库matplotlib
  • 数据分析案例实践

Python学习-基础介绍相关推荐

  1. 第1节--深度学习基础介绍-机器学习--课程介绍(上)

    本课程为麦子学院彭亮老师讲授的(深度学习基础介绍-机器学习),共28小节. 彭亮在麦子学院还有两门课,一门是Python语言编程基础,另一门是深度学习进阶:算法与应用. 建议三门课的学习顺序为:Pyt ...

  2. 第2节--深度学习基础介绍-机器学习--课程介绍(下)

    接第1节–深度学习基础介绍-机器学习–课程介绍(上) 4.Demo - 微软实时语音翻译(一个说英语的人,系统模拟说话人的声音实时说出对应的汉语)- Google无人车送盲人去超市购物- Google ...

  3. Python学习路线介绍

    首先介绍一下Python学习的路线规划 1.Linux基本的操作计算机网络的基本理解 2.Python基础的讲解 3.Python网络编程 4.Web编程基础 5.MySQL 6.Django构架 7 ...

  4. [转载] python学习-基础教程、深度学习

    参考链接: 在Python中使用NLTK对停用词进行语音标记 人工智能学习线路图 Python教程 Python 教程Python 简介Python 环境搭建Python 中文编码Python 基础语 ...

  5. Python学习--工具介绍

    Python学习入门–工具介绍 工欲善其事,必先利其器 在上一篇文章里我们介绍了Python的环境搭建,这篇文章给大家介绍几个用于编写python的工具(Windows平台). IDLE 当我们安装完 ...

  6. Python学习基础必备知识点:字典dict详解

    取键值 1.Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None. get() 和 setde ...

  7. Python 学习 --- 基础知识

    第一章 1.python于1989年底由范.罗萨姆始创.是一种面向对象的解释型语言. 第二章 python起步 1.输出语句print. print和%结合使用,实现字符串的替换,与C语言中的prti ...

  8. Python学习-基础篇14 Web框架本质及第一个Django实例

    Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...

  9. Python学习基础方便查询

    本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...

最新文章

  1. 编译问题收集、汇总与积累
  2. 移动端字体单位该使用px还是rem?
  3. VSS(2005)中如何强行签入文件
  4. js中document.write()使用方法
  5. ubuntu和linux服务器,Linux服务器系统CentOS和Ubuntu Server如何选择? | 偶乃秋辰
  6. Android开发笔记(一百一十)使用http框架上传文件
  7. php 微信扫码给红包,关于现金红包的详细介绍
  8. 计算机游戏攻略67,保卫萝卜2 67攻略水晶萝卜详解
  9. 用mysql制作一个登录_连接数据库制作一个简单的登入页面1
  10. Linux之常用操作命令总结二
  11. AS--创建项目(慢)和打开项目(慢)等需要注意的问题
  12. 软件测试处理事物一般步骤,软件设计师考试题型分析及解法经验
  13. 2022-04-13 分布式任务调度Quartz
  14. 防止FPGA设计中综合后的信号被优化
  15. 湖南文理学院第十六届程序设计竞赛_题解
  16. 洛谷 [P1593 因子和] {快速幂+费马小定理求逆元+求解质因子} 奋斗的珂珂~
  17. ❤️再也不用担心PPT模板下载问题,python爬虫 PPT模板批量下载❤️
  18. 网站推行:外链建设需求留意什么?
  19. Centos 单节点部署 Elasticsearch
  20. 正则表达式——简单校验字符串

热门文章

  1. python-list对象内置方法
  2. php fopen函数失败,php fopen函数返回false
  3. linux系统能运行广联达吗,广联达能在苹果电脑的系统下运行吗
  4. 科大讯飞版ChatGPT,厉害了!
  5. tomcat服务器启动不成功解决办法,详解,手把手教程
  6. 如何使用EXCEL表格绘制次坐标轴折线图
  7. 领导让你即兴讲两句?别愁!【讲话框架】学起来~
  8. android自定义横线,Android实现自带横线的EditText
  9. qtcanpool 知 04:主题之争
  10. 王明利博士:CGF技术在丰胸上的特色