【Python】python入门,这一篇就够了

news2024/11/24 14:13:38

快速入门/一文免挂

  • Python程序元素
    • 变量
  • python中的符号
  • Python的程序结构
    • 分支结构
    • 异常处理
    • 循环结构
  • Python函数
    • python中的可变参数
    • python中的全局变量和局部变量
  • 组合数据类型之序列类型
    • 序列通用操作
    • 字符串(str)
      • 字符串常用函数
      • 字符串类型的格式化
    • 列表(list)
      • 常用一些函数(下面不包含序列公共部分)
    • 元组(tuple)
  • 序列数据类型(列表/字符串/元组)索引问题
  • 组合数据类型之映射类型
    • 字典(map)
      • 字典key重复问题:
      • 常用的操作函数
  • python程序的输入输出
  • python文件(file)
  • import关键字用法

序:详细包含python的基础知识以及一些操作解析,也有对应的题目,不仅适合python初学者,同样也适合python期末考试党!!!

Python程序元素

变量

变量命名:

  1. 变量名由字母,数字,下划线组成;
  2. 数字不能开头;
  3. 不能和python的关键字冲突

python动态语言,无需提前确定数据类型:

也就是说不用int a,这样命名了。

关于python的强制转换:

和其他高级编程语言有点不一样,它是int(数据),float(数据),str(数据)实现强转,由于python是动态的,所以强转很常见的。

python注释:

单行注释:#+内容
多行注释:“”"内容“”“或’‘‘内容’’',如下面所示

""" print("学习python") """
''' print("学习python") '''

数据类型

int,float,str等等,注意python中布尔类似值是True/False首字母是大写的,不要和其他高级编程语言混淆。

python中的符号

  1. = 赋值符合(不多说)
  2. == 这是用来比较俩边的数据是否相同以及数据类型是否一致的,Java中除基本数据类型这个是用来比较地址的;
  3. is 判断is左右两边的地址是否是一样的,python中设置了整数池,把[-5~256]之间的值公用同一个地址。

运算符:

x + y加
x - y减
x * y乘
x / y除,x与y的商(10/3=3.33333)
x//y整数除(10//3=3)
x%y取余
x**y幂运算

操作符:

x and y 与
x or y 或
not x 非

数值运算符-round(x,[,d])

四舍五入,d是保留小数位数,默认值为0.

print(round(4))#4
print(round(3.234234,2))#3.23
print(round(3.24))#3

Python的程序结构

分支结构

  1. 单分支 if < 条件 >:
  2. 二分支 if< 条件 >: else :
  3. 多分支
    if < 条件 >:
    elif < 条件 >:
    elif < 条件 >:
    else:

异常处理

在这里插入图片描述
finally下的语句块不管是否return结束这个函数也是会执行的,无论怎么都会执行,其他语言也是如此。

循环结构

for循环(for和in组合

  1. for <变量> in <循环结构(元组/字符串/列表等)>:
    《语句块》
  2. for<变量> in range(N):
    《语句块》
    执行语句块N次

在这里插入图片描述

while、brank、continue和其他语言没区别,这里不想说了。

Python函数

函数表示形式:

def <函数名>(< 参数(0个或多个)):
	《函数体》
	return 《返回值》(没有该语句返回值则为None或none)

在这里插入图片描述

注意:python是动态语言,参数前不用加数据类型,直接写变量名即可.

python中的可变参数

python中的可变参数有点特殊,不是三点(...)的表示;
python中的可变参数表示形式:

*<变量名>

  • 函数的作用:

函数编程不仅可以增强代码的复用,还可以增强代码的可读性等。

python中的全局变量和局部变量

Python是脚本语言,最先执行非函数/非类/非缩进的代码;

python中使用global关键字在函数体内声明是全局变量,也就是即使不是参数传递过来也是可以使用的了。

例子:

s = 3
def fun():
	global s
	return s+1

print(fun())#输出:4

在这里插入图片描述

组合数据类型之序列类型

序列通用操作

len() 返回字符串中字符个数
字符 in 字符串 判断字符串中是不是有这个元素
字符 not in 字符串 判断字符串中是不是没有这个元素
s[i] 返回索引i下的值
s + t 连接两个序列st
s*n或n*s 序列复制n

字符串(str)

  1. 字符串可以相加和相乘,相加是拼接,相乘是重复多少次(必须是乘以一个整数)
    索引:
  2. 从左往右索引是从0开始的,从右边往左边是从-1开始的python索引的特殊地方)。
  3. python里的字符串是readonly的,不可以修改只可读,也就是说s='xxx' s[0]='y'会报错,但是可以间接的修改,比如字符串的拼接、调用str中的replace方法

