Python超详细基础教程,从入门到实践

Python编程从入门到实践 阅读详情
AI摘要

本文全面介绍了Python的基础知识,包括变量和数据类型的操作、列表的管理和应用、条件语句的使用、字典的创建与遍历、函数的设计与调用、类的定义及继承等内容。

一、变量和简单数据类型

  1. 变量的命名只能包含字母、下划线和数字,数字不能打头
  2. f字符串:f是format的简写,python会把花括号内的变量变换为其值
name="  yu xiaohui    "
print(f"Hello {name.title().strip()},would you like to learn some Python today?")

(一)修改字符串大小写

  1. title():将每个单词的首字母改为大写
  2. upper():将字符串全部改为大写
  3. lower():将字符串全部改为小写
name="li wenhao"

print(name.title())
print(name.upper())
print(name.lower())

(二)制表符和换行符

  1. \t:制表符
  2. \n:换行符
print("languages:\n\tPython\n\tC\n\tJava")

(三)删除空白

  1. rstrip():删除字符串末尾空白
  2. lstrip():删除字符串开头空白
  3. strip():删除字符串两边空白
name="  Albert Einstein    "

print(name.lstrip())
print(name.rstrip())
print(name.strip())

(四)数

整数大家都知道,浮点数其实就是小数点可以出现在数的任意位置。

  1. 当数值很大时,用下划线将数分组,使其更清晰易读,注意python并不会打印下划线
number=1000_000_000
print(number)
  1. 同时给多个变量赋值
x,y,z=0,1,2

二、列表

(一)列表定义

[]:表示列表,并用逗号分隔其中的元素,索引从0而不是1开始

fruits=['apple','orange','banana','pear']

print(fruits)	#访问列表
print(fruits[0])	#访问列表第一个元素

(二)修改、添加和删除元素

  1. lst.append():在列表尾部添加元素
fruits=['apple','orange','banana','pear']

fruits.append('strawberry')
print(fruits)
  1. lst.insert(idx,val):在列表的任意位置idx添加元素val
fruits=['apple','orange','banana','pear']

fruits.insert(0,'strawberry')	#把'strawberry'添加到第一个元素
print(fruits)
  1. del lst[idx]:删除列表中的元素
fruits=['apple','orange','banana','pear']

del fruits[0]	#删除第一个元素
print(fruits)
  1. lst.pop(idx):删除idx位置上的元素并返回,默认为结尾
fruits=['apple','orange','banana','pear']

fruit=fruits.pop([1])	#删除列表的第二个元素,并返回第二个元素给fruit变量
print(fruit)
print(fruits)
  1. lst.remove(val):找到元素val在该列表的位置,并删除
fruits=['apple','orange','banana','pear']

fruit='banana'
fruit=fruits.remove(fruit)
print(fruits)

为了能更好的理解这几条语句,编写了一个大合集

party_participator=['Monica','Phoebe','Ross','Chandler','Joey']
party_participator.insert(0,'Rachel')
party_participator.append('Janice')
del party_participator[1]
party_participator.remove('Chandler')
name=party_participator.pop(-2)
print(party_participator)

(三)组织列表

  1. lst.sort():对列表永久排序
  2. sorted(lst):对列表临时排序
  3. lst.reverse():倒着打印列表
  4. len(lst):列表长度
  5. set():找出列表中独一无二的元素构成一个字典({}表示)
fruits=['apple','orange','banana','pear']

print(sorted(fruits))	#临时排序
print(fruits)	
fruits.sort()	#永久排序
print(fruits)
fruits.reverse()	#顺序颠倒
print(fruits)
print(len(fruits))

三、操作列表

(一)遍历整个列表

使用for循环,从列表中从前往后依次取出一个元素赋给fruit,执行相同的操作,注意缩进:

fruits=['apple','orange','banana','pear']

for fruit in fruits:
	print(fruit)

(二)创建数值列表

  1. 使用range()函数,从开始的数到结束的数的前一个数
for value in range(1,5)		#从1到4
	print(value)
  1. 创建数字列表,list()将结果转化为列表
numbers=list(range(1,6))	#从1到5
print(numbers)
numbers=list(range(1,10,2))	#加入步长,列表相邻的数值相差2
print(numbers)
  1. 对数字列表进行简单的统计运算
