Python学习-基础介绍
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节--深度学习基础介绍-机器学习--课程介绍(上)
本课程为麦子学院彭亮老师讲授的(深度学习基础介绍-机器学习),共28小节. 彭亮在麦子学院还有两门课,一门是Python语言编程基础,另一门是深度学习进阶:算法与应用. 建议三门课的学习顺序为:Pyt ...
- 第2节--深度学习基础介绍-机器学习--课程介绍(下)
接第1节–深度学习基础介绍-机器学习–课程介绍(上) 4.Demo - 微软实时语音翻译(一个说英语的人,系统模拟说话人的声音实时说出对应的汉语)- Google无人车送盲人去超市购物- Google ...
- Python学习路线介绍
首先介绍一下Python学习的路线规划 1.Linux基本的操作计算机网络的基本理解 2.Python基础的讲解 3.Python网络编程 4.Web编程基础 5.MySQL 6.Django构架 7 ...
- [转载] python学习-基础教程、深度学习
参考链接: 在Python中使用NLTK对停用词进行语音标记 人工智能学习线路图 Python教程 Python 教程Python 简介Python 环境搭建Python 中文编码Python 基础语 ...
- Python学习--工具介绍
Python学习入门–工具介绍 工欲善其事,必先利其器 在上一篇文章里我们介绍了Python的环境搭建,这篇文章给大家介绍几个用于编写python的工具(Windows平台). IDLE 当我们安装完 ...
- Python学习基础必备知识点:字典dict详解
取键值 1.Python 字典 setdefault() 方法和 get() 方法类似,返回指定键的值,如果键不在字典中,将会添加键并将值设置为一个指定值,默认为None. get() 和 setde ...
- Python 学习 --- 基础知识
第一章 1.python于1989年底由范.罗萨姆始创.是一种面向对象的解释型语言. 第二章 python起步 1.输出语句print. print和%结合使用,实现字符串的替换,与C语言中的prti ...
- Python学习-基础篇14 Web框架本质及第一个Django实例
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- Python学习基础方便查询
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
最新文章
- 编译问题收集、汇总与积累
- 移动端字体单位该使用px还是rem?
- VSS(2005)中如何强行签入文件
- js中document.write()使用方法
- ubuntu和linux服务器,Linux服务器系统CentOS和Ubuntu Server如何选择? | 偶乃秋辰
- Android开发笔记(一百一十)使用http框架上传文件
- php 微信扫码给红包,关于现金红包的详细介绍
- 计算机游戏攻略67,保卫萝卜2 67攻略水晶萝卜详解
- 用mysql制作一个登录_连接数据库制作一个简单的登入页面1
- Linux之常用操作命令总结二
- AS--创建项目(慢)和打开项目(慢)等需要注意的问题
- 软件测试处理事物一般步骤,软件设计师考试题型分析及解法经验
- 2022-04-13 分布式任务调度Quartz
- 防止FPGA设计中综合后的信号被优化
- 湖南文理学院第十六届程序设计竞赛_题解
- 洛谷 [P1593 因子和] {快速幂+费马小定理求逆元+求解质因子} 奋斗的珂珂~
- ❤️再也不用担心PPT模板下载问题,python爬虫 PPT模板批量下载❤️
- 网站推行:外链建设需求留意什么?
- Centos 单节点部署 Elasticsearch
- 正则表达式——简单校验字符串