字符串常用函数

split(正则) 根据正则来分割字符串
strip() 去除字符串俩边的空格
startswith(字符串) 匹配开头是否存在该字符串
endswith(字符串) 匹配末尾是否存在该字符串
replace(字符,要替换的字符) 替换,修改原字符串
str_name.upper() 转换成大写
str_name.lower() 转换成小写

字符串类型的格式化

格式化是对字符串进行格式表达的方式:

字符串格式化使用.format()方法,用法:
< 模板字符串 >.format(< 逗号分隔的参数 >)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:.是精度或者字符串最大输出长度。
在这里插入图片描述

列表(list)

  • 列表创建里面元素可以进行修改
  • 使用[]或者list()创建,元素间用逗号隔开,分隔
  • 列表中的元素类型可以不同
s = [2,43,"3fd"]
s[2] = "xmq"
print(s)# 输出:[2, 43, 'xmq']

常用一些函数(下面不包含序列公共部分)

ls.append(x) 在列表ls末尾添加元素x
ls.insert(pos,x) 在列表ls第pos个位置处添加元素x
ls.remove(x) 将列表ls的第一个出现的x删除掉
ls.pop(i) 将列表ls中的第i个位置取出来并且删除该列表元素

元组(tuple)

  • 元组和列表类似,只是元组中的元素设置成了readonly,不可以进行修改。
  • 使用小括号()或tuple()创建,元素中间用逗号分隔
  • 也可以不使用小括号,那就默认是元组

序列数据类型(列表/字符串/元组)索引问题

  • 列表[数字],表示取第数字个索引的字符/元素
s='123456789'
print(s[-1])
print(s[-2])
print(s[1])
#9
#8
#2
  • 列表[数字1:数字2],表示取从数字1到数字2-1这段列表:
s='123456789'
print(s[1:-1])#-1索引是指向9的
print(s[0:3])
#2345678
#123
  • 列表[:数字],表示从0索引开始取,直到取到数字-1的索引:
s='123456789'
print(s[:-1])#-1索引是指向9的
#12345678
  • 列表[::数字],表示从0索引开始,每隔数字-1个元素取一次,比如数字是2的话,就取0,2,4…索引的元素
s='123456789'
print(s[::2])#-1索引是指向9的
#13579
  • 列表[::-1] 逆转/reverse
s='123456789'
print(s[::-1])#-1索引是指向9的
#987654321
  • 列表[数字a:数字b:数字c],表示从数字a开始到数字b-1结束这段序列,每隔数字c取一次
s='123456789'
print(s[1:-1:2])# 2468

在这里插入图片描述

组合数据类型之映射类型

字典(map)

在这里插入图片描述

  • 字典其实就是一个一个映射键值对(key->value)组成的容器,其中key键必须是唯一的不可以重复(如果出现冲突了,会选择后者),value可以的!
  • 采用大括号{}和dict()创建,键值对用冒号分隔键值对,用逗号分隔元素:
{<1>:<1>,<2>:<2>,<3>:<2>......}

字典key重复问题:

在这里插入图片描述

常用的操作函数

del d[k] 删除字典d中键值k对应的键值对
k in d 判断k键值是否在d中
d.keys() 返回字典d中所有键值信息
d.values() 返回d字典中所有值信息
d.items() 返回字典d中所有键值对信息
dict.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值

测试:

s = {1:"xxx",2:"lds"}
print(s.keys())
print(s.values())
print(s.items())

'''
输出:
dict_keys([1, 2])
dict_values(['xxx', 'lds'])
dict_items([(1, 'xxx'), (2, 'lds')])
'''

注意:可以看出返回的是对应的列表,也就是说我们可以对其进行修改!!!

