python学习1

news/2024/2/22 21:42:43/文章来源:https://blog.csdn.net/qq_30143193/article/details/135604822

#科学计数法
#3.34e2 == 3.34 X 10的2次方(相当于x100) = 334.0
#3.34e-2 == 3.34 X 10的-2次方(相当于x0.01) = 0.0334
复数类型
用complex函数创建复数

//有短路功能测试
a=1
b=0
def f1():
print(“entry f1 function”)
return True
print(a<b or f1())
print(a>b and f1())
print(a<b and f1())

按位取反公式
~a=(a+1)*(-1)

if语句的使用
//单分支
age=5
if age>=3:
print(“可以上幼儿园了”)
print(“学习不知道好不好”)

//双分支
uName=input(“请输入用户名:”)
passWard=input("请输入密码: ")
if uName == “jiang” and passWard == “123”:
print(“输入正确,登录成功!”)
else:
print(“输入错误,请重新输入”)

//多分支(注意elif书写,不是C语言的else if)
score=int(input(“请输入你的会员积分:”)) #转换为int类型
if score==0:
print(“注册会员”)
elif score > 0 and score < 200:
print(“铜牌会员”)
elif score >= 200 and score < 500:
print(“银牌会员”)
elif score >= 500 and score < 1000:
print(“金牌会员”)
else:
print(“钻石会员”)

//嵌套if语句
idCode=input("请输入省份证号码: ")
if len(idCode) == 18:
number = int(idCode[-2])
if number % 2 == 0:
print(“女性”)
else:
print(“男性”)
else:
print(“输入错误”)

//循环
count=0
num=0
while count < 100:
count += 1
num = num + count
print(“1-100的和是:”,num)

//无限循环
while True:
num = int(input("请输入一个数字: "))
print("你输入的数字是: ",num)

//while和else组合使用
count=0
while count < 5:
print(“count :”,count)
count += 1
else:
print(count,“大于或等于5”)

//for循环,(可迭代的)
for 临时对象 in 可迭代对象:
执行语句
执行语句
languages = [“C”,“C++”,“python”,“Java”]
for x in languages:
print("当前语言是: ",x)

for i in range(6): #range内置函数,生成一个数列
print("当前数列是: ",i)

for i in range(3,7): #range一个区间
print("当前数列是: ",i)

//99乘法表:
for i in range(1,10):
for j in range(1,10):
if j <= i:
print(f’{j}
{i}={i*j}’ , end=‘\t’)
print()

//跳转语句(break),通常结合if判断语句使用
for s in “hello”:
if s== ‘l’:
break
print("当前字母是: ",s)

