python 笔记(1)——基础和常用部分

目录

1、print 输出不换行

2、格式化输出字符串

3、浮点数的处理

4、进制转换和ASCII与字符间的转换

5、随机数

6、字符串截取和内置方法

6-1)字符串截取

6-2)字符串内置方法

7、元组、列表,及其遍历方式

7-1)列表常用内容 

7-2)元组

7-3)几种遍历方式: 

7-4)列表与元组之间的转化

8、字典即其遍历方法

8-1)字典的基本操作 

8-2)字典的遍历 

9、函数

9-1)默认参数 

9-2)可变长参数

9-3)字典参数(关键字参数)

9-4)多种返回值

9-5)匿名函数(lambda 表达式)

10、包和模块

10-1)导入整个模块: 

10-2)从模块中导入指定的内容:

10-3)从包中导入模块等:

1、print 输出不换行

''' 让第一次的输出不换行 '''
string = 'hello '
str = 'world.'
print(string, end='')
print(str, end='\n\n\n')            # 结尾空两行
print('goodbye world')

2、格式化输出字符串

phone = input('请输入电话号码: ')     # 命令行输入
string = 'your phone is : 'print(string + phone)print('%s%d' % (string, int(phone)))print(f"{string}{phone}")print('{}{}'.format(string, phone))

3、浮点数的处理

import math
num = 123.745print('舍去小数取整:', int(num))
print('返回两位小数:', '%.2f' % num)
print('返回两位小数:', '{:.2f}'.format(num))
print('向上取整:', math.ceil(num))
print('向下取整:', math.floor(num))
print('舍去小数取整:', math.trunc(num))
print('舍去小数取整:', int(num))
print('四舍五入取整:', round(num))

4、进制转换和ASCII与字符间的转换

ord():字符转ASCII

chr():ASCII转字符

bin():十进制转二进制

oct():十进制转八进制

hex():十进制转十六进制

'''字符与ASCII码之间的转换'''
print(ord('A'))             # 字符转ASCII码 65
print(chr(48))              # ASCII码转字符 0'''进制转换'''
print(bin(78))              # 十进制转二进制 0b1001110
print(oct(78))              # 十进制转八进制 0o116
print(hex(78))              # 十进制转十六进制 0x4e

5、随机数

'''随机数'''
import randomr = random.randint(1, 10)           # 闭区间内生成随机数
print(r)
r2 = random.randrange(1, 10, 2)        # 左闭右开区间生成随机数,步长为2
print(r2)
r3 = random.uniform(1, 5)               # 生成随机小数 左闭
print(r3)
r4 = random.choice("ABSCD")                 # 取随机的一个元素
print(r4)
r5 = random.choice([1,3,4,5,6,2])
print(r5)

6、字符串截取和内置方法

6-1)字符串截取

source = 'Hello_World'
print(source[0:5])          # 取[0,5)    Hello
print(source[:5])           # 取[0,5)    Hello
print(source[2])            # 取下标   l
print(source[-5:-1])        # 取倒数第5到倒数第2个字符   Worl
print(source[5:])           # 第5个到最后一个字符    _World
print(source[-1])           # 取最后一个字符   d
print(source[0:5:2])        # 从范围[0,5)中取,设置步长为2,取下标为 0 2 4拼接    Hlo

6-2)字符串内置方法

source = 'HelloWorld'
print(source.count('l'))        # 字符 l 在字符串中出现的次数
print(len(source))              # 字符串的长度
print(source.split('o'))        # 按照o来拆分 ['Hell', 'W', 'rld']list = ['zhang','hou','wu','wang']
print('#'.join(list))           # 数组合并成字符串 zhang#hou#wu#wang# 编码和解码
source = '你好啊我是张三'
target = source.encode()            # 将字符串按照指定的编码格式转换成字节类型,默认编码格式为utf-8
print(target, target == source)     # b'HelloWorld' False
print(target.decode() == source)    # True
# utf-8编码每 3个字节表示一个中文,而 gbk每 2个字节表示一个中文source = '\n\t  hello world \n\n'
print(source.strip())               # 将字符串左右的换行符和空格都清理掉