numbers=[1,2,3,4,5,6,7,8,9,10]

print(min(numbers))	#列表最小值
print(max(numbers))	#列表最大值
print(sum(numbers))	#对列表元素求和
  1. 列表解析:将for循环和创建新元素的代码合并成一行
squares=[value**2 for value in range(1,11)]
print(squares)

(三)使用列表的一部分

  1. 切片
fruits=['apple','orange','banana','pear']

print(fruits[0:3]) #该切片包含从0到2三个元素
for fruit in fruits[0:3]:
	print(fruit)
  1. 复制列表:[:]在新列表上进行的操作对原列表无影响
fruits=['apple','orange','banana','pear']
copy_fruits=fruits[:]
print(copy_fruits)

(四)元组

  1. 使用圆括号而非列表使用的方括号
  2. 元组的元素不可修改
numbers=(1,2,3,4,5)
for number in numbers:
	print(number)

四、if语句

(一)if语句

  1. if-else:要么执行if语句,要么执行else语句
  2. if-elif-else:多个条件测试

(二)条件测试

  1. ==:判断两个值是否相等
  2. !=:判断两个值是否不等
  3. < >= <= >:数值比较
  4. and or :检查多个比较
  5. 布尔表达式:结果要么为True,要么为False
fruits=['apple','orange','banana','pear']
fruit='apple'

if fruit in fruits:
	print("Get it!")
else :
	print("Error!")
	
if fruit == 'apple':
	print("fruit is apple")
elif fruit == 'orange':
	print("fruit is orange")
else:
	print("Cannot find it!")

五、字典

(一)使用字典

键和值之间用冒号分割,而键值对之间用逗号分隔

  1. 访问字典
alien={'color':'green','point':5}
print(alien['color'])
  1. 添加键值对
alien={'color':'green','point':5}
alien['weight']=80
alien['height']=200
print(alien)
  1. 修改字典中的值
alien={'color':'green','point':5}
alien['color']='yellow'
print(alien['color'])
  1. 删除键值对
alien={'color':'green','point':5}
del alien['color']
print(alien)
  1. 使用get()来访问值,如果字典中有键’height’,则返回对应的值,否则返回’No point value assigned.‘
alien={'color':'green','point':5}
value=alien.get('height','No point value assigned.')
print(value)
  1. 更清晰明了的字典,注意锁进和逗号
favorite_languages={
	'Bob':'C',
	'Alice':'Python',
	'Joey':'Java',
	}

(二)遍历字典

  1. 遍历所有键值对items()
languages={
    'Bob':'Python',
    'Alice':'C',
    'David':'Java'
}

for name,language in languages.items():	#items()返回一个键值对列表
    print(f"\nname:{name}")
    print(f"language:{language}")
  1. 遍历所有键keys()
languages={
    'Bob':'Python',
    'Alice':'C',
    'David':'Java'
}

for name in languages.keys():	#返回所有的键
    print(name.title())

  1. 遍历所有值values()
languages={
    'Bob':'Python',
    'Alice':'C',
    'David':'Java'
}

for language in languages.values():	#返回所有的值
    print(language)	

(三)嵌套

  1. 存储字典的列表:每个字典代表一个人的所有信息
aliens=[]   #创建列表

for number in range(30):	#批量创建字典
    new_alien={'color':'green','points':5,'speed':'slow'}
    aliens.append(new_alien)

for alien in aliens[:3]:	#批量修改字典
    if alien['color']=='green':
        alien['color']='yellow'
        alien['points']=10
        alien['speed']='medium'

for alien in aliens[:6]:	#展示前六个
    print(alien)
  1. 存储列表的字典:每个键对应多个值
pizza={
    'crust':'thick',
    'toppings':['mushrooms','extra cheese'],
}

print(pizza['crust'])
print(pizza['toppings'])

六、用户输入和while循环

(一)函数input()

  1. input()让程序暂停运行,等待用户输入一些文本
  2. int()获取数值输入
  3. 求模运算符%,将两个数相除并返回余数
height=input("How tall are you?")
height=int(height)

if(height>160):
    print("\nYou are enough height to ride!")
else:
    print("\nYou didn't reach the height to ride!")

(二)使用while循环

  1. for循环用于针对集合中的每个元素都执行一个代码块,而while循环则不断运行,直到指定的条件不再满足
