企业网站备案资料样本,保网微商城官网登录,杂志 wordpress主题,wordpress主页布局title: java经验快速学习python#xff01; date: 2025-02-19 01:52:05 tags:
python学习路线 java经验快速学习python#xff01; 本篇文档会一直更新#xff01;#xff01;#xff01;变量、分支结构、循环结构、数据结构【列表、元组、集合字典】python常用内置函数元…
title: java经验快速学习python date: 2025-02-19 01:52:05 tags:
python学习路线 java经验快速学习python 本篇文档会一直更新变量、分支结构、循环结构、数据结构【列表、元组、集合字典】python常用内置函数元组和列表的比较 字符串占位符函数的使用进阶以及函数的高级应用 前言现在python的应用方向越来越多了如日中天的DeepSeek也是python开发的目前现在的大学生学习的也是python语言感受到了这是一个趋势不能不了解这门语言了。 本篇文档会一直更新
通过在github开源100天可以看到按照上面的学习路线结合人工智能的定向方案一起学习。
下方图片我半年以前是有学习过一遍了太久没用了过一遍基础操作半小时理解一下。
变量、分支结构、循环结构、数据结构【列表、元组、集合字典】 import math
# 学习python的输入输出打印 变量定义
print(123.456)
print(1.23456e2)
radiusfloat(input(请输入圆的半径))
print(radius)
areamath.pi * radius ** 2
print(f面积: {area})
print(f面积: {area:.2f})# 学习类型转换 打印输出格式化 判断语句 ifelse和matchcase
height float(input(身高(cm)))
weight float(input(体重(kg)))
bmi weight / (height / 100) ** 2
print(f{bmi :.1f})
if 18.5 bmi 24:print(你的身材很棒)statusint(input(响应状态码))
match status:case 400:descriptionBad Requestcase 401:descriptionUnauthorizedcase 402:descriptionForbiddencase 403:descriptionForbiddencase 500 |501:descriptionServer Errorcase _:descriptionUnknown Error
print(状态码,description)
# 学习 range 函数 time模块sleep休眠函数
import timefor i in range(10,100):print(i)print(Hello World!)time.sleep(1)
# 学习random 随机数range函数生成1-5999的数字
import randomf10
f20
f30
f40
f50
f60
for i in range(6000):facerandom.randrange(1,7)if face1:f11elif face2:f22elif face3:f33elif face4:f44elif face5:f55elif face6:f66
print(f1点出现了{f1}次)
print(f2点出现了{f2}次)
print(f3点出现了{f3}次)
print(f4点出现了{f4}次)
print(f5点出现了{f5}次)
print(f6点出现了{f6}次)
# 学习列表 取值与定义可以点进去具体方法里面看都有什么类型的方法
itemslist(range(100))
print(items)items[Python,Java,C,C#,JavaScript]
if Python in items:items.reverse()
print(items)python常用内置函数 元组和列表的比较
这里还有一个非常值得探讨的问题Python 中已经有了列表类型为什么还需要元组这样的类型呢这个问题对于初学者来说似乎有点困难不过没有关系我们先抛出观点大家可以一边学习一边慢慢体会。
元组是不可变类型不可变类型更适合多线程环境因为它降低了并发访问变量的同步化开销。关于这一点我们会在后面讲解并发编程的时候跟大家一起探讨。元组是不可变类型通常不可变类型在创建时间上优于对应的可变类型。我们可以使用timeit模块的timeit函数来看看创建保存相同元素的元组和列表各自花费的时间timeit函数的number参数表示代码执行的次数。下面的代码中我们分别创建了保存1到9的整数的列表和元组每个操作执行10000000次统计运行时间。
import timeitprint(%.3f 秒 % timeit.timeit([1, 2, 3, 4, 5, 6, 7, 8, 9], number10000000))
print(%.3f 秒 % timeit.timeit((1, 2, 3, 4, 5, 6, 7, 8, 9), number10000000))itemslist(range(100))
print(items)items[Python,Java,C,C#,JavaScript]
if Python in items:items.reverse()
print(items)#同类型三元组
t1(32,45,96)
# 不同类型四元组
t2(23,zhangsan,True,lisi)
# 学习type函数查看变量的类型
print(type(t1))
print(type(t2))
# 学习 len函数查看变量的数量
print(len(t1))
print(len(t2))
# 学习 元组的索引计算
print(t1[0])
print(t1[1])
print(t1[-1])
print(t1[-2])
#学习切片运算
print(t2[:2]) # 切片在切片第2个元素前结束
print(t2[::3]) # 切片从0开始在下标3前结束
# 循环打印元组元素
for i in t1:print(i)
# 成员运算 下方的例子可以看成if判断
print(32 in t1) #True
print(45 in t1) #True
print(78 in t1) #False
# 拼接运算 元组t1元组t2 成为一个新元组t3
t3t1t2
print(t3)
# 比较运算
print(t1 t3) # False
print(t1 t3) # False
print(t1 (35, 11, 99)) # False
# 学习打包和解包操作
# 打包操作
a 1, 10, 100
print(type(a)) # class tuple
print(a) # (1, 10, 100)
# 解包操作
i, j, k a
print(i, j, k) # 1 10 100# 学习集合
tupic(1,2,3,4) # 这是一个元组
print(tupic)
list{1,2,3,4,5,6,7,8,9,10} # 这是一个集合
print(list)
print(set(hello))
#学习字典
dict1{a:1,b:2,c:3,d:4}
print(dict1)字符串占位符 函数的使用进阶以及函数的高级应用
import functools
import operator
import string
import random
import time# 所有数字和所有字母的字符集
charsstring.digitsstring.ascii_lettersdef generate_code(*,code_len4):return .join(random.choices(chars,kcode_len))
# 学习 定义入参类型 num:int和定义返回参数类型 -bool
def is_prime(num:int)-bool:判断一个正整数是不是质数:param num: 大于1的正整数:return: 如果num是质数返回True否则返回Falsefor i in range(2,int(num**0.5)1):if num%i0:return Falsereturn Truefor _ in range(5):print(generate_code())def calc(*args,**kwargs):itemslist(args)list(kwargs.values())result0for item in items:if(type(item) in (int,float)):resultitemreturn resultdef calc(int_value,of_func,*args,**kwargs):itemslist(args)list(kwargs.values())resultint_valuefor item in items:if(type(item) in(int,float)):resultof_func(result,item)return resultdef add(x,y):return x y
def mul(x,y):return x*y
# 学习将函数传递给函数
# 通过参数名的方式
print(calc(0,add,1,2,3,4,5))
print(calc(1,mul,1,2,3,4,5))def is_even(num):return num%20
def square(num):return num**2
old_nums[35,46,73,52,90]
nums_news[num **2 for num in old_nums if num%20]
print(nums_news)#lambda函数
old_nums [35, 12, 8, 99, 60, 52]
new_numslist(map(lambda x:x**2,filter(lambda y:y%20,old_nums)))
print(new_nums)#用一段代码实现计算阶乘的函数
faclambda n:functools.reduce(operator.mul,range(2,n1),1)#用一段代码实现判断素数的函数
is_prime lambda x:all(map(lambda f:x%f,range(2,int(x**0.5)1)))#调用lambda 函数
print(fac(6))
print(is_prime(37))# 装饰器函数
def recode_time(func):functools.wraps(func)def wrapper(*args,**kwargs):starttime.time()resultfunc(*args,**kwargs)end time.time()print(f{func.__name__}执行时间:{end-start:.2f}秒)return resultreturn wrapper#学习装饰器函数
recode_time
def down(filename):print(f正在下载{filename})time.sleep(random.random()*6)print(f{filename}下载完成)recode_time
def upload(filename):print(f正在上传{filename})time.sleep(random.random()*8)print(f{filename}上传完成)down(Mysql从删库到跑路)
upload(Python从入门到住院)
递归调用
# 递归调用
# 使用 Python 标准库中functools模块的lru_cache函数来优化上面的递归代码
functools.lru_cache
def fac(num):if num in (0,1):return 1return num*fac(num-1)
print(fac(5))面相对象编程应用小例子
Employee.py
from abc import ABCMeta, abstractmethodclass Employee(metaclassABCMeta):def __init__(self,name):self.namenameabstractmethoddef get_salary(self):passclass Manager(Employee):def get_salary(self):return 15000.00
class Programmer(Employee):def get_salary(self,name,working_hour0):super().__init__(name)self.working_hourworking_hourdef get_salary(self):return 200*self.working_hour
class Salesman(Employee):def __init__(self,name,sales0):super().__init__(name)self.salessalesdef get_salary(self):return 1800*self.sales*0.05emps[Manager(刘备),Programmer(诸葛亮),Manager(曹操),Programmer(荀彧),Salesman(张辽)]
for emp in emps:if isinstance(emp,Programmer):emp.working_hourint(input(f请输入{emp.name}本月工作时间))elif isinstance(emp,Salesman):emp.salesfloat(input(f请输入{emp.name}本月销售额))print(f{emp.name}本月工资为{emp.get_salary():.2f}元)
Card.py
import random
from enum import Enumclass Suite(Enum):SPADE,HEART,CLUB,DIAMONDrange(4)for suite in Suite:print(f{suite}:{suite.value})
class Card:def __init__(self,suite,face):self.suitesuiteself.facefacedef __repr__(self):suites♠♥♣♦faces[, A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K]return f{suites[self.suite.value]}{faces[self.face]}#返回牌的花色和点数def __lt__(self, other):if self.suite other.suite:return self.face other.facereturn self.suite.valueother.suite.value
card1Card(Suite.SPADE,5)
card2Card(Suite.HEART,13)
print(card1)
print(card2)class Poker:def __init__(self):self.cards[Card(suite,face)for suite in Suitefor face in range(1,14)]self.current0def shuffle(self):self.current0random.shuffle(self.cards)def deal(self):cardself.cards[self.current]self.current1return cardpropertydef has_next(self):return self.current len(self.cards)pokerPoker()
print(poker.cards)
poker.shuffle()
print(poker.cards)class Player:def __init__(self,name):self.namenameself.cards[]def get_one(self,card):self.cards.append(card)def arrange(self):self.cards.sort()
pokerPoker()
poker.shuffle()
players[Player(东邪),Player(西毒),Player(南帝),Player(北丐)]
for _ in range(13):for player in players:player.get_one(poker.deal())
for player in players:player.arrange()print(f{player.name}:,end)print(player.cards)