Python数据分析——Py基础语法复习(非常详细版)

news2024/11/24 6:51:16

1.基础数据类型

Number数字、String字符串、List列表、Tuple元组、Set集合、dictionary字典。数字、字符串、元组不可变,列表、集合、字典是可变数据类型

数字类型:int float boo complex复数

2.变量无需声明数据类型,且允许同时为多个变量赋值

a,b,c=1,2,"hi"
print(a,b,c)

1 2 hi

3.运算符

+ - * / %余 **乘方

4.字符串:串中有一个反斜杠时表示一个转义序列的开始

\n 换行 \\反斜杠 \"双引号 \t制表符

字符串的运算 +连接 *重复 []索引 [:]切片 in判断是否为子串

子串可以用分离操作符([] / [:])

str *0=空串

1.字符串切片还可以设置取子串的间隔,只需要再增加一个步长参数即可,把[n : m]变成[n : m : step]
2.当step>0时,表示从左向右取字符;当step<0时,表示从右向左取字符。

3.每次取字符的间隔是|step|-1,如step为2,则每隔一个字符取一个字符。

5.输入

不论输入什么,input都接收并将其打包成一个字符串返回。若要接收一个数字,通常在接收的同时进行类型转换。

还有一种推荐的方式,称为表达式解析:变量= eval ( input ("提示字符串"))
通过一个内置的函数eval(),将用户输入的字符串解析为表达式单个数据(也是表达式),若表达式可计算,则计算后返回其值。
可认为eval是去掉接收到的字符串的引号。

6.数据输出

(3)格式化函数输出(格式字符串和format之间用﹒隔开)基本用法
(1)空括号,即“{f}”
(2)带数字(参数位置序号,默认从0开始,可调换顺序),如{1}、{2}(3)带关键字(可读性好),如: {name}、{age}

a="lucy"
b=1
c=20
d=213123.231
print(f"hello {a}",end=" ")
print("age = {}".format(c))
print("age2 = %d" %b)
print('age3 = {:.2f}'.format(d))

7.字符串常见属性方法

. Python对字符串对象提供了大量的成员方法用于字符串的检测、替换和排版等操作。
·使用时需要注意的是,字符串对象是不可变的,所以字符串对象提供的涉及字符串“修改”的方法都是返回修改之后的新字符串,并不对原字符串做任何修改。

str.rfind() 方法用于在字符串中查找子字符串最后一次出现的位置,从右侧开始搜索。

s="fish,fish,rabbit"
print(s.find('fish'))
print(s.rfind('fish'))
print(s.count('fish'))
print(s.find("tiger"))
print(s.index('fish'))


 条件语句 【输入1就继续输入直到输入其他】

water = int(input("请输入一个数字:"))

while True:  # 这里使用 True 创建一个无限循环,我们需要一个退出条件
    if water == 1:
        print("1")
        water = int(input("请输入一个数字:"))
    elif water == 2:
        print("2")
        break  # 这将退出循环
    else:
        print("3")
        break  # 退出循环,否则会无限打印 "3"

str = input("请输入一句英文:")
a,b,c = 0,0,0
for s in str:
 if s.isupper(): 
  a += 1
 elif s.islower():
  b += 1
 elif s.isdigit(): 
  c += 1
print("大写字符:", a)
print("小写字符:", b)
print("数字字符:", c)
sum = 0
for i in range(1, 101):
    sum += i
print("1--100的总和是:{:6d}".format(sum))

n = int(input("输入一个正整数n(n>=2):"))
for i in range(2, n):
 if n % i==0: 
    print("{}不是素数".format(n))
 break 
if i == n-1: # 若循环正常结束,i就等于n-1
 print("{}是素数".format(n))

 



内置数据类型

lst1 = [] # 创建空列表
for i in range(6):
 lst1.append(input())
print("lst1=",lst1)

 

lst1 = list(range(6))
print(lst1)
lst2 = list(range(1,10,3))
print(lst2)
lst3 = list('hello')
print(lst3)

列表生成式(直接在中括号里用for循环获得数据)
lst = [ int(input()) for i in range(5) ]
print(lst)

#等价
lst = []
for i in range(5):
 x = int(input())
 lst.append(x)
print(lst)

转置矩阵:[[row[i] for row in matrix] for i in range(4)]


列表中不涉及元素修改的操作都适用于元组。 


sentence = "a bat and an ant"
s = sentence.lower() # 将句中字符都统一成小写
d = {} # 定义一个空字典
for i in s:
 # 以每个字符为键,若尚未收录到字典,则其值为0,否则其值加1 
 d[i] = d.get(i,0) + 1
print(d)

{'a': 5, ' ': 4, 'b': 1, 't': 2, 'n': 3, 'd': 1}

