Python基础一

Python是一门简单的编程语言,适用于人工智能、web应用、爬虫程序、大数据等方面

一、Python语言特点

Python 是一种功能强大且流行的编程语言,具有许多特点,其中一些包括:

1. **易学易用**

        Python 的语法简洁清晰,类似于英语,易于学习和理解,使得初学者能够快速上手。

2. **开源和免费**:

        Python 是开源的,可以免费使用,而且有一个庞大的社区支持和贡献,提供了大量的库和工具。

3. **跨平台**:

        Python 可以在各种操作系统上运行,包括 Windows、MacOS 和各种 Linux 发行版,实现了跨平台的灵活性。

4. **面向对象**:

        Python 支持面向对象编程(OOP),允许开发者使用类和对象来组织和管理代码,提高了代码的重用性和可维护性。

5. **动态类型**:

        Python 是一种动态类型语言,不需要显式声明变量类型,可以在运行时自动推断变量类型,简化了代码编写过程。

6. **丰富的标准库**:

        Python 提供了丰富的标准库,涵盖了各种任务和功能,例如文件操作、网络通信、数据处理等,使得开发更加便捷。

7. **支持多种编程范式**:

        除了面向对象编程,Python 还支持函数式编程、过程式编程等多种编程范式,使得开发者有更多选择和灵活性。

8. **广泛应用**:

        Python 在数据科学、人工智能、Web 开发、自动化脚本等领域都有着广泛的应用,成为一种多功能的通用编程语言。

二、Python基础语法

        运算符

'''
算术运算符:
+ :加
- :减
* :乘
/ :除
//:整除(取商的整数部分)
% : 取模-返回除法的余数
**: 幂-返回x的y次方 x**y比较运算符(关系运算符):
==:等于
!=:不等于
>:大于
<:小于
>=:大于等于
<=:小于等于逻辑运算符:
and:与
or:或
not:非赋值运算符:
=:赋值
+=:加后赋值
-=:减后赋值
*=:乘后赋值
/=:除后赋值
//=:整除后赋值
%=:取模后赋值
**=:指数后赋值位运算符:
&:按位与
|:按位或
^:按位异或
~:按位取反
<<:左移
>>:右移成员运算符:
in:如果在指定的序列中找到值返回 True,否则返回 False
not in:如果在指定的序列中没有找到值返回 True,否则返回 False身份运算符:
is:判断两个标识符是不是引用自一个对象  类似于id(x) == id(y)
is not:判断两个标识符是不是引用自不同对象'''

        1、注释

                单行注释 以 #开头

                多行注释 以 '''注释内容''' 为标准 也可选择 """注释内容"""

                 

        2、print输出函数

           1)、  函数原型 :  

                values:表示要输出的值,每个值之间用 ‘ ,’隔开(逗号),输出结果默认每个值之间用空格隔开

                sep: 打印输出值时,多个值之间的间隔方式,默认为空格间隔,可以自定义

                end:打印输出完成之后的结束符号 默认换行('\n'),可设置'\t'等

                file :设置输出对象,即把print中的值打印到什么地方,默认输出到终端,可以设置file=文件储存对象,把内容存到文件中。

                flush :该参数主要是刷新,默认False,关闭再刷新,Ture为实时刷新。

              2)、基本用法

                

        输出结果:

        3、赋值

                在 Python 中,变量赋值是指将一个值存储在变量中。当你给变量赋值时,实际上就是在创建该变量并将一个特定的值与之关联起来。

                在 Python 中,变量的值是可以随时更改的,你可以在程序的执行过程中多次赋值给同一个变量,也可以修改变量的值。

                1)单个赋值

                        a = 1

                        b = 2

                        c = 3

                2)多个赋值

                        a = b = c = 4

                        a,b, c = 1, 2,3

        结果:

        4、input函数

               1、基本概念

                在 Python 中,`input()` 函数用于从用户(标准输入)处获取输入,并将用户输入的内容作为字符串返回。这个函数允许程序与用户进行交互,接收用户输入的数据,然后可以对这些数据进行处理和操作。

                2、基本语法:


 

                                   输出结果:

                

