Python语法(一、基础)

news2024/11/15 1:56:43

简介

Python 是一个高层次的结合了解释性、交互性和面向对象的脚本语言。解释型语言: 这意味着开发过程中没有了编译这个环节。作为解释型语言,意味着开发过程中没有了编译这个环节,对代码逐行解析。

Python还具有可嵌入性,如Python无法运行的代码可以使用C或C++完成程序,然后从的Python程序中调用。也提供了数据库接口和GUI编程。

Python作为解释性语言,内核时Python解析器,任何安装了解析器的系统都可以运行Python文件。


基础语法

标识符

Python默认utf-8编码,所有字符串都是 unicode 字符串。标识符的第一个字符必须是字母表中字母或下划线’_'。标识符的其他的部分有字母、数字和下划线组成。标识符对大小写敏感。

Python保留字

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Python注释

#这是单行注释

"""
这是多行注释
这是多行注释
"""
'''
也可以用三个单引号来进行多行注释
'''

缩进

Python 使用缩进来表示代码块。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

基本数据类型

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python3 的六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

可变数据和不可变数据的“变”是相对于引用地址来说的,不是不能改变其数据,而是改变数据的时候会不会改变变量的引用地址。

数字:运算符+,-,* ,/ ,%与其它语言一样括号 ()用于分组,/会保留小数部分,取而代之的是//** 运算符计算幂乘方 ,更高级计算需要引入数学计算库

字符:Python 也提供单引号'...'或双引号"..." 标识字符。可以用来转义,也可以使用 原始字符串,方法是在第一个引号前面加上一个r会原样输出

切片

 # 要取得一段子串的话,可以用到​变量[头下标:尾下标]​,就可以截取相应的字符串
str="qwertyuiop"
print(str[0:5])

#qwert

类型判断

python可以用type函数来检查一个变量的类型:

type(name))

列表

列表List可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(也就是嵌套)。

列表用​[ ]​标识。是 Python 最通用的复合数据类型。

list1 = ['abc', 2, 2.32, 'john']
list2 = [123, 'john']
print(list1)                            ['abc', 2, 2.32, 'john']
print(list1[1])                        2
print(list1[1:4])                [2, 2.32, 'john']
print(list1[2:])                [2.32, 'john']
print(list2*2)                [123, 'john', 123, 'john']
print(list1+list2)                ['abc', 2, 2.32, 'john', 123, 'john']

元组

元组Tuple是另一个数据类型,类似于 List(列表)

元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表

tuple1 = ('abed', 789, 2.89, 'Bob', 15.8)        
tinyTupl2 = (123, 'Tom')
print(tuple1)                                ('abed', 789, 2.89, 'Bob', 15.8)
print(tuple1[0])                                abed
print(tuple1[1:3])                        (789, 2.89)
print(tuple1[2:])                        (2.89, 'Bob', 15.8)
print(tinyTupl2 * 2)                (123, 'Tom', 123, 'Tom')
print(tuple1 + tinyTupl2)        ('abed', 789, 2.89, 'Bob', 15.8, 123, 'Tom')

字典

字典 (dictionary) 是除列表以外 Python 之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取

字典用"{ }"标识。字典由索引 (key) 和它对应的值 value 组成

dict={}
dict['one']='This is Apple'
dict[2] = 'This is Bananan'
tindict = {'name': 'bob', 'age': 12, 'city': 'beijing'}
print(dict)                         {'one': 'This is Apple', 2: 'This is Bananan'}
print(dict['one'])                        This is Apple
print(tindict)                        {'name': 'bob', 'age': 12, 'city': 'beijing'}
print(tindict.keys())                dict_keys(['name', 'age', 'city'])
print(tindict.values())                dict_values(['bob', 12, 'beijing'])

数据类型转换

对数据内置的类型进行转换,只需要将数据类型作为函数名即可。

在这里插入图片描述