7、元组、列表,及其遍历方式

7-1)列表常用内容 

.append(x):往列表最后添加一个元素;

.pop():移除第一个元素;

.reverse():翻转列表;

.remove(x):从列表中移除指定的元素;

(以上四个方法都会改变原数组)

.count(x):统计x在列表中出现的次数;

.index(x):x再列表中第一次出现的位置

.max()、.min()方法分别返回列表中的最大、最小值;

mylist = [1, 6, 234.23, 'adf', '张三']
print(mylist)               # [1, 6, 234.23, 'adf', '张三']
print(mylist[2])            # 234.23
print(mylist[-1])           # 张三
print(mylist[:2])           # [1, 6]
print(6 in mylist)          # True
print(mylist + ['哈哈'])      # [1, 6, 234.23, 'adf', '张三', '哈哈']a,b,c = mylist[:3]
print(a, b, c)              # 1 6 234.23print(len(mylist))          # 5mylist.append('end')
print(mylist)               # [1, 6, 234.23, 'adf', '张三', 'end']
print(mylist.index('张三'))   # 4mylist.pop()
print(mylist)               # [1, 6, 234.23, 'adf', '张三']mylist.reverse()
print(mylist)               # ['张三', 'adf', 234.23, 6, 1]

7-2)元组

        元组是不可改变的,因此元组没有列表中的append、pop、remove等的方法。

tup_1 = (1, 234.23, 'adf', '张三')
print(tup_1[2])         # adf
print(tup_1[:3])        # (1, 234.23, 'adf')tup_2 = (1)
print(tup_2, type(tup_2))       # 1 <class 'int'>tup_3 = (1,)
print(tup_3, type(tup_3))       # (1,) <class 'tuple'>

7-3)几种遍历方式: 

        遍历元组和遍历列表基本一致。

mylist = [1,2,3,4,5,6]
for e in mylist:                 # 遍历,e是mylist中的元素print(e)for i in range(0, len(mylist)):       # 遍历,左闭右开 i 是索引print(i, end='\t')print(mylist[i])''' for——else 结构 '''
for item in mylist:print(item)
else:print("循环结束")''' while——else 结构 '''
i = 0
while i < len(mylist):print(list[i])i += 1
else:print('循环结束')

 

7-4)列表与元组之间的转化

tuple(list):列表转换成元组

list(tuple) :元组转换成列表

list1 = [1,2,3,4,5]
tup1 = tuple(list1)          # 列表转换成元组
print(tup1)                  # (1, 2, 3, 4, 5)
list2 = list(tup1)           # 元组转换成列表
print(list2)                 # [1, 2, 3, 4, 5]

8、字典即其遍历方法

8-1)字典的基本操作 

student = {"name":'张三',"age":24,"gender":'男'
}# 两种获取方法
print(student["name"])              # 张三
print(student.get("name"))          # 张三# 两种修改的方式
student["age"] += 1
print(student)              # {'name': '张三', 'age': 25, 'gender': '男'}
student.update({"name":'王五', "age":18})
print(student)              # {'name': '王五', 'age': 18, 'gender': '男'}student["phone"] = "12312344212"            # 新增
print(student)              # {'name': '王五', 'age': 18, 'gender': '男', 'phone': '12312344212'}student.pop('gender')                       # 删除某一项
print(student)              # {'name': '王五', 'age': 18, 'phone': '12312344212'}

8-2)字典的遍历 