需要注意的是,input() 函数始终返回一个字符串类型的值,即使用户输入的是数字或其他类型的内容,程序也会将其作为字符串处理。如果需要将用户输入的内容转换为其他类型,如整数或浮点数,可以使用相应的类型转换函数(如 int()float())对用户输入进行转换。

           

三、标准数据类型   

        在 Python 中,标准数据类型指的是内置的基本数据类型,用于存储不同种类的数据。Python 的标准数据类型包括以下几种:

1. 数字(Numbers):用于存储数值数据,包括整数(int)、浮点数(float)、复数(complex)等。

2. 字符串(String):用于存储文本数据,以单引号、双引号或三引号括起来。

3. 列表(List):有序、可变的集合,可以存储多个元素,用方括号 `[ ]` 表示。

4. 元组(Tuple):有序、不可变的集合,可以存储多个元素,用圆括号 `( )` 表示。

5. 集合(Set):无序、可变的集合,不允许重复元素,用大括号 `{ }` 表示。

6. 字典(Dictionary):无序的键值对集合,用大括号 `{ }` 表示,每个元素包含一个键和对应的值。

7. 布尔值(Boolean):表示真(True)或假(False)的逻辑值。

8. 空值(None):表示空对象或空值。

        1、数字类型

        Numbers支持三种不同的数值类型 分别是整型(int)、浮点型(float)以及复数型(complex)

        1、整数(int)

        用于表示整数值,可以是正数、负数或零,例如:-5、0、100。

        2、浮点数(float)

        用于表示带有小数部分的数值,例如:3.14、-0.001、2.0。

        3、复数(complex)

        用于表示具有实部和虚部的复数,形式为 a + bj,其中 ab 分别表示实部和虚部的数值,例如:3+4j。

        数字类型的转换

              int(x):将 x 转换为整数类型。如果 x 是浮点数,则截取其整数部分并舍弃小数部分;如果 x 是字符串,则必须是表示整数的字符串,例如 "123",否则会抛出 ValueError 异常。     

    float(x):将 x 转换为浮点数类型。如果 x 是整数,则将其转换为浮点数;如果 x 是字符串,则必须是表示浮点数的字符串,例如 "3.14",否则会抛出 ValueError 异常。

    complex(x):将 x 转换为复数类型。如果 x 是整数或浮点数,则表示其实部,虚部为 0;如果 x 是形如 a+bj 的字符串,则解析出实部和虚部并返回相应的复数。

        数学函数

                应用示例

                输出结果

2、字符串类型(str/bytes)

        Python 有两种不同的字符串

        string:一个用于存储文本,文本字符串内部使用Unicode存储

        bytes :一个用于存储原始字节,字节字符串存储原始字节并显示ASCII ( 0-255 )

        1)切片

                切片是指对操作的对象截取其中一部分的操作。切片的语法∶[起始:结束:步长]特点∶左闭右开

        2)转换

   encode() 方法是用于将字符串转换为字节串(bytes 类型),并指定字符编码方式。它适用于处理字符串到字节串的转换。

    decode() 方法是用于将字节串(bytes 类型)转换为字符串,并指定字符编码方式。它适用于处理字节串到字符串的转换。

                         示例        

                             结果

        字符串函数

  1. len(s): 返回字符串 s 的长度。

  2. str.upper(): 将字符串转换为大写形式。

  3. str.lower(): 将字符串转换为小写形式。

  4. str.strip(): 去除字符串两端的空格或指定字符。

  5. str.replace(old, new): 将字符串中的指定子串 old 替换为新的子串 new。

  6. str.split(separator): 使用指定的分隔符将字符串分割成子串,并返回一个列表。

  7. str.find(substring): 在字符串中查找子串 substring,返回第一次出现的位置索引。

  8. str.startswith(prefix): 检查字符串是否以指定的前缀 prefix 开头,返回 True 或 False。

  9. str.endswith(suffix): 检查字符串是否以指定的后缀 suffix 结尾,返回 True 或 False。

  10. str.isnumeric(): 检查字符串是否只包含数字字符。