x='100'
print(int(x))                                                转整数100
print(complex(1,5))                                        转复数(1+5j)
print(repr(1+2))                                                直接计算结果 3
list1=[1,'22','abc']                                                                                  
print(tuple(list1))                                                           (1, '22', 'abc')
print(list(list1))                                                [1, '22', 'abc']
print(set(list1))                                                {1, 'abc', '22'}
print(frozenset(list1))                                        frozenset({1, 'abc', '22'})
tuple1=('a','abpp'),('mng','smnh'),(2,'nnn')
print(dict(tuple1))                                        {'a': 'abpp', 'mng': 'smnh', 2: 'nnn'}
#字符串转数据、元组、字典 等等
str1="[1,2,3,4]"
print(type(str1))                                                <class 'str'>
list1=eval(str1)
print(list1)                                                        [1, 2, 3, 4]
print(type(list1))                                                <class 'list'>
str2="{'name':'mky','age':33}"
dict1=eval(str2)        
print(dict1)                                                {'name': 'mky', 'age': 33}
print(type(dict1))                                        <class 'dict'>
str3="(1,2,3)"
tuple2=eval(str3)
print(tuple2)                                                (1, 2, 3)
print(type(tuple2))                                        <class 'tuple'>

输入输出流

input()函数作为输入流,print()函数作为输出流

name=input()
print(name)

变量

变量是存储在内存中的值。就是指针无关数据类型,解释器会分配指定大小的内存

# 等号(=)用来给变量赋值
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串

# 多个对象指定多个变量
a, b, c = 1, 2, "john" 

文本换行

使用+ \起到多行连接的作用:

data="this  " + \
    "is  " + \
    "Tuesday"
print(data)
#this  is  Tuesday

# 空格也会被视为字符

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

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

相关文章

ConcurrentHashMap基本介绍

介绍 ConcurrentHashMap是线程安全且高效的HashMap。 为什么要使用ConcurrentHashMap 线程不安全的HashMap HashMap多线程情况下put操作会出现并发安全问题&#xff0c;包括死循环、数据丢失&#xff08;jdk7&#xff09;以及数据覆盖&#xff08;jdk8&#xff09;。 jdk7中…

基于stm32单片机的直流电机速度控制——LZW

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、实验目的二、实验方法三、实验设计1.实验器材2.电路连接3.软件设计&#xff08;1&#xff09;实验变量&#xff08;2&#xff09;功能模块a&#xff09;电机接收信号…

Github git clone 和 git push 特别慢的解决办法

1.在本地上使用 SSH 命令无法git push 上传 github 项目 2.使用 git clone 下载项目特别慢总是加载不了 解决办法1 将 *** 的连接模式换成&#xff1a;D-i-r-e-c-t&#xff08;好像不太有用&#xff09; 后面再找找能不能再G-l-o-b-a-l 下解决该问题 解决办法 2 mac下直接设…

Python 日志记录:6大日志记录库的比较

Python 日志记录&#xff1a;6大日志记录库的比较 文章目录 Python 日志记录&#xff1a;6大日志记录库的比较前言一些日志框架建议1. logging - 内置的标准日志模块默认日志记录器自定义日志记录器生成结构化日志 2. Loguru - 最流行的Python第三方日志框架默认日志记录器自定…

SpringBoot内嵌的Tomcat:

SpringBoot内嵌Tomcat源码&#xff1a; 1、调用启动类SpringbootdemoApplication中的SpringApplication.run()方法。 SpringBootApplication public class SpringbootdemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootdemoApplicat…

python浅浅替代ps?实现更改照片尺寸,以及更换照片底色

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 如何用代码来p证件照并且更换底色&#xff1f; 有个小姐姐给我扔了张照片&#xff0c;叫我帮忙给她搞成证件照的尺寸还得换底色 可惜电脑上没有ps只有pycharm&#xff0c;但下载又卸载多麻烦呀 于是&#xff0c;我就用代码来…

RT1052 的周期定时器

文章目录 1 PIT 周期中断定时器2 PIT定时器的使用3 PIT定时器配置3.1 PIT 时钟使能。3.1.1 CLOCK_EnableClock 3.2 初始化 PIT 定时器3.2.1 PIT_Init 3.3 设置 通道 0 的 加载值3.3.1 PIT_SetTimerPeriod 3.4 使能 通道 0 的中断3.4.1 PIT_EnableInterrupts 3.5 开启 PIT 定时器…

在登录界面中设置登录框、多选项和按钮(HTML和CSS)

登录框&#xff08;Input框&#xff09;的样式&#xff1a; /* 设置输入框的宽度和高度 */ input[type"text"], input[type"password"] {width: 200px;height: 30px; }/* 设置输入框的边框样式、颜色和圆角 */ input[type"text"], input[type&q…

测试|测试分类