dicAreas={ '俄罗斯' :1707.5, '加拿大' :997.1, '中国' :960.1}
for key in dicAreas.keys():
 print(key)

 

 



 自定义函数

# 定义判断素数的函数
def isPrime(x):
 for i in range(2,x//2):
  if x % i == 0:
   return False
  else:
   return True
     
d = int(input())
for i in range(2,d//2+1):
 if isPrime(i) and isPrime(d-i):
  print(f'{d}={i}+{d-i}')
 break
else:
 print(f'{d}不能分解成素数之和')
(1)位置形参
在函数定义阶段,按照从左到右的顺序定义的形参,称为位置形参。
函数调用时,实参 从左至右依次 向位置形参传递参数,不能多,也不能少。
(2)默认形参
在函数定义阶段,就已经为形参赋值,该形参称为默认形参。
调用该函数时, 如果没有传入 对应的实参值,则函数使用默认的形参值。
(3)关键字实参
调用 函数时,按照 key=value的形式 为指定的参数传值,称为关键字
关键字参数在所有位置参数的后面,因为python函数在解析参数时,是按照顺序来的,位置参数是必须先满足,才考虑其他可变参数。
使用关键字实参具有三个优点:
参数按名称意义明确;
传递的参数与位置顺序无关;
如果函数有多个可选的默认形参,则可以通过关键字实参为指定形参传递数据。



 

 

 

 

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

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

相关文章

二手手机行业商家如何利用二手机店erp进行破局?

在数字化和AI发展越发先进的的今天&#xff0c;二手手机市场正迎来前所未有的变革。途渡科技精心打造的超机购ERP管理软件&#xff0c;凭借其独特的智能化、高效化特点&#xff0c;正在引领这场变革&#xff0c;为二手手机商家提供全面、深度的数字化管理解决方案。二手手机商家…

软件设计师笔记和错题

笔记截图 数据库 模式是概念模式 模式/内模式 存在概念级和内部级之间&#xff0c;实现了概念模式和内模式的互相转换 外模式/模式映像 存在外部级和概念级之间&#xff0c;实现了外模式和概念模式的互相转换。 数据的物理独立性&#xff0c; 概念模式和内模式之间的映像…

Java开发大厂面试第03讲:线程的状态有哪些?它是如何工作的?

线程&#xff08;Thread&#xff09;是并发编程的基础&#xff0c;也是程序执行的最小单元&#xff0c;它依托进程而存在。一个进程中可以包含多个线程&#xff0c;多线程可以共享一块内存空间和一组系统资源&#xff0c;因此线程之间的切换更加节省资源、更加轻量化&#xff0…

微信小程序踩坑,skyline模式下,scroll-view下面的一级元素设置margin中的auto无效,具体数据有效

开发工具版本 基础库 开启skyline渲染调试 问题描述 skyline模式下,scroll-view下面的一级元素的margin写auto的值是没有效果的(二级元素margin写auto是有效果的),关闭这个模式就正常显示 演示效果图 父元素的宽度和高度效果(宽度是750rpx,宽度占满的) 一级元素宽度和css效果…

Apifox:API 接口自动化测试完全指南

01 前言 这是一篇关于 Apifox 的接口自动化测试教程。相信你已经对 Apifox 有所了解&#xff1a;“集 API 文档、API 调试、API Mock、API 自动化测试&#xff0c;更先进的 API 设计/开发/测试工具”。 笔者是后端开发&#xff0c;因此这篇教程关注的是 API 自动化测试&#…

Jenkins 忘记登录密码怎么办

在安装Jenkins中遇到忘记登录密码该怎么呢&#xff1f;下面是一个解决办法 1. 先停止jenkins服务 我是用tomcat启动的jenkis 2. 找到config.yaml文件 find / -name config.xml命令执行后找到如下结果&#xff1a; /root/.jenkins/config.xml /root/.jenkins/users/admin_839…

正则表达式和sed

一、正则表达式 主要用来匹配字符串&#xff08;命令结果&#xff0c;文本内容&#xff09;&#xff0c; 通配符匹配文件&#xff08;而且是已存在的文件&#xff09; 基本正则表达式 扩展正则表达式 1.元字符 . 匹配任意单个字符&#xff0c;可以是一个汉字 […

机器人计算力矩控制

反馈线性化&#xff1a; 反馈线性化是一种控制系统设计方法&#xff0c;其目标是通过状态空间的坐标变换和控制变换&#xff0c;使得非线性系统的输入-状态映射或输入-输出映射反馈等价于线性系统。这样&#xff0c;就可以应用线性系统的控制理论来实现非线性系统的控制。在机…

企业级复杂前中台项目响应式处理方案

目录 01: 前言 02: 响应式下navigtionBar实现方案分析 数据 视图 小结 03: 抽离公用逻辑&#xff0c;封装系列动作 04: PC端navigationBar私有逻辑处理 05: 分析 navigationBar 闪烁问题 06: 处理 navigationBar 闪烁问题 07: category数据缓存&#xff0c;覆盖…

【Axure原型分享】动态伸缩组织架构图

今天和大家分享动态伸缩组织架构图图原型模板&#xff0c;我们可以通过点击加减按钮来展开或收起子内容&#xff0c;具体效果可以点击下方视频观看或者打开预览地址来体验 【原型效果】 【Axure高保真原型】动态伸缩组织架构图 【原型预览含下载地址】 https://axhub.im/ax9/…

层次式体系结构概述

1.软件体系结构 软件体系结构可定义为&#xff1a;软件体系结构为软件系统提供了结构、行为和属性的高级抽象&#xff0c;由构成系统的元素描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构&#xff0c;并…

Spark RDD案例:统计网站每月访问量

这个项目利用Spark技术&#xff0c;通过统计网站访问记录中的日期信息&#xff0c;实现了对每月访问量的统计和排序。通过分析数据&#xff0c;我们可以了解到不同月份的网站访问情况&#xff0c;为进一步优化网站内容和推广策略提供数据支持。 使用Spark统计网站每月访问量 …

Android Iptables 客制化方法及基本使用

Android Iptables 客制化方法及基本使用 Android netd 的自定义链NetdConstants.cpp 的 execIptablesRestore 方法IptablesRestoreController 的 execute 方法使用 oem-iptables-init.sh 添加自定义的防火墙规则oem-iptables-init.sh 示例文件 基本概念Iptables 链Iptables 表 …

OpenHarmony 实战开发——使用分布式菜单创建点餐神器

随着社会的进步与发展&#xff0c;科技手段的推陈出新&#xff0c;餐饮行业也在寻求新的突破与变革&#xff0c;手机扫描二维码点餐系统已经成为餐饮行业的未来趋势&#xff0c;发展空间巨大&#xff1b;扫码点餐&#xff0c;是“互联网餐饮”潮流的产物&#xff0c;可以有效地…

k8s-Helm包管理器

这里写目录标题 什么是Helmhelm架构重要概念组件Helm 客户端Helm 库 安装heml使用halm快速部署应用添加 helm 仓库 Helm 的常用命令chart 详解目录结构Redis chart 实践创建StorageClass制备器&#xff0c;配置NFS动态制备修改 helm 源搜索 redis chart修改配置安装查看安装情况…

力扣HOT100 - 152. 乘积最大子数组

解题思路&#xff1a; 方法一&#xff1a;暴力 class Solution {public int maxProduct(int[] nums) {int max Integer.MIN_VALUE;int s 1;for (int i 0; i < nums.length; i) {s 1;for (int j i ; j < nums.length; j) {s * nums[j];max Math.max(max, s);}}ret…

服务器之间实现免密码传输文件(scp免密传输)

问题&#xff1a;需要定时将本服务器的文件传输到指定服务器上作为备份 通过scp实现不同服务器之间的文件传输 正常使用scp传输文件 传输文件命令&#xff1a;scp /data/文件 root服务器地址&#xff1a;/指定目录 传输文件夹命令&#xff1a;scp -r /data/文件 root服务…

【回溯】1255. 得分最高的单词集合

本文涉及知识点 回溯 力扣难道&#xff1a;1881 LeetCode1255. 得分最高的单词集合 你将会得到一份单词表 words&#xff0c;一个字母表 letters &#xff08;可能会有重复字母&#xff09;&#xff0c;以及每个字母对应的得分情况表 score。 请你帮忙计算玩家在单词拼写游戏…

Google I/O盛会省流全内容总结:AI模型家族革新与前沿技术应用的广阔前景

昨晚的Google I/O 发布会主要聚焦于AI模型和应用的更新与扩展&#xff0c;特别在生成模型领域取得了显著进步。以下是模型层面内容的简要总结&#xff1a; DeepMind官网链接&#xff1a;https://deepmind.google/ Google Veo官方&#xff1a;https://deepmind.google/technol…

小程序框架是智能融媒体平台构建的最佳线路

过去5年&#xff0c;媒体行业一直都在进行着信息化建设向融媒体平台建设的转变。一些融媒体的建设演变总结如下&#xff1a; 新闻终端的端侧内容矩阵建设&#xff0c;如App新闻端&#xff0c;社交平台上的官方媒体等新闻本地生活双旗舰客户端&#xff0c;兼顾主流媒体核心宣传…