//双重循环和break的配合使用(判断质数)
for n in range(2,10):
for x in range(2,n):
if n%x == 0:
print(n,“等于”,x,“*”,n//x)
break
else:
print(n,“是质数”)

//跳转语句(continue)
for x in [0,-2,5,7,-10]:
if x <= 0:
continue
print(x)
重点:break和continue只能在循环语句里面使用

//pass(空语句,也叫站位语句)
主要是保持程序的完整性

//python容器类型数据
//序列,包括字符串,列表,元组,集合,字典等(相当于数组)
a = “Hello”
print(a[1])
print(max(a))
print(min(a))
print(len(a))

//容器的加和乘操作('+'两边的类型必须相同)
a = “Hello”
print(a + " world")
print(2*a) #hellohello

//容器->切片操作
sname[start🔚step]
str=“hello world”
print(str[:2]) #从0开始,切2个字符
print(str[::2]) #从0开始,到最后结束,步长是2
print(str[:]) #全部截取

//成员测试运算符 in 和not in
str = “hello”
if ‘e’ in str:
print(“e in str”)
if ‘E’ not in str:
print(“E not in str”)
print(‘e’ in str)

//列表的两种创建方法 []和list函数
listOne=[] #空列表
listTwo=[2,3,4,6]
listThree=[1,‘a’,“aaa”,4.5] #元素类型可以不同
for i in listThree:
print(i)
print(type(listThree[3]))

//list函数创建列表
#listOne=list(1) #错误,必须是可以迭代的
listTwo=list(“python”)
print(listTwo)
listThree=list([1,“hello”,1.23])
print(listThree)

from collections import Iterable
print(isinstance(listThree,Iterable)) #判断是否是可迭代对象的方法

//容器追加元素
l=[20,3,5]
print(l)
l.append(56)
print(l)
l2=[55,32]
l.extend(l2)
print(l)

//容器插入元素
name=[“zhangsan”,“lisi”,“wangwu”]
name.insert(2,“jiangxiaoer”)
print(name)

//替换元素
name=[“zhangsan”,“lisi”,“wangwu”]
name[1] = “jianghuaiwei” #替换
print(name)

//删除元素
删除列表元素的方法有del语句,remove()方法,和pop()方法;
//del语句
name=[“zhangsan”,“lisi”,“wangwu”]
del name[2]
print(name) #[‘zhangsan’, ‘lisi’]
//remove函数
name=[“zhangsan”,“lisi”,“wangwu”]
name.remove(“lisi”)
print(name)
//pop函数
number=[1,2,3,4,5]
print(number.pop()) #不指定,则移除最后一个元素
print(number)
print(number.pop(2)) #移除第二个元素
print(number)

//元组的创建
元组是一种不可变序列类型
元组创建方法和列表的创建方式相同
tupleOne=()
tupleTwo=(1,2,3,3,4)
tupleThree=(2,“hello”,3,44) #元组的元素类型可以不同
print(tupleThree)
//另一种创建元组方法
tupleA = tuple(“hello”)
print(tupleA)

//元组拆包
元组拆包,就是把元组的元素赋值给对应的变量
val = (10,20)
a,b=val #元组拆包,元素的个数和变量的个数必须相同
print(a)
print(b)

//集合
//集合是一种可迭代的,无序的,不能包含重复元素的容器
//集合分为可变集合和不可变集合
setOne = set((1,2,3,3)) #用元组创建集合
setTwo = set([1,2,3,3]) #必须有set关键字,用列表创建集合
print(type(setOne))
print(type(setTwo))
print(setTwo)
setThree = {1,2,2,4} #用{}创建集合
print(setThree)
setFour = frozenset([1,2,3]) #不可变集合
print(setFour)

//集合添加元素
setOne = set()
setOne.add(“py”) #添加元素
setOne.update(“jiang”) #添加多个元素,字符串的每个字符作为一个元素
print(setOne)

//集合删除元素
remove discard pop等3种方法删除元素
setOne={1,2,4,5,6}
setOne.remove(4)
#setOne.remove(4) 再次调用会出错
print(setOne)
setOne.discard(2)
setOne.discard(2) #再次调用不会出错
print(setOne)
setOne.pop() #删除某个随机元素
print(setOne)
setOne.clear() #清空元素
print(setOne)

//字典
用{key1:value1,key2:value2,…}创建字典
dict1 = {“key1”:“jiang”,“key2”:“suhui”} #第一种创建字典方法
print(dict1)
score = {} #
print(type(score))
dict2 = dict(name=‘a’,age=‘b’) #使用dict内置函数创建字典
print(dict2)
//dict创建字典,可以接收的参数包括(字典,元组,列表),作为参数可以创建字典

//修改字典(包括添加,修改,删除)
dict1 = {“key1”:“jiang”,“key2”:“suhui”}
dict1.update(k3=“huang”) #update添加,注意k3没有引号
print(dict1)
dict1[“k4”] = “zhang” #第二种添加方法
print(dict1)
dict1[“key1”] = “yuhaizhi” #修改元素
print(dict1)
#pop,popitem,clear等成员函数,删除字典元素
dict1.pop(“key2”) #删除方法1
print(dict1)
dict1.popitem() #删除方法,随机删除元素
dict1.clear() #清空元素
print(dict1)

//字典元素访问
//可以访问所有的item,所有的key,所有的value
info = {‘001’:“jiang”,‘002’:“suhui”}
print(info.items()) #dict_items([(‘001’, ‘jiang’), (‘002’, ‘suhui’)])
for i in info.items(): #(‘001’, ‘jiang’) (‘002’, ‘suhui’)
print(i)
print(info.keys()) #dict_keys([‘001’, ‘002’])
for i in info.keys():
print(i)
print(info.values()) #dict_values([‘jiang’, ‘suhui’])
for i in info.values():
print(i)

//字符串的学习
//普通字符串
str = ‘hello"aaa’#内部如果用双引号,则外侧要用单引号,发过来也是
print(str)
str2 = ‘\u0048’
print(str2) #输出’H’
//原始字符串(以字母r或者R作为前缀的字符串,如R’‘或者r’‘,则称作为原始字符串)
str2 = r’\u0048’ #里面的’‘不具有转义字符的功能,主要用于[路径]的解析
print(str2) #\u0048
//长字符串
使用三个单引号’‘‘或者3个双引号"""括起来;
str = ‘’’
床前明月光,疑是地上霜;
举头望明月,低头思故乡。
‘’’
print(str)

//字符串转换为数字
a = int(“10”)
print(type(a))
a = int(“ab”,16) #按16进制转换
print(a)
//数字转换为字符串(str是内置函数)
a = str(12)
print(type(a))
a = str(True)
print(a) #输出True

//格式化字符串
python的字符串可通过占位符%,format()方法和f-string三种方式实现格式化字符串输出;
(占位符的使用)
name=“小强”
print(“你好,我叫%s” %name) #占位符的使用
age = 20;
print(“你好,我叫%s,年龄%d” %(name,age)) #多个占位符使用
(format的方法)
使用format,不需要关注变量的类型,格式如: <字符串>.format(<参数列表>)
name=“小强”
age = 20
print((“你好,我叫{},今年{}岁了”).format(name,age)) #format的使用
print((“你好,我叫{1},今年{0}岁了”).format(name,age))#另一种方式是通过参数占位符匹配输出
//format还可以对数字进行格式化,包括保留n位小数,数字补齐和显示百分比;
(1)保留n位小数,格式:{:.nf}
pi = 3.1415926
print(“{:.2f}”.format(pi)) #3.14
(2)数字补齐
n = 1
print(“{:0>3d}”.format(n)) #001
(3)显示百分比
n = 0.1
print(“{:.0%}”.format(n)) #10%
(f-string方法)
addr=“beijing”
age=20
print(f’欢迎来到{addr},age is {age}')

//字符串拼接
addr=“beijing”
ip=“127.0.0.1”
print(addr+ip)
//字符串查找
str1=“abcdefg”
index=str1.find(“d”) #返回的是对应索引,如果没找到,返回-1
print(index) #3
index=str1.find(“d”,1,3) #在1到3之间查找
print(index) #-1
//字符串替换 
word=“我是小强,我今年20岁”
new1 = word.replace(‘我’,‘他’) #所有的"我"都替换为"他"
print(new1) #注意,需要用新的字符串接收才可以
new2 = word.replace(“我”,“他”,1) #只替换一个
print(new2)
//字符串分割
#返回的是字符串列表
word=“1,2,3,4,5”
tmp=word.split(‘,’) #没有传递参数,默认以空格分割
print(tmp)
tmp=word.split(‘,’,3) #最大分割3次
print(tmp)
//去除字符串两侧空格
word=" strip "
tmp = word.strip() #默认以空格去除
print(tmp)
word=“aaabbb*”
tmp=word.strip(“*”)
print(tmp)

//python函数学习
def 函数名(参数列表): #def是关键字,必须有
函数体
[return 语句]
def fun(a,b):
return a+b
print(fun(3,4))
//无参函数
b=10
def area():
a=3 + b
print(“a is %d” %a)
return a
print(area()) #如果没有(),则调用的是函数地址
//函数的位置参数(好理解不赘述),关键字参数,默认值参数,不定长参数(主要这四种)
#关键字参数
def info(name,age,addr):
print(f"姓名: {name}“)
print(f"年龄: {age}”)
print(f"地址: {addr}“)
print(info(name=“小王”,addr=“上海”,age=20))
#默认值参数
def info(name,age,addr=“南岗子”):#默认参数必须放到最后
print(f"地址: {addr}”)
print(info(name=“小王”,age=20))
#不定长参数
def fun(*args): #元组的形式
print(args)
fun(1,2,3,‘a’,‘b’) # (1, 2, 3, ‘a’, ‘b’) 以元组的形式输出
def fun(**args): #以关键字(字典)的形式
print(args)
fun(a=1,b=2,c=3,d=‘aaa’) #字典形式输出: {‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: ‘aaa’}

//局部变量作用域
def fun():
name=“python”
print(name)
#print(name)#出了作用域
fun()
//全局变量
count=10
def Fun():
global count #如果修改全局变量的时候,必须用global 修饰下变量,否则会认为是局部变量
count += 10
print(count)
Fun()

//匿名函数(lambda [arg1,arg2]:expression)
area = lambda a,h:(a*h)0.5
print(area)
print(area(3,4))
//递归函数(递归必须有结束条件)
def factorial(num):
if num==1:
return 1
else:
return num
factorial(num-1)
print(factorial(5))#120
//常用内置函数
abs,len,help,ord,chr,filter(用于过滤容器,返回一个新的列表)

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

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

相关文章

Java中的JVM指令和Arthas以及Dump文件(jvisualvm和MemoryAnalyzer工具)整体分析

前言 前天线上服务器突然内存和CPU都爆掉了&#xff0c;两者都处于一种高负载的状态&#xff0c;而且还是周末的情况下&#xff0c;起初运维同事怀疑是用户数量暴增&#xff0c;但是数据面板上并没有出现很大的暴增现象&#xff0c;之前的服务器4G的内存都跑不满后面升到8G还是…

NFS网络共享服务存储

目录 一、NFS简介 1、NFS定义&#xff1a; 2、NFS的特点 3、NFS的优缺点 4、NFS的原理图示 二、服务端NFS配置文件&#xff1a;/etc/exports 三、实验&#xff1a;NFS共享存储服务配置 1、服务端安装nfs-utils与rpcbind软件包 2、服务端新建共享文件夹目录并赋予权限 …

【数据库】sql优化有哪些?从query层面和数据库层面分析

目录 归纳sql本身的优化数据库层面的优化 归纳 这类型问题可以称为&#xff1a;Query Optimization&#xff0c;从清华AI4DB的paper list中&#xff0c;该类问题大致可以分为&#xff1a; Query RewriterCardinality EstimationCost EstimationPlan Optimization 从中文的角…

排序算法9----计数排序(C)

计数排序是一种非比较排序&#xff0c;不比较大小 。 1、思想 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。 2、步骤 1、统计数据&#xff1a;统计每个数据出现了多少次。&#xff08;建立一个count数组&#xff0c;范围从[MIN,MAX],MAX代表arr中…

网页屏幕适配通透了

一&#xff0c;如果设计尺寸固定 那就按照固定尺寸开发 一般都是1920*1080 二&#xff0c;需要适配多种像素屏幕&#xff08;大屏可视化&#xff09; 可使用媒体查询设置多套css样式或者使用自适应单位&#xff0c;%&#xff0c;vw&#xff0c;vh 最好解决方案rem&#xff…

Unity Shader 的模板测试效果

模板测试是渲染管线中逐片元操作的一环&#xff0c;它的作用是筛选出指定模板的片元&#xff0c;而不符合模板的片元会被舍弃&#xff0c;从而做到一个遮罩的效果。 以下是Unity中实践的一个效果&#xff1a; 场景中可以看出&#xff0c;熊模型和茶壶模型都在差不多的位置&am…

Kafka 的架构

实验过程 1.三个虚拟机中解压kafka软件包 tar -zxvf kafka_2.11-1.1.1.tgz 2.修改 3 个节点配置文件 在 zookeeper 节点&#xff0c;进入 kafka_2.11-1.1.1/config 目录下&#xff0c;编辑 server.properties 文件 [rootdb1 ~]# cd kafka_2.11-1.1.1/config [rootdb1 con…

HarmonyOS应用开发者高级认证试题库(鸿蒙)

目录 考试链接&#xff1a; 流程&#xff1a; 选择&#xff1a; 判断 单选 多选 考试链接&#xff1a; 华为开发者学堂华为开发者学堂https://developer.huawei.com/consumer/cn/training/dev-certification/a617e0d3bc144624864a04edb951f6c4 流程&#xff1a; 先进行…

【一】通信协议概述

通信协议概述 简介&#xff1a; 很早之前就思考了要写一下电力系统常用的几种通信协议&#xff0c;一直拖着也没有行动&#xff0c;这次终于下定决心来出一个《通信协议》这样的专栏。电力行业数字化方面资料较少&#xff0c;我理解主要一方面是数字化程度还不高&#xff0c;一…

使用Python操纵Word自动编写离职报告

目录 一、背景介绍 二、技术原理 三、实现步骤 1、安装python-docx库 2、创建Word文档 3、添加标题和内容 4、添加表格和图片 5、设置样式和格式化文本 6、保存文档 四、注意事项与建议 总结 随着现代社会的发展&#xff0c;自动化和智能化已经成为各行各业追求的目…

使用PyTorch实现混合专家(MoE)模型

Mixtral 8x7B 的推出在开放 AI 领域引发了广泛关注&#xff0c;特别是混合专家&#xff08;Mixture-of-Experts&#xff1a;MoEs&#xff09;这一概念被大家所认知。混合专家(MoE)概念是协作智能的象征&#xff0c;体现了“整体大于部分之和”的说法。MoE模型汇集了各种专家模型…

消息的发送与接收

消息的发送与接收 消息的发送与接收不仅仅是在于聊天功能的实现。其实还有很多种情况也算"消息的发送与接收"。而且我们还可以通过多种方法去实现。我们可以基于实际情况来选择。 WebSocket实现 node做后端。找了好多&#xff0c;前端页面总是用到了jQuery&#x…

(C语言)冒泡排序

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//实现buble_sort函数&#xff1b; void buble_sort(int arr[], int sz) {//初始化变量值&#xff1b;int i 0;//嵌套循环冒泡排序&#xff1b;//外层循环&…

【REST2SQL】10 REST2SQL操作指南

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 【REST2SQL】07 GO 操作 Mysql 数据库 【RE…

微信小程序-----全局配置与页面配置

目录 前言 全局配置文件 一、window 1. 小程序窗口的组成部分 2. window 节点常用的配置项 3. 设置导航栏的标题 4. 设置导航栏的背景色 5. 设置导航栏的标题颜色 6. 全局开启下拉刷新功能 7. 设置下拉刷新时窗口的背景色 8. 设置下拉刷新时 loading 的样式 9. 设置…

两步解决宝塔面板无法访问(无法访问或拒绝链接)

宝塔面板&#xff0c;突然无法进入&#xff0c;显示“IP拒绝链接”。 使用SSH工具登录服务器 /etc/init.d/bt defaultbt default 命令 宝塔获取登录的默认地址、用户名和登录密码&#xff1b; 重启面板服务 sudo /etc/init.d/bt初始化宝塔选项 漏刻有时

装饰者模式:打破继承限制,实现灵活的功能扩展

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 装饰者模式&#xff1a;打破继承限制&#xff0c;实现灵活的功能扩展 前言装饰者模式简介装饰者模式的工作原理实际应用java代码实现结语 前言 在软件开发中&#xff0c;我们经常面临着需求的变化和新…

rsync全面讲解

rsync 是一个常用的 Linux 应用程序&#xff0c;用于文件同步。 它可以在本地计算机与远程计算机之间&#xff0c;或者两个本地目录之间同步文件&#xff08;但不支持两台远程计算机之间的同步&#xff09;。它也可以当作文件复制工具&#xff0c;替代cp和mv命令。 它名称里面…

基础面试题整理4

1.mybatis的#{}和${}区别 #{}是预编译处理&#xff0c;${}是字符串替换#{}可以防止SQL注入&#xff0c;提高安全性 2.mybatis隔离级别 读未提交 READ UNCOMMITED&#xff1a;读到了其他事务中未提交的数据&#xff0c;造成"脏读","不可重复读","幻读&…

Python进程池multiprocessing.Pool

环境&#xff1a; 鲲鹏920:192核心 内存&#xff1a;756G python&#xff1a;3.9 python单进程的耗时 在做单纯的cpu计算的场景&#xff0c;使用单进程核多进程的耗时做如下测试&#xff1a; 单进程情况下cpu的占用了如下&#xff0c;占用一半的核心数&#xff1a; 每一步…