number=1

while number<=5:
    print(number)
    number+=1
  1. break:不再执行余下的代码并退出整个循环
sentence='Please enter the name of a city you have visited'
sentence+='\n(Enter "quit" when you want to end):'
while True:
    city=input(sentence)

    if city=='quit':
        break
    else:
        print(f"I'd like to go to {city.title()}")
  1. continue:不再执行余下的代码并返回至循环开头
number=0

while number<10:
    number+=1
    if number%2==0:
        continue
    print(number)

(三)使用while循环处理列表和字典

  1. 在列表之间移动元素
users=['Bob','Alice','Joey']
new_users=[]

while users:
    user=users.pop()
    new_users.append(user)
    
print(users)
print(new_users)
  1. 删除为特定值的所有列表元素
pets=['dogs','cat','dog','rabbit','dog','wolf']

while 'dog' in pets:
    pets.remove('dog')
print(pets)
  1. 使用用户输入来填充字典
responses={}
flag=True

while flag!='no':
    name=input("What's your name:")
    response=input("Do you like Basketball(yes/no):")
    responses[name]=response
    flag=input("anyone else?(yes/no):")

print(responses)

七、函数

(一)创建函数

函数是带名字的代码块,用于完成具体的工作,使用关键词def来定义。

  1. 定义函数
def greet_user():
    print("Hello!")

greet_user()	#调用定义的函数
  1. 向函数传递信息
def language(name,language):	#形参
    print(f"{name} is good at {language}")

language('Bob','Python')	#实参
language('Alice','C')
  1. 形参指定默认值后,可在函数调用中省去相应的实参
def pet(name,type='dog'):	#'type'为默认值
    print(f"Its name is {name}\nIts type is {type}")

pet('Dabai')
  1. 返回函数值
def format_name(first_name,last_name):
    name=f"{first_name.title()} {last_name.title()}"
    return name

name=format_name('li','wasai')
print(name)
  1. 传递任意数量的实参
def make_pizza(size,*toppings):
    print(f"\nMaking a {size}-inch pizza with the following toppings:")
    for topping in toppings:
        print(f"- {topping}")
        
make_pizza(16,'mushrooms','green peppers','extra cheese')
  1. 使用任意数量的关键字实参
def build_profile(first,last,**user_info):
    user_info['first_name']=first
    user_info['last_name']=last
    return user_info

user_profile=build_profile('Li','Wasai',
                           location='Jining',field='computer')
print(user_profile)

(二)导入函数

  1. 导入特定的函数
from numpy import array,arange
  1. 使用as指定别名
import numpy as np

np.array([1,2,3,4,5])
  1. 导入模块中所有函数
from numpy as *

array([1,2,3,4,5])

八、类

面向对象编程
根据类来创建对象称为实例化

(一)创建和使用类

  1. 创建Dog类和实例
class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.steps = 0	给属性制定默认值,无需再用形参来定义

    def sit(self):
        print(f"{self.name} is now sitting")

    def roll_over(self):
        print(f"{self.name} rolled over")

    def run(self):
        print(f"{self.name} have run {self.steps} steps")

    def update_run(self,steps):	#通过方法修改属性的值
        self.steps=steps
        
#使用类和实例
my_dog = Dog('Dabai', 6)	
print(f"its name is {my_dog.name}\nits age is {my_dog.age}")
my_dog.sit()    #调用方法
my_dog.roll_over()
my_dog.run()
my_dog.update_run(10000)
my_dog.run()
  1. 方法__init__()

方法__init__()是类必不可少的,每当你根据Dog类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定。

(二)继承

  1. 父类
class Car:
    def __init__(self,make,model,year):
        self.make=make
        self.model=model
        self.year=year
        self.odometer_reading=0
    
    def get_descriptive_name(self):
        long_name=f"{self.year} {self.make} {self.model}"
        return long_name.title()
    
    def read_odometer(self):
        print(f"This car has {self.odometer_reading} miles on it")
    
    def update_odometer(self,mileage):
        if mileage>=self.odometer_reading:
            self.odometer_reading=mileage
        else:
            print("You can't roll back on adometer!")

    def increment_odometer(self,miles):
        self.odometer_reading+=miles

  1. 子类
class Car:
	--snip--