测试:
在这里插入图片描述

python程序的输入输出

input()

输入函数,会自动把内容设为字符串型

print()

输出函数,输出所要输出的内容

eval()

评估函数,去掉参数最外层的引号然后执行余下的语句,这函数经常和input连用,eval(input())

s='1+2'
print(s)#输出:1+2
print(eval(s))#输出:3

python文件(file)

文件处理步骤:

打开-操作-关闭

文件的打开模式(可以进行合并使用,和c是一致的):

在这里插入图片描述

文件打开操作:

<变量名>  =  open(<文件名>,<打开模式>)

文件操作:

read()
readline()
write()
writeline()

了解了解即可,二进制文件和文件中的转换!!!

import关键字用法

  1. import + 模板名

导入对应的模板

  1. from 模板名 import *

导入对应模板中的属性和行为(函数/字段)

  1. from 模板名 import 行为(函数)

导入对应模板中的行为(函数)

在这里插入图片描述

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

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

相关文章

Qt第三十一章:渐变QGradient

线性渐变&#xff1a;QLinearGradient class TestGradient(QWidget):def __init__(self, parentNone):super(TestGradient, self).__init__(parent)self.resize(300, 300)label QLabel(self)label.setGeometry(0, 0, 300, 300)"""线形渐变"""la…

802.11基础——术语及缩略语

目录 WiFi LAN&#xff08;局域网&#xff09; WAN&#xff08;广域网&#xff09; WLAN&#xff08;Wireless LAN&#xff0c;即无线局域网&#xff09; AP&#xff08;Access point的简称&#xff0c;即访问点&#xff0c;接入点&#xff09; Station&#xff08;工作站…

HTML期末学生大作业 基于HTML+CSS+JavaScript通用的后台管理系统ui框架模板

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

[附源码]Python计算机毕业设计Django线上评分分享平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Docker安装MoogoDB, 进入容器, mongo shell操作mongoDB

安装MoogoDB, 进入容器, mongo shell操作mongoDB [Docker-Compose方式、普通方式] 文章目录安装MoogoDB, 进入容器, mongo shell操作mongoDB[Docker-Compose方式、普通方式]附件&#xff1a;单词本附件&#xff1a;什么是 . yml 后缀文件 ?[ 普通方式 ]1. 下载镜像:* 拓展&am…

职场中,如何让“讨厌的人”配合自己工作?

在职场上&#xff0c;我们总会遇到那么几个不愿意配合你工作的人&#xff0c;不仅不配合&#xff0c;甚至还喜欢扯皮&#xff0c;推卸责任&#xff0c;甩锅给自己的队友。然而&#xff0c;我们也不可能因为工作中出现了这样一个或几个人&#xff0c;就离职不干&#xff0c;或者…

ChatGPT-地表最强AI模型!要消灭人类?

大家好&#xff0c;我是贺同学&#xff0c;最近&#xff0c;美国人工智能研究机构 Openai 发布了最新的大语言模型 ChatGPT&#xff0c;惊艳的性能在海外掀起了一波又一波热潮。通过对各种领域专业知识的训练&#xff0c;ChatGPT 不仅可以帮助人们搜索知识&#xff0c;还能进行…

认证与授权之Cookie、Session、Token、JWT

Spring Security系列文章 认证与授权之Cookie、Session、Token、JWT 认证与授权 认证 进入移动互联网时代&#xff0c;大家每天都在刷手机&#xff0c;常用的软件有微信、支付宝、头条等&#xff0c;下边拿微信来举例子说明认证相关的基本概念&#xff0c;在初次使用微信前需…

html静态网站基于动漫主题网站网页设计与实现共计10个页面——二次元漫画

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

有哪些电容笔值得推荐?十大电容笔知名品牌

虽然苹果的原装电容笔操作起来很顺手&#xff0c;性能很不错&#xff0c;但因为价格太高&#xff0c;所以让不少学生党都望而止步&#xff0c;而且重量也不小&#xff0c;用久了会手累。既然是来学习的&#xff0c;那就不一定要买这么昂贵的电容笔了。目前市场上的平替电容笔有…

中国书画院院士、著名画家——戴友