for i in student:                           # 得到的 i 是 keyprint(f"key:{i}, value:{student[i]}")
'''
key:name, value:王五
key:age, value:18
key:phone, value:12312344212
'''for k in student.keys():                    # 直接遍历键print(k)
'''
name
age
phone
'''for v in student.values():                  # 直接遍历值print(v)
'''
王五
18
12312344212
'''for kv in student.items():                  # 遍历出由键和值构造出来的元组print(kv)                       
'''
('name', '王五')
('age', 18)
('phone', '12312344212')
'''for k,v in student.items():                 # 同时遍历键和值print(k, v)
'''
name 王五
age 18
phone 12312344212
'''

9、函数

python 中的参数分为4类
1、必须参数(位置参数,positional argument)
2、默认参数(定义形参时可以指定一个默认值
3、可变长参数,可选参数     加 * 在前面来说明   接收到的数据将组成元组的形式可变长参数必须放到必须参数后,同时建议放到默认参数后
4、字典参数,关键字参数,   字典参数需要在可变长参数之后    加 ** 在前面来说明

9-1)默认参数 


def test_args_1(a, b, c = 100):     # a、b是必须参数,c是默认参数,如果不传c,则c默认为100print(a * b + c)test_args_1(1, 2, 3)        # 5
test_args_1(2, 3)               # 106
test_args_1(c=12, a=3, b=4)         # 能够正常工作,不必关心顺序问题   结果为 24

9-2)可变长参数

def test_args_2(a, b, *args):print(args)             # 可变长参数,以元组的形式存在    (3, 4)print(*args)            # 在元组或列表前面加 * 号,把元组和列表展开    3 4res = 0for item in args:res += itemres += a + bprint(res)      # 10test_args_2(1, 2, 3, 4)

9-3)字典参数(关键字参数)

def test_args_3(a, b, *args, **kwargs):result = a + bprint(result)               # 3print(args)                 # (3,4,5)print(kwargs)               # {'name': '张三', 'age': 64}# 字典参数中的键名不能与函数的形参名相同
test_args_3(1, 2, 3, 4, 5, name="张三", age=64)

9-4)多种返回值

def test_func_1(a,b,c):return a, [b, a], {"sum":a+b+c}res = test_func_1(1,6,3)
print(res)              # (1, [6, 1], {'sum': 10})x,y,z = test_func_1(1,6,3)
print(x,y,z)            # 1 [6, 1] {'sum': 10}

9-5)匿名函数(lambda 表达式)

        lambda 参数:返回值

lamb = lambda a, b : a + b
res = lamb(1, 2)
print(res)                # 3lamb_1 = lambda *args : sum(args)
res = lamb_1(1,2,3,4,5)
print(res)                  # 15

 

10、包和模块

        模块 是包含python定义和语句的文件,每一个以.py后缀结尾的文件都可以看成是一个模块;

        包 可以看成是包含若干个python模块的文件夹(目录),但是该目录下需要有一个 __init__.py 文件才能被识别为一个包(可以在需要的时候在目录下直接创建一个__init__.py 文件);

        在导入一个模块的时候,实际上是把该模块的代码重新执行了一遍;一个模块不管import了多少遍,只会执行一次;可以在任何需要的地方导入模块;

10-1)导入整个模块: 

# 第一中方式
import math, re, osprint(math.sin(math.pi / 2))       # 需要 模块名.函数 或 模块名.变量名 这样的形式来使用# 第二种方式
from math import *print(sin(pi / 2))            # 可以直接使用

10-2)从模块中导入指定的内容:

# 从 math 模块中导入 sin 函数和 pi 模块变量
from math import sin,piprint(sin(pi / 2))

10-3)从包中导入模块等:

# 1
from parent_modules.child_modules.package_1 import testFunc
res = testFunc(1,2)
print(res)# 2
from parent_modules.child_modules.package_1 import *
res = testFunc(1,2)
test('你好')
print(res)# 3
from parent_modules.child_modules import package_1
package_1.test('你好啊')

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

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

相关文章

为什么5G 要分离 CU 和DU?(4G分离RRU 和BBU)