class ElectricCar(Car): #定义子类时,必须在圆括号内指定父类的办法
    def __init__(self,make,model,year):
        super().__init__(make,model,year)   #super()让你能够调用父类的办法
        self.battery_size=75	#让子类定义属性

    def describe_battery(self):		#让子类定义方法
        print(f"This car has a {self.battery_size}-kwh battery")
        
    def fill_gas_tank(self):    #重写父类的方法
        print("This car doesn't need a gas tank!")

my_tesla=ElectricCar('tesla','model s',2019)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()

3.将实例用作属性

class Car:
	--snip--
	
class Battery:	#定义一个新类,表示电动汽车电瓶的属性和方法
    def __init__(self,battery_size=75):
        self.battery_size
        
    def describe_battery(self):
        print(f"This car has a {self.battery_size}-kwh battery")
        
class ElectricCar(Car): #定义子类时,必须在圆括号内指定父类的办法
    def __init__(self,make,model,year):
        super().__init__(make,model,year)   #super()让你能够调用父类的办法
        self.battery=Battery()	#创建Battery实例赋给属性self.battery

    def fill_gas_tank(self):    #重写父类的方法
        print("This car doesn't need a gas tank!")

my_tesla=ElectricCar('tesla','model s',2019)
print(my_tesla.get_descriptive_name())
my_tesla.battery.describe_battery()
Python基础教程,从入门到实践(超详细) Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助! 阅读详情

相关推荐

python编程从入门到精通书,python编程入门电子书

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

nbhkk的博客 1093

Python编程,从入门到实践(一)

Python编程,基础,小白,字符串基本操作,title,upper,去除空格

qq_44961457的博客 3951

掌握Python编程:从入门到精通的完整指南

Python的历史和发展Python的优点和应用领域。

jixn的博客 2万+

Python笔记——Python超详细基础教程,从入门到实践_python编程从入门到实践

本文介绍了Python基础入门知识,主要包括变量和列表操作。在变量部分,讲解了命名规则、f字符串格式化、字符串大小写转换、制表符/换行符使用、空白处理及数值类型。列表部分详细说明了列表定义、元素修改(添加/删除)、组织方法(排序/反转/长度)以及数值列表创建(range函数)和统计运算。文章通过大量代码示例演示了append、insert、pop、remove等常用列表方法的使用,并强调了for循环遍历列表和缩进规范。这些基础知识是Python编程的重要入门内容。

a25847a的博客 620

Python编程——从入门到实践

Python是一种简单易学、功能强大的高级编程语言。它被广泛用于数据分析、人工智能、Web开发、网络爬虫等多个领域。本文将介绍Python的基础知识和实践技巧。Python支持多种数据类型,例如整数、浮点数、字符串等。在Windows系统中,你可以从Python官网上下载安装程序,并双击运行安装向导完成安装。以上是Python编程基础的简要介绍。要成为Python专家,还需要不断学习和实践。模块是一系列相关函数和变量的集合,可以被其他程序重复使用。条件语句用于根据不同的情况执行不同的代码块。

2301_79366435的博客 496

深入解析Carry4的内部结构与工作原理

本文深入解析了Xilinx/AMD FPGA中的核心硬件资源Carry4的内部结构和工作原理。作为实现超前进位的关键物理电路,Carry4通过其CI、DI、S、O、CO等端口,高效处理4位算术运算的进位逻辑。文章通过端口详解、结构分析和实战计算示例,揭示了其如何加速加法、减法等运算,并探讨了其在优化FPGA设计时序与资源利用中的关键作用。

n4o5p6q7r的博客 501

Python基础教程,Python入门教程

Python 是一门上手简单、功能强大、通用型的脚本编程语言。Python 类库极其丰富,这使得 Python 几乎无所不能,网站开发、软件开发、大数据分析、网络爬虫、机器学习等都不在话下。 这套 Python 基础教程不是教科书,不会玩弄概念,而是力求口语化、通俗化,让大家尽快入门。 如果小朋友出于兴趣学习本教程,可先引导他阅读教程的前半部分,这是基础;如果你想全面掌握 Python 编程,...

weixin_39655220的博客 1万+

安装keil5(MDK)及导入pack包教程