3、元组类型

        在 Python 中,元组(tuple)是一种不可变的数据类型,类似于列表,但元组中的元素不能被修改。元组使用圆括号 () 来表示,可以包含任意数量的元素,甚至可以包含不同类型的元素。

        1)创建元组

          # 创建一个空元组
                        empty_tuple = ()

           # 创建一个包含元素的元组
                        my_tuple = (1, 2, 3, 'a', 'b')

        2)访问元组元素

           # 使用索引访问元组元素
                        print(my_tuple[0])  # 输出 1
                        print(my_tuple[3])  # 输出 'a'

        3)元组切片

           # 切片操作
                        print(my_tuple[1:3])  # 输出 (2, 3)

        4)不可变性

            # 尝试修改元组中的元素会导致错误
                        my_tuple[0] = 100  # 会引发 TypeError: 'tuple' object does not support item assignment

        5)元组拆分

             # 元组拆包
                        a, b, c = my_tuple
                        print(a)  # 输出 1
                        print(b)  # 输出 2
                        print(c)  # 输出 3

        6)元组方法

            # 元组支持一些方法,如 count 和 index
                        my_tuple = (1, 2, 2, 3, 3, 3)
                        print(my_tuple.count(2))  # 输出 2,计算元素 2 在元组中出现的次数
                        print(my_tuple.index(3))  # 输出 3,返回元素 3 第一次出现的索引

4、列表类型

                在 Python 中,列表(list)是一种有序、可变的数据类型,用于存储多个元素。列表使用方括号 [] 来表示,可以包含任意数量的元素,甚至可以包含不同类型的元素。

        1)列表的定义、使用、切片、列表元素的增、删、改、查

'''
列表类型:  list 用[]标识,列表元素可以是任意的类型l1 = []  定义一个空列表
'''#列表的定义
l1 = [1, 2.1, "qeqw", {1:23, "name":"盲僧"}]   #定义一个非空列表l1
print(type(l1),l1)#列表元素的访问:  [索引],索引有正向和逆向索引
print("l1[0]:",l1[0], "l1[2]:",l1[2], "l1[-1]:",l1[-1])
#列表元素的索引切片   [start: stop: step) 左闭右开
print(l1[1: -1])#列表元素的修改: [index] = newValue
l1[0] = "hello"
print(l1[0])
l1[-1][1] = "血量"
print(l1[-1])l2 = [1,3,l1,"as",2.24]  #列表里面引用列表
print(l2)#列表元素新增 append(value)默认在末尾添加
l3 = []
l3.append(12)
l3.append("weqwe")
l3.append([122,23,2.12,"nak"])
print(l3)#添加连续的整数
l4 = []
#range(n)   产生0~(n-1)的数列
#range(start, stop) 产生[start, stop)之间的数列
#range(start, stop, step) 产生[start, stop)之间步长为step的数列
for i in range(1, 11):  #for 变量 in 单词表、列表、字符串等l4.append(i)print(l4)#列表元素的删除
#  list.pop(index)  根据元素位置删除 默认最后一个元素
l4.pop(-1)  #删除l4列表末尾的元素 10
print(l4)
#  list.remove(value)  删除l4中的指定值  根据具体元素值进行删除
l4.remove(8)  #指定删除元素 8
print(l4)#列表元素的插入
#insert(index, value)   在列表指定位置 index 插入元素 value
l4.insert(7,"亚索")
print(l4)# reverse() 列表元素的反向
l4.reverse()
print(l4)

        输出结果

2)匿名函数,列表推导式

"""
匿名函数:lambda表达式
语法规则:lambda arg1, arg2: expression注意:1,arg1,arg2:表示原函数的形参列表2,expression:表示原函数返回值的表达式3, 整个lambda执行的结果 就是expression的结果"""def Add(x, y):return x+yprint(Add(23, 42))
#lambda表达式的应用   (lambda x, y: x+y)(a, b)
print((lambda x, y: x+y)(12, 3))print((lambda x : x**2)(3)) #求平方pingfang = (lambda x : x**2)
print(pingfang(5))'''列表推导式
'''
#定义列表:列表元素为 i, i满足for循环中的 i取值
l1 = [i for i in range(1, 15, 3)]
print(l1)l1 = [i for i in range(0, 101, 2)] #取100 以内的所有偶数到列表l1
print(l1)
l1 = [i for i in range(101) if i % 2 == 0] #取100 以内的所有偶数到列表l1
print(l1)def sq(x):return x**2print(map(sq, [i for i in range(10)]))
a = map(sq, [i for i in range(10)])
print(a, list(a)) #list(a)将a强转为列表b = map(lambda x : x**2, [i for i in range(10)])
print(b, list(b)) #list(b)将b强转为列表