在 Blog 一文中&#xff0c;5G--BBU RRU 如何演化到 CU DU&#xff1f;_5g rru_qq_38480311的博客-CSDN博客 解释了4G的RRU BBU 以及 5G CU DU AAU&#xff0c;主要是讲了它们分别是什么。但是没有讲清楚 为什么&#xff0c;此篇主要回答why。 4G 为什么分离基站为 RRU 和 BBU…

Windows下搜索文件内容的关键字用什么命令

Windows下搜索文件内容的关键字用什么命令 findstr /s /n /i "keyword" file_path其中&#xff0c;/s 表示递归检索子文件夹&#xff0c;/n 表示显示搜索结果所在行号&#xff0c;/i 表示忽略大小写&#xff0c;“keyword” 是要搜索的关键字&#xff0c;file_path 是…

【LeetCode-中等题】17. 电话号码的字母组合

文章目录 题目方法一&#xff1a;递归回溯 题目 方法一&#xff1a;递归回溯 参考讲解&#xff1a;还得用回溯算法&#xff01;| LeetCode&#xff1a;17.电话号码的字母组合 首先可以画出树图&#xff1a; 先将数字对应的字符集合 加入到一个map集合 这里需要一个index来控…

PPT怎么转换为PDF格式,收藏这两个在线工具。

PPT是一种常用的演示文稿格式&#xff0c;它可以包含丰富的动画效果和超链接&#xff0c;让你的内容更加生动和有趣。但是&#xff0c;如果你想将PPT分享给别人&#xff0c;或者在不同的设备上查看&#xff0c;你可能会遇到一些问题&#xff0c;比如&#xff1a; PPT文件太大&a…

使用Python实现二维应力云图

要画应力分布云图&#xff0c;可以使用Python中的科学计算和可视化库来实现 import numpy as np import matplotlib.pyplot as plt# 生成示例数据 x np.linspace(0, 10, 100) # X轴数据范围 y np.linspace(0, 5, 50) # Y轴数据范围 X, Y np.meshgrid(x, y) # 生成网…

Linux命令行

目录 CLI GUI 命令行界面 图形界面 命令行提示符 # $ ​编辑 命令一般由三个部分组成 历史命令&#xff0c;使用上下键&#xff0c;或者使用history&#xff0c;ctrlr搜索历史命令 通配符 *,? 切换用户 su 作业管理 &&#xff0c;jobs,bg,fg CLI GUI 命令行界面 …

内网穿透的应用-不再依赖iCloud!利用群晖生态,自己掌控本地SSD的云存储!

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是想使用群晖生态软件&#xff0c;就必须要在服务端安装群晖系统&#xff0c;具体如何安装群晖虚拟机请参考&#xff1a; 1. 安装并配置synology drive1.1 安装群辉drive套件1.2 在局域…

STM32 CAN快速配置(HAL库版本)

STM32 CAN快速配置&#xff08;HAL库版本&#xff09; 目录 STM32 CAN快速配置&#xff08;HAL库版本&#xff09;前言1 软件编程1.1 初始化1.1.1 引脚设置1.1.2 CAN参数设置1.1.3 CAN滤波器设置 1.2 CAN发送1.3 CAN接收 2 运行测试结束语 前言 控制器局域网总线&#xff08;CA…

fastjson漏洞批量检测工具

JsonExp 简介 版本&#xff1a;1.3.5 1. 根据现有payload&#xff0c;检测目标是否存在fastjson或jackson漏洞&#xff08;工具仅用于检测漏洞&#xff09;2. 若存在漏洞&#xff0c;可根据对应payload进行后渗透利用3. 若出现新的漏洞时&#xff0c;可将最新的payload新增至…

深入学习与探索:高级数据结构与复杂算法

文章目录 学习高级数据结构B树&#xff1a;数据库引擎的骨干线段树&#xff1a;高效的区间查询Trie树&#xff1a;高效的字符串检索 探索复杂算法领域图算法&#xff1a;解决复杂网络问题字符串匹配算法&#xff1a;处理文本搜索近似算法&#xff1a;在NP难题上取得近似解 结论…