戴友 戴友 中国书画院院士、著名画家 广州美术学院国画系毕业的专业画家 师从著名国画大家关山月、黎雄才、方楚雄、周波 艺术简介 戴友&#xff0c;著名画家、中国书画院院士。1960年生于广东&#xff0c;江苏省溧阳市人&#xff0c;汉族。自幼自学绘画&#xff0c;1991年…

程序开发工具vim——vi的高级版本(记得收藏)

提示&#xff1a;在学习本文知识的时候记得温故一下文本编辑器vi的知识点&#xff1a;文本编辑器vi看这篇就够了因为目前大部分的Linux发行版都以vim替换vi的功能了&#xff0c;所以学习vi也很必要。 一.vim的缓存、恢复与打开时的警告信息 目前主要的文本编辑器都会有恢复的功…

一篇博客告诉你什么是时间复杂度和空间复杂度(没有基础也能看懂)(这是学习数据结构及算法所必须掌握的基础)

目录 0.前言 1.算法的复杂度简述 2.时间复杂度 2.1 什么是时间复杂度 2.2 大O表示法 2.2.1 例一 2.2.2 大O表示法规则 2.2.3 例二 2.2.4 例三 2.2.5 例四 2.2.6 例五 2.2.7 例六 2.2.8 例七 2.3 时间复杂度计算总结 3.空间复杂度 3.1 空间复杂度的量度 3.2 例一…

可行性研究

可行性研究可行性研究:分析和设计的压缩和简化,在高层抽象进行系统的分析和设计目的:最小代价在尽可能短的时间确定问题能否解决分析过程:可行性方面:步骤:系统流程图:用图形符号以黑盒形式描绘系统部件:表述数据流动情况数据流图:(DFD) 描绘信息和数据流的流动和处理逻辑画法:…

如何将C/C++代码转成webassembly(Linux环境)

如何将C/C代码转成webassembly_omage的博客-CSDN博客学习如何将C/C代码转成webassemblyhttps://blog.csdn.net/omage/article/details/128163526?spm1001.2014.3001.5501 上篇笔者分享了在window环境下如何将C/C代码编译成webassembly&#xff0c;当中用了非常简单的C代码…

避免踩坑的Github学生认证申请教程

避免踩坑的快速Github学生认证申请教程 直接上干货&#xff01; 踩坑在于&#xff1a; 用了校卡以及在线验证报告无法通过Github学生认证&#xff0c; 需要用英文版的在线验证报告&#xff08;网页版翻译就可以&#xff09;的截图点击upload&#xff08;无需拍照&#xff09;&a…

【信息检索与数据挖掘期末复习】(五)Language Model

什么是语言模型&#xff1f; 一个传统的语言生成模型可以用于识别或生成字符串 我们可以将有穷自动机看作是一种确定性的语言模型 基本模型&#xff1a;每一个文档都是通过一个像这样的自动机生成的&#xff0c;只不过这种自动机是有概率的 一种最简单的语言模型等价于一个…

阿拉伯糖偶联核苷酸,UDP-b-L-arabinopyranose disodium salt,UDP-β-L-Ara.2Na

产品名称&#xff1a;阿拉伯糖偶联核苷酸 英文名称&#xff1a;UDP-b-L-arabinopyranose disodium salt&#xff0c;UDP-β-L-Ara.2Na CAS号&#xff1a;15839-78-8 分子式&#xff1a;C14H22N2O16P2 分子量&#xff1a;536.27600 纯度&#xff1a;98% 规格&#xff1a;1mg …

从零开始的Linux 阿里云ECS服务器搭建、FileZilla和宝塔

云服务器ECS概述 云服务器ECS&#xff08;Elastic Compute Service&#xff09;是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS级别云计算服务&#xff0c;让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器&#xff0c;免去了您采购IT硬件的前期准备&#x…

会员一卡通是什么?

昨天我们讨论了收银系统和给公众号的联合使用&#xff0c;最大的功能就是实现会员卡电子化、双方可以互动交流、会员账号信息随时可查看&#xff0c;但如果店铺比较小&#xff0c;不愿意花时间经营公众号或者小程序&#xff0c;那么还有什么办法做到电子会员卡呢? 会员一卡通可…