输出结果

5、字典类型(Dictionary

           字典dict:用{}标识,字典每个元素都是key,value,

            key为不可变,value可变

字典的增删改查

            字典元素的修改: dict[key] = newvalue

            字典元素的增加: dict[newkey] = value

            字典元素的删除: dict.pop(key)

            字典元素的访问 dict[key] dict.get[key]

#先定义再赋值
d1 = {} #定义空字典
d1[0] = "hello"
d1[1] = "world"
d1[2] = 21
d1[3] = 3.12
print(d1)
print(d1[1], d1.get(2))#字典元素的访问d2 = {0:32, 1:2.112, 2:"hello", "name":"瑟提", 2.5:"wqeq"} #定义时直接赋值
print(d2)
print(d2["name"], d2[2.5])
d2[1] = 3.333  #内容更新
d2["iq"] = "低智商" #新元素的添加
print(d2)
d2.pop(0) #删除字典元素 0:32
print(d2)

        结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/726118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【go语言开发】gorm库连接和操作mysql,实现一个简单的用户注册和登录

本文主要介绍使用gorm库连接和操作mysql&#xff0c;首先安装gorm和mysql依赖库&#xff1b;然后初始化mysql&#xff0c;配置连接池等基本信息&#xff1b;然后建表、完成dao、controller开发&#xff1b;最后在swagger中测试 文章目录 前言安装依赖库数据库初始化账号注册和登…

springBoot整合Redis(三、整合Spring Cache)

缓存的框架太多了&#xff0c;各有各的优势&#xff0c;比如Redis、Memcached、Guava、Caffeine等等。 如果我们的程序想要使用缓存&#xff0c;就要与这些框架耦合。聪明的架构师已经在利用接口来降低耦合了&#xff0c;利用面向对象的抽象和多态的特性&#xff0c;做到业务代…

上市公司财务报表精讲系列一:黄山旅游

上市公司财务报表精讲系列一&#xff1a;黄山旅游 一、主营业务分行业、分产品、分地区情况二、董事会报告三、净利润现金流四、净资产收益率五、权益乘数和总资产周转率六、负债结构图七、行业分析八、案例总结九、2023年度业绩 一、主营业务分行业、分产品、分地区情况 二、董…

为国产信创服务器提供LDAP统一身份认证方案

金融信创作为 8 大行业信创之首&#xff0c;早已成为其他行业信创建设的参考。金融行业有着极为复杂的业务场景&#xff0c;对系统有着极高的稳定可靠需求&#xff0c;因此&#xff0c;在寻找微软 AD 国产化替代方案时&#xff0c;常会涉及到更深层次的场景。例如&#xff0c;最…

unity学习(45)——选择角色菜单——客户端处理服务器的数据

1.已知客户端ReceiveCallBack中已经收到来自服务器返回的数据包。 2.问题是客户端MessageManager中的Update并没有拆解该数据包 &#xff0c;因该是因为脚本没有挂载。 挂在SelectMenu场景中的Camera上即可。 挂载后成功达到目地 其中Update中的List是一个起到全局效果的static…

CVPR 2024 | Modular Blind Video Quality Assessment:模块化无参视频质量评估

无参视频质量评估 (Blind Video Quality Assessment&#xff0c;BVQA) 在评估和改善各种视频平台并服务用户的观看体验方面发挥着关键作用。当前基于深度学习的模型主要以下采样/局部块采样的形式分析视频内容&#xff0c;而忽视了实际空域分辨率和时域帧率对视频质量的影响&am…

学习 考证 帆软 FCP-FineBI V6.0 心得

学习背景&#xff1a; 自2024年1月起&#xff0c;大部分时间就在家里度过了&#xff0c;想着还是需要充实一下自己&#xff0c;我是一个充满热情的个体。由于之前公司也和帆软结缘&#xff0c;无论是 Fine-Report 和 Fine-BI 都有接触3年之久&#xff0c;但是主要做为管理者并…

MyBatis复杂映射开发之多对多查询

多对多查询的模型 用户表和角色表的关系为&#xff0c;一个用户有多个角色&#xff0c;一个角色被多个用户使用。 多对多查询的需求&#xff1a;查询所有用户的同时查询出该用户对应的所有角色。 startuml !theme plain top to bottom direction skinparam linetype ortho cl…

阿里云服务器使用教程_搭建网站教程_2024建站教程

使用阿里云服务器快速搭建网站教程&#xff0c;先为云服务器安装宝塔面板&#xff0c;然后在宝塔面板上新建站点&#xff0c;阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例&#xff0c;来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

XUbuntu22.04之显示实时网速(二百一十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

智能网联各地市政策盘点

本文旨在对2023年及2024年初各地市所出台的智能网联相关政策进行全面的梳理与总结。通过与此前发布的关于2023年和2024年初各部委、省、直辖市智能网联相关政策的盘点相互呼应&#xff0c;力求为读者呈现一个全面、系统的政策概览。 文 | 吴冬升 全文6000字&#xff0c;预计阅读…

html--3D爱心

文章目录 代码效果 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>爱心</title><style type"text/css">*{margin: 0px;border: 0px;}body{overflow: hidden;background-…

Docker-部署若依项目

文章目录 后端一、搭建局域网二、redis安装测试 三、MySQL安装四、后端项目放入位置及使用Dockerfile自定义镜像后端项目放入位置 前端配置检查各个端口是否启动nginx部署 首先得先把内部的文件给删除清空 docker images–查看有哪些文件 docker rmi -f ID–删除ID 后端 一、…

腾讯QQ推出AI聊天搭子;零一万物01AI宣布开源Yi-9B模型

&#x1f989; AI新闻 &#x1f680; 腾讯QQ推出AI聊天搭子&#xff0c;进军AI对话领域 摘要&#xff1a;腾讯QQ合作筑梦岛和混元助手&#xff0c;推出了AI对话功能“AI聊天搭子”&#xff0c;提供多种虚拟角色与用户实时互动&#xff0c;目前已开启测试。此外&#xff0c;抖…

STM32/GD32——I2C通信协议

芯片选型 Ciga Device — GD32F470系列 通讯规则 I2C协议&#xff08;或称IIC&#xff09;是由飞利浦&#xff08;现在的恩智浦半导体&#xff09;公司开发的一种通用的总线协议。它使用两根线&#xff08;时钟线和数据线&#xff09;来传输数据&#xff0c;支持多个设备共享…

智能设备 app 设计 —— 蓝蓝 UI 设计公司

今天给大家推荐是智能设备app设计&#xff0c;随着智能设备的逐渐普及随之操作app也越来越多&#xff0c;希望能给大家带来灵感 #日常灵感 #创意设计#UI提升#ui设计#app #设计案例分享|#设计 #产品设计#产品设计#设计灵感 #B端产品经理 #ui #产品 #美工 #交互 #产品经理 #开发 …

乐优商城(九)数据同步

1. 项目问题分析 现在项目中有三个独立的微服务&#xff1a; 商品微服务&#xff1a;原始数据保存在 MySQL 中&#xff0c;从 MySQL 中增删改查商品数据。搜索微服务&#xff1a;原始数据保存在 ES 的索引库中&#xff0c;从 ES 中查询商品数据。商品详情微服务&#xff1a;做…

怎么在图片上直接编辑文字?3个方法教你轻松编辑

怎么在图片上直接编辑文字&#xff1f;随着技术的飞速发展&#xff0c;图片编辑已经成为我们日常生活和工作中不可或缺的一部分。在图片上直接编辑文字&#xff0c;不仅能够添加说明和标注&#xff0c;提高信息的传达效率&#xff0c;还能够增强图片的美观和设计感&#xff0c;…

qt练习案例

记录一下qt练习案例&#xff0c;方便学习qt知识点 基本部件 案例1 需求&#xff0c;做一个标签&#xff0c;显示"你好"知识点&#xff0c;QLabel画面 4. 参考&#xff0c;Qt 之 QLabel 案例2 需求&#xff0c;做一个标签&#xff0c;显示图片 知识点&#xff0c;…

c++初阶------类和对象(六大默认构造函数的揭破)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…