测试|测试分类 文章目录 测试|测试分类1.按照测试对象分类&#xff08;部分掌握&#xff09;2.是否查看代码&#xff1a;黑盒、白盒灰盒测试3.按开发阶段分&#xff1a;单元、集成、系统及验收测试4.按实施组织分&#xff1a;α、β、第三方测试5.按是否运行代码&#xff1a;静…

100行代码写一个简易QT点名程序

照例演示一下: 分享一个简易的Qt点名程序&#xff0c;满打满算一百行代码&#xff08;还要什么自行车&#xff09;。 UI界面比较丑&#xff0c;按钮是自己做的&#xff0c;背景是AI作画生成的&#xff0c;大家可以自行更换背景以及按钮。 内容也是非常的简单&#xff0c;就是…

JWT登录认证

JWT认证流程 跨域认证解决方案&#xff0c;JWT的流程为&#xff1a; 客户端发送账号和密码请求服务端收到请求&#xff0c;验证用户名密码是否通过验证成功后&#xff0c;服务端会生成唯一的token&#xff0c;将其返回给客户端客户端收到token&#xff0c;会将其存储在cookie…

拓扑排序详解(带有C++模板)

目录 介绍&#xff1a; 实现原理&#xff1a; 简答来说&#xff1a; 例子 模板&#xff08;C&#xff09; 介绍&#xff1a; 拓扑排序&#xff08;Topological Sorting&#xff09;是一种针对有向无环图&#xff08;DAG&#xff09;的节点进行排序的算法。DAG是一个图&…

Android 之 使用 MediaRecord 录音

本节引言 本节是Android多媒体基本API调用的最后一节&#xff0c;带来的是MediaRecord的简单使用&#xff0c; 用法非常简单&#xff0c;我们写个例子来熟悉熟悉~ 1.使用MediaRecord录制音频 运行结果&#xff1a; 实现代码&#xff1a; 布局代码&#xff1a;activity_main.…

自动化测试如何做?真实企业自动化测试流程,自动化测试分类...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 企业自动化测试流…

一文讲清楚地图地理坐标系

前言 我最近在做一个和地图有关的项目&#xff0c;这里本人地图采用的是mapbox&#xff0c;其中涉及一个功能需要根据用户输入的地点直接定位到地图上的对应的位置&#xff0c;本人开始想的是直接调用百度的接口根据地名直接获取坐标&#xff0c;发现在地图上的位置有偏移不够…

C++——模板的作用2:特例化

目录 模板的形式&#xff1a; 一.模板的多参数应用&#xff1a; 例&#xff1a; 错误使用1&#xff1a;使用不标准的模板形参表 ​编辑 错误使用2&#xff1a;使用变量作为实参传递给函数模板 二.模板的特例化&#xff1a; 类模板&#xff1a; 针对模板的特化步骤&am…

乌班图22.04安装wireguard实现异地组网

1. 前言&#xff1a; wireguard是新型的异地组网工具&#xff0c;在此之前&#xff0c;又已经被抛弃的pptp&#xff0c;l2tp&#xff0c;有配置复杂的openvpn&#xff0c;wireguard被linux作者linus赞叹优雅&#xff0c;于linux 5.6合并至linux内核主线。 2. 安装过程&#…

文心一言 VS 讯飞星火 VS chatgpt (68)-- 算法导论6.5 7题

文心一言 VS 讯飞星火 VS chatgpt &#xff08;68&#xff09;-- 算法导论6.5 7题 七、试说明如何使用优先队列来实现一个先进先出队列&#xff0c;以及如何使用优先队列来实现栈(队列和栈的定义见 10.1 节。) 文心一言&#xff1a; 优先队列是一种数据结构&#xff0c;其中…

干货|一次完整的性能测试,测试人员需要做什么?

作者介绍 邓宝菊&#xff08;Kiki Deng&#xff09;&#xff0c;10 年软件测试经验&#xff0c;4 年团队管理经验&#xff0c;当前任职研发部架构质量工程部&#xff0c;整体负责研发部测试团队的效能、工具流程建设和人才培养。 前言 一、 规范性能测试实施流程的意义 规范…

Qt: 查看qmake相关参数设置

Qt开发中&#xff0c;经常会遇到qmake相关问题&#xff0c;比如同时安装了多个Qt版本的情况。比如我的情况是系统自带了Qt 5.12.8, 但是开发中遇到一些兼容性问题&#xff0c;于是又手动安装了5.9.8。 查看qmake版本&#xff0c;qmake -v, 虽然项目中已经指定了5.9.8, 但是系统…