kubesphere devops使用

一、创建项目 1 创建项目 企业管理员切换到相应企业空间(租户),创建项目&#xff0c;k8s集群会创建一个相同名字的namespace。如下图所示管理员创建一个ipaas-devops项目。 2.创建镜像拉取密钥信息 进入项目如ipaas-devops&#xff0c;选择配置->保密字典->创建&#xf…

“交叉轮”轮融资后,哪吒汽车能否脚踏“风火轮”续写逆袭故事?

2023年的新能源汽车江湖&#xff0c;烟波浩渺的水面下暗潮汹涌。 从特斯拉年初打响降价第一枪&#xff0c;降价潮至今未见尾声。9月刚至&#xff0c;小鹏汽车、零跑汽车又推出了调价政策。 这一背景下&#xff0c;车企内卷加剧是必然。年初&#xff0c;哪吒汽车联合创始人、C…

EOCR-AR电机保护器自动复位的启用条件说明

为适用不同的现场使用需求&#xff0c;施耐德韩国公司推出了带有自动复位功能的模拟型电动机保护器-EOCR-AR。EOCR-AR电机保护器具有过电流、缺相、堵转保护功能&#xff0c;还可根据实际需要设置自动复位时间。 EOCR-AR自动复位的设置方法 如上图&#xff0c;R-TIME旋钮是自动…

巨人互动|Google海外户Google分析的基础概念

Google Analytics&#xff08;谷歌分析&#xff09;是最受欢迎的网站分析工具之一。它为网站管理员提供了深入了解其网站访问者的机会&#xff0c;并通过数据分析提供有关网站流量、用户行为和转化率的洞察。 1、跟踪代码&#xff08;Tracking Code&#xff09; 跟踪代码是嵌入…

element-ui 修改tooltip样式

1.表格tooltip 统一修改 <el-table:data"tableDatas"tooltip-effect"light" .el-tooltip__popper.is-light {background: #FFF;box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.16);border-radius: 4px;opacity: 1;border: none;&[x-placement^top] .p…

Android相机调用-CameraX【外接摄像头】【USB摄像头】

Android相机调用有原生的Camera和Camera2&#xff0c;我觉得调用代码都太复杂了&#xff0c;CameraX调用代码简洁很多。 说明文档&#xff1a;https://developer.android.com/jetpack/androidx/releases/camera?hlzh-cn 现有查到的调用资料都不够新&#xff0c;对于外接摄像…

基于FPGA的图像sobel边缘提取算法开发,包括tb测试文件以及matlab验证代码

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 202…

智汇云舟出席全球制造业峰会并作主题分享

9月1日-5日&#xff0c;由中华人民共和国商务部、中华人民共和国国家发展和改革委员会、中华人民共和国科学技术部、中国国际贸易促进委员会、辽宁省人民政府共同主办的全球制造业峰会暨第二十一届中国&#xff08;沈阳&#xff09;国际装备制造业博览会在沈阳国际会展中心召开…

Java复习-25-单例设计模式

单例设计模式 目的&#xff08;使用场景&#xff09; 在实际开发下&#xff0c;会存在一种情况&#xff1a;某一种类在程序的整个生命周期中&#xff0c;只需要实例化一次就足够了。例如&#xff0c;系统数据类&#xff0c;由于操作系统只有一个&#xff0c;因此在程序初始化…

为什么大家会觉得考PMP没用?

一是在于PMP这套知识体系&#xff0c;是一套底层的项目管理逻辑框架&#xff0c;整体是比较抽象的。大家在学习工作之后&#xff0c;会有人告诉你很多职场的一些做事的规则&#xff0c;比如说对于沟通&#xff0c;有人就会告诉如何跟客户沟通跟同事相处等等&#xff0c;这其实就…