首先说明的是我安装的Keil版本为Keil V5.29.0.0 1、安装软件 右键管理员权限运行安装包 设置安装路径以及pack的存放路径 随意输入First Name和E-mail 安装驱动 完成软件安装,然后可以先关闭弹出的Pack Install(一会再添加) 2、激活一下软件 打开桌面的Keil File → License Management(我之前注册过了) 右...

hrx-@@ 10万+

python基础教程书籍推荐,python基础教程推荐书

是经典的Python入门教程书籍,本书层次鲜明,结构严谨,特别是在最后几章中,作者将前面讲述的内容应用到项目中,并以模板的形式介绍了项目的开发过程,手把手教授Python开发,让读者从项目中领略Python的真正魅力。学习编程,单单只是看书是不够的,更重要的还是要多动手,多写代码,能够找个项目实践那就更好了,从实际应用场景出发,用程序解决手头的一些繁琐复杂问题,这样才能加强自己对语言的应用。编程入门的必备书,从一个个的小例子入手,不仅是教你写Python代码,还有编程的技巧。

2301_81900386的博客 900

ADS基础教程24 - Gerber文件的导入

一、引言二、基本概念1.仿真文件下载2.仿真文件介绍二、导入步骤1.新建workspace2.选择Layout结构3.导入设计4.选择文件类型5.导入文件6.预览文件内容7.铜皮离散问题四、总结选择。通过本文章结束,可以了解ADS中如何将导入Gerber文件,并且对导入的铜皮进行合并。下一步就针对导入的文件进行层叠设置和编辑。END!}}END!

XZ_ZC的博客 3047

Unity 面试篇|(四)Unity性能优化篇 【全面总结 | 持续更新】

Unity中,CPU准备好需要绘制的元素,对底层图形程序接口进行调用的过程,每次引擎准备数据并通知GPU的过程称为一次Draw Call。DrawCall越高对显卡的消耗就越大。降低DrawCall的方法:动态合批静态合批降低shader的等级特性场景优化策略——遮挡技术。rectMask2D替代Mask。

游戏开发小Y的博客 13万+

Python入门必看的7本书,小白Python基础教程

Python入门必看的7本书,小白Python基础教程

隔壁王叔的博客 1060

YOLOv11改进 | Conv篇 | 图像去雾卷积DEConv助力yolov11有效涨点(部署零额外开销)

本文介绍了一种最新改进机制用于低层视觉任务的细节增强卷积(DEConv)机制。DEConv在训练阶段采用"普通卷积+差分卷积"的多分支并联结构,增强网络对边缘、纹理等细节特征的学习能力;在推理阶段可折叠为标准3×3卷积,保持与普通卷积相同的计算效率。文中详细阐述了DEConv的工作原理、实现方法以及在YOLOv11中的应用步骤,包括核心代码解析、模型修改方法和训练配置。实验表明,该机制在去雾、去噪、超分等强调细节重建的任务中具有显著优势。文章还提供了完整的代码实现和训练指导.

Snu77的博客 2431

这才是最适合新手的python基础教程,640页超详细

python入门虽然简单,很多新手依然卡在基础安装阶段,大部分教程对一些基础内容都是一带而过,好多新手朋友,对一些基础知识常常一知半解,需要在网上查询很久。

weixin_72959097的博客 1754

芒果YOLO11改进44:主干Backbone篇之MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

MobileViT::结合最新 ICLR2022 顶会|轻量通用的MobileViT结构(一)Transformer,轻量级、通用且移动友好的视觉转换

包括YOLOv5、YOLOv7、YOLOv8等模型改进 369

什么是 SAP Fiori 的 Technical Catalog

笔者之前的文章曾经提到一个叫做本文介绍 Technical Catalog 这个概念在 SAP Fiori 技术体系中的作用。首先我们如何在系统里查看这个 Catalog SAP_BASIS_TCR_T 里面包含的内容呢?如果大家照着本文开头那篇文章里提到的步骤,那么在自己系统里会创建好名叫的 PFCG role.我们登录 ABAP 系统,启动事务码 PFCG,打开这个 role, 就能看到它。展开之后,发现它扮演着一个容器的角色,里面包含了很多 ABAP 对象。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 742
上一篇: Anaconda安装opencv库详细教程
下一篇: python使用Canny算法和HoughCiecle算法实现圆的检测与定位
李问号
博客等级 码龄7年 242粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值