【python学习篇1】python基本语法

目录

一、第一个python程序

二、基本语法,数据类型,字面量,循环语句等内容

2.1字面量

2.2注释

2.2.1单行注释

2.2.2多行注释

2.3变量

2.3.1认识变量

2.3.2查看数据类型

2.3.3数据类型转换

2.3.4字符串的三种定义方式

2.3.5字符串的拼接

拼接方式1:使用加号

拼接方式2:使用百分号

占位符类型: 

2.4:input语句

2.5布尔类型和比较运算

2.6:判断语句

2.6.1:if-else语句基本格式:

2.6.2 if elif else多条件判断

2.6.3判断语句的嵌套

2.7循环语句的应用

2.7.1while循环

2.7.2:for循环

案例1:遍历字符串:

案例2:range语句

用法1:range(num)

用法2:range(num1,num2)

用法3:range(num1,num2,num3)

用法4:for循环打印99乘法表

三、函数

3.1函数初体验

3.2函数的定义

3.2.1函数定义与调用

3.2.2函数的传入参数

3.2.3函数的返回值

3.2.4函数返回值为None类型

四、容器相关

4.1列表的定义,输出方式

4.2输出某一个具体的列表元素

4.2.1输出嵌套列表的元素

4.2.2列表在指定下标处插入元素

4.2.3列表末尾插入元素

4.2.4删除指定位置的元素

4.2.5遍历列表的操作

4.3元组

五、python面向对象相关

5.1初识对象和类

5.2类的定义和使用

5.2.1支持参数传入的方式

5.2.2构造方法


一、第一个python程序

在控制台上面输出“你好 python”。

在venv目录下面,新建一个Main1.python的文件夹。

然后在文件当中使用print函数输出一句命令即可。

然后,在Main.py下面,右键一下,运行Main1.py:即可看到下方控制台输出的内容了。


二、基本语法,数据类型,字面量,循环语句等内容

2.1字面量

在代码当中,被写下来的固定的值,称之为字面量。也就类似于我们在Java/C/C++程序当中的定义方式:int a=2;float b=2.5这种类型。此外,python当中还有字符串等字面量。这一类数据类型类似于Java当中的String str="123"。

输出常量:

print("你好 python")print(6666)print(13.14)

然后,查看控制台的内容:


2.2注释

2.2.1单行注释

#和注释的内容一般以一个空格来隔开。

例如如下代码:这一句是一个单行注释。

# 输出你好python
print("你好 python")

2.2.2多行注释

以一对三个引号引起来的内容就是多行注释:

"""这是多行注释的方式"""print(6666)print(13.14)

2.3变量

2.3.1认识变量

在程序运行的时候,能存储计算结果或能表示值的抽象概念。

简单的说,就是在程序运行的时候,记录数据用的。

变量的定义方式:变量名称=变量的值 

#定义一个变量
money=50

输出一个变量:如果想拼接字符串,在python当中需要通过逗号来拼接上的。

print(内容1,内容2,内容3......)

变量的加减乘除:

查看新的值:


2.3.2查看数据类型

将会使用到一个函数:type函数。返回值是数据类型


string_type=type("黑马程序员")print(string_type)int_type=type(123)print(int_type)

运行结果:


2.3.3数据类型转换

对于某一数据类型,转化为特定的类型。

#字符串转整数
number=int("1238")
print(number,type(number))
#整数转字符串
str=str("9876")
print(str,type(str))

运行结果 


2.3.4字符串的三种定义方式

单引号定义法 name='你好'

双引号定义法 name="你好哈哈哈"

三引号定义法 name="""哈哈哈"""

name="张三"
print(name,type(name))name='李四'
print(name,type(name))name='王五'
print(name,type(name))name="""哈哈哈"""
print(name,type(name))

查看运行结果:


2.3.5字符串的拼接

拼接方式1:使用加号

字符串的拼接,一般是使用“+”号来进行拼接,例如:

name="我是小明"print(name+"的爸爸")

那么,输出的内容将会是如下部分:


拼接方式2:使用百分号
name="黑马程序员"
message="学IT就来 %s"%name
print(message)

其中的,%s

% 表示:我要占位。

s表示:将变量变成字符串放入占位的地方。

name="小明"
age=13
print("大家好,我是:%s,我今年%s岁了"%(name,age))

运行结果如下:


占位符类型: 

除了有%s可以占位字符串类型以外,还有%d,%f等占位符,分别代替整数,浮点数。

name="小明"
age=13
print("大家好,我是:%s,我今年%d岁了"%(name,age))

2.4:input语句

input函数和Java当中的Scanner函数,C语言当中的Scanf函数类似,可以把字面量/变量等输入到屏幕上面。input()将是获取键盘输入的函数。

print("请告诉我你是谁?")
name=input();
print("我是:",name)


2.5布尔类型和比较运算

布尔类型有两种取值,一种是true(真),另一种是false(假)。

定义变量存储布尔类型数据:变量名称=布尔类型字面量。

一般,是通过表达式计算结果:10>9:True。10>11:False。

num1=10
num2=5
print("10>5的结果是:",num1>num2)
print("10<5的结果是:",num1<num2)
print(f"num1>=num2的结果是:{num1>=num2}")

如下结果:


2.6:判断语句

2.6.1:if-else语句基本格式:

if 要判断的条件:

条件成立时,要做的事情

else :

条件不成立的时候,要做的事情

注意此处的if,else语句不需要大括号 

示例代码: 

age=30
if age>=18:print("我已经成年了")print("哈哈哈")
else :print("我还没有成年")print("哈哈哈哈哈哈哈哈哈")

运行结果:


2.6.2 if elif else多条件判断

判断的基本格式:

if 条件1:

满足条件1应该做的事情

elif 条件2:

满足条件2应该做的事情

elif 条件N:

满足条件N应该做的事情

else:

所有条件都不满足应该做的事情

代码案例:

age=10
if age>=20:print("您已经超岁数了")
elif age>=10&age<20:print("您刚刚好符合")
else:print("不符合")

运行结果:


2.6.3判断语句的嵌套

基本格式:

if 条件1:

   满足条件1 做的事情1

   满足条件2 做的事情2

   if 条件2:

   满足条件2 做的事情1

   满足条件2 做的事情2

每一个if语句对应的else语句都是齐头并进的 


age=3
if age>=5:if age==10:print("您的年龄是10")else:print("您的年龄在5-10之间")
else:print("您的年龄小于5")

2.7循环语句的应用

2.7.1while循环

while循环的基本语法:

 while 条件:

 满足条件的时候,做的事情1

 满足条件的时候,做的事情2

 满足条件的时候,做的事情3


代码示例:

i=1
while i<=100:print("这是第 %d"%i+"行代码")i+=1

运行结果:

while循环求和1-100代码案例:

i=1
sum=0
while i<=100:print("sum=%d"%sum,"i=%d"%i)sum=sum+i;i+=1;
print("1到100的和是:%d"%sum)

 如下所示:


2.7.2:for循环

程序当中的for循环:

for 临时变量 in 待处理的数据集:循环满足条件时候执行的代码。
案例1:遍历字符串:
name="JIM"
for x in name:#将name的内容挨个取出,赋予临时变量x#就可以在循环体内对x进行处理print(x)

 运行结果:


案例2:range语句

range表示一个序列,一般有两种用法:

用法1:range(num)

这表示num为一个序列:从0开始,比num小1。

for x in range(10):print(x)

运行结果:


用法2:range(num1,num2)

含义:输出[num1,num2)的所有内容

for x in range(10,20):print(x)

运行结果如下: 


用法3:range(num1,num2,num3)

从num1开始,到num2结束。期间的步长为num3:

输出的范围是[num1,num2),期间的步长为num3:

for x in range(10,20,2):print(x)

输出内容如下:


用法4:for循环打印99乘法表
for i in range(1,10):#通过内层循环控制每一行的输出for j in range(1,i+1):#在内层循环当中输出每一行的内容print(f"{j}*{i}={j*i}\t")#外层循环可以通过print输出一个空行print()

运行结果:


三、函数

3.1函数初体验

python当中的函数和Java/C/C++当中的函数类似。下面来一个函数体验一下:

通常采用def 关键字来定义一个函数,基本的格式是:

def 函数名称(参数):

//下面的内容是函数体,需要和def对齐;

def my_len(data):count=0for i in data:count+=1print(f"字符串data的长度是{count}")print("hello")my_len("123456")
my_len("werdfddsa")

运行结果:


3.2函数的定义

3.2.1函数定义与调用

def 函数名称(传入参数):函数体return 返回值......可有可无。

函数定义好之后,需要一个工具去调用它:

#使用def关键字定义一个函数
def sayHi():print("你好呀哈哈哈")#调用这个函数  
sayHi()

3.2.2函数的传入参数

#括号内部是参数列表
def add(x,y):result=x+yprint(f"{x}+{y}的值是{result}")#传入2和3用来调用
add(2,3)

运行结果:


3.2.3函数的返回值

代码示例:

#定义函数,定义参数
def add(a,b):result=a+b#返回一个具体的值return resultr=add(2,3)
#输出这个值
print(r)

3.2.4函数返回值为None类型

python中有一个特殊的字面量:None类型。当一个函数无返回值的时候,也就是没有return语句的时候,返回的类型就是<class 'NoneType'>

无返回值的函数,实际上就是返回了None这个字面量。


#定义函数,定义参数
def add(a,b):result=a+b#返回一个具体的值r=add(2,3)
#输出这个值
print(r)
#类型为None
print(type(r))

运行结果:


四、容器相关

4.1列表的定义,输出方式

代码示例:

name_list=['123','456','789']
print(name_list)
print(type(name_list))

运行结果:


4.2输出某一个具体的列表元素

##
my_list=["Tom","Lily","Rose"]print(my_list[0])
print(my_list[1])
print(my_list[2])

这个时候,点击运行就可以看到结果了:


4.2.1输出嵌套列表的元素

my_list=[[1,2,3],[4,5,6]]
#取的是1号下标元素的2号元素
print(my_list[1][2])

这样的情况下,去到的元素就是6.


4.2.2列表在指定下标处插入元素

my_list=[1,2,3]
#在1号下标处插入元素9
my_list.insert(1,9)
print(my_list)

运行结果:


4.2.3列表末尾插入元素

my_list=[1,2,3]
#在1号下标处插入元素9
my_list.append(4)
print(my_list)

运行结果:


4.2.4删除指定位置的元素

my_list=[1,2,3]
#删除2号下标的元素
del my_list[2]
print(my_list)

 运行结果:

还有其他一些操作,详情见python说明文档 


4.2.5遍历列表的操作

index=0
my_list=[1,2,3]
#下标小于元组的元素数量
while index<len(my_list):#取出来对应的元素element=my_list[index]#输出这个元素print(element)#下标+1,下标依次+1index+=1

运行结果:


4.3元组

       元组一旦定义完成,就不可以修改。它和列表的最大区别就在于:元组被定义好之后是不可变的,而列表是可变的。元组仍然有列表的一系列方法。

       下面仅仅演示定义,遍历的方法:

t7=(1,6,10,5,9)
for i in t7:print(i)print(len(t7))

运行结果:


五、python面向对象相关

5.1初识对象和类

      python当中的类其实就可以理解为实际生活当中我们认识的一个实体。一张数据库表:Student可能有以下几个属性:(姓名,性别,国籍,籍贯,年龄)......

      这就好比:一个class Student里面可能有下面几个属性:(姓名,性别,国籍,籍贯,年龄)

class Student:name=None  #姓名gender=None #性别nationality=None #国籍native_place=None #籍贯age=None #年龄#创建一个对象
stu_1=Student()
#为这个对象赋值
stu_1.name="王佳鑫"
stu_1.gender="男"
stu_1.nationality="中国"
stu_1.native_place="广东省"
stu_1.age=22
##输出内容
print(stu_1.name)
print(stu_1.gender)
print(stu_1.nationality)
print(stu_1.native_place)
print(stu_1.age)

运行结果:


5.2类的定义和使用

在5.1当中,实现了为一个类的属性赋值的方式。

下面,将重点谈一下如何定义一个类的行为,也就是在类的内部定义方法:

基本代码格式:

       在上述代码当中,say_Hi方法就是定义在student类内部的方法。self无论如何都要作为一个参数传入。

class Student:name=None  #学生的姓名age=None   #学生的年龄#成员方法的参数列表一定要包含selfdef say_Hi(self):print(f"Hi大家好,我是{self.name}")stu=Student()
stu.name="王佳鑫"
stu.say_Hi()

运行结果:

此外,还可以创建多个对象:

class Student:name=None  #学生的姓名age=None   #学生的年龄#成员方法的参数列表一定要包含selfdef say_Hi(self):print(f"Hi大家好,我是{self.name}")#创建其中一个对象
stu=Student()
stu.name="王佳鑫"
stu.say_Hi()
#创建另一个对象
stu1=Student()
stu1.name="李小明"
stu1.say_Hi()

运行: 


5.2.1支持参数传入的方式

代码案例:

class Student:name=None  #学生的姓名age=None   #学生的年龄#成员方法的参数列表一定要包含selfdef say_Hi(self):print(f"Hi大家好,我是{self.name}")def say_Hi2(self,mes):print(f"大家好,我的名字是{mes}")#创建其中一个对象
stu=Student()
stu.name="王佳鑫"
stu.say_Hi()
#创建另一个对象
stu1=Student()
stu1.say_Hi2("李小明")

运行结果:


5.2.2构造方法

构造方法一定是这样的格式:

def  两个下划线+init+两个下划线(self,args...):

如下所示: 

class Student:name=Noneage=Nonetel=Nonedef __init__(self,name,age,tel):self.name=nameself.age=ageself.tel=telprint("Student类创建了一个类对象了")stu=Student("123",14,121212121)
print(stu.name)
print(stu.age)
print(stu.tel)

运行结果:


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

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

相关文章

Flutter开发环境和打包流程

Flutter开发环境和打包流程 1.本地开发环境 1.1.安装flutter 官网安装flutter有2种方式&#xff0c;一种是下载flutter的sdk包&#xff0c;一种是VS Code直接安装&#xff0c;照着官网的安装flutter的流程走没有什么问题 1.2.安装Android Studio 去Android Studio的官网直…

若依不分离版本部署流程

一、分离与不分离的区别 参考博客&#xff1a;前后端分离与不分离的本质区别&#xff01;_前后端分离本质-CSDN博客 概念适用场景前后端不分离前端页面看到的效果都是由后端控制&#xff0c;由后端渲染页面或重定向适合纯网页应用前后端分离后端仅返回前端所需的数据&#xf…

Android widget基础指南

widget的概念最早是由一名叫Rose的苹果工程师提出&#xff0c;后来经过多方面机缘巧合的发展下&#xff0c;便有了今天Android平台上的小组件widget&#xff0c;一般APP开发可能应用场景较少&#xff0c;最常见的莫过于天气APP的widget。但对于从事IOT或车载方向的同学&#xf…

WebRTC最新版报错解决:FileNotFoundError: LASTCHANGE.committime (二十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

图形渲染基础学习

原文链接&#xff1a;游戏开发入门&#xff08;三&#xff09;图形渲染_如果一个面只有三个像素进行渲染可以理解为是定点渲染吗?-CSDN博客 游戏开发入门&#xff08;三&#xff09;图形渲染笔记&#xff1a; 渲染一般分为离线渲染与实时渲染&#xff0c;游戏中我们用的都是…

【Linux取经路】文件系统之重定向的实现原理

文章目录 一、再来理解重定向1.1 输出重定向效果演示1.2 重定向的原理1.3 dup21.4 输入重定向效果演示1.5 输入重定向代码实现 二、再来理解标准输出和标准错误2.1 同时对标准输出和标准错误进行重定向2.2 将标准输出和标准错误重定向到同一个文件 三、再看一切皆文件四、结语 …

书生开源大模型训练营-第3讲笔记

5.Langchain和InternLM搭建知识库 5.1环境 还是一样&#xff0c;开发机中创建镜像&#xff0c;以及所需依赖 pip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0.1.99 pip install accelerate0.24.15.2模…

docker安装一系列镜像

启动docker systemctl start docker docker 启动已经停止的容器 docker start idOrName PS&#xff1a;idOrName为容器的id或者名称 1、安装mysql镜像 拉取mysql5.7的镜像 docker pull mysql:5.7 查看镜像 docker images 启动mysql #启动mysql docker run --name mysql…

云呐电网智能运维包含哪些?智能运维都有哪些框架

电网智能运维是一个复杂的系统&#xff0c;包括多种技术和方法&#xff0c;为提升电力系统的效率和稳定性。以下是你提出的问题的实际答案: 网络智能运维的核心技术与应用&#xff1a; 故障检测&#xff1a;根据实时监测和数据分析&#xff0c;对电网中的故障进行快速、准确的…

LabVIEW读取excel日期

LabVIEW读取excel日期 | Excel数据表格中有日期列和时间列&#xff0c;如下表所示&#xff1a; 通过LabVIEW直接读取Excel表格数据&#xff0c;读出的日期列和时间列数据与原始表格不一致&#xff0c;直接读出来的数据如下表所示&#xff1a; 日期、时间列数据异常 问题产生原因…

VBA:批量复制sheet内指定内容

VBA. 批量复制sheet内指定内容 背景&#xff1a;一个excel内有包含0-18序号的Sheet&#xff0c;需要将1-18的sheet内包含标准差的行复制到sheet”0“中。 方法&#xff1a; 从1-18遍历sheet&#xff0c;找到单元格值为”标准差“的行&#xff0c;然后&#xff08;仅复制值&a…

Linux下多核CPU指定程序运行的核

设置程序在指定CPU核心运行 一、如何查看程序运行的CPU信息 1.1 查看当前系统CPU有几个核心 查看CPU核心数量&#xff1a;lscpu 1.2 查看程序的PID ps aux|grep cpu_test1.3 查看程序可运行的CPU taskset -c -p pid1.4 设置程序在指定核心上运行 1.4.1 通过运行时的参数设…

[工具探索]VSCode介绍和进阶使用

相比较GoLand、PhpStorm、PyCharm、WebStorm的重量级内存占用&#xff0c;从Windows系统来&#xff0c;各种卡死&#xff0c;换到MacOS倒不会卡死&#xff0c;但是内存占用太多&#xff0c;影响体验&#xff0c;决定换到VSCode。当然这个过程需要适应过渡期&#xff0c;旧伙计都…

电脑文件误删除如何恢复?2024最新三种恢复方法

我们在使用电脑的过程中&#xff0c;随着时间的不断推移&#xff0c;渐渐的我们会发现C盘内存空间不足了。这是因为我们很多文件都默认存储在C盘&#xff0c;所以导致C盘空间不足&#xff0c;电脑运行越来越慢。那么电脑哪些文件可以删除&#xff0c;电脑删除的东西怎么恢复&am…

There will be “7“ later: Interpretation of next-generation Wi-Fi technology

With the Wi-Fi Alliance announcing the launch of Wi-Fi 7-related certifications, we can also start talking about the new successor to Wi-Fi 6 three years after its launch. What is Wi-Fi 7? What benefits does it bring? These questions about Wi-Fi 7 will b…

Active Directory 的密码管理策略

员工使用的密码可以决定或破坏组织中的数据安全性&#xff0c;但是&#xff0c;知道员工通常不遵循良好的密码卫生习惯也就不足为奇了。从在本机工具&#xff08;如 Windows Active Directory 组策略&#xff09;中设置弱密码和通用密码到宽松的密码策略规则&#xff0c;有几个…

钉钉小程序 没有调用该接口的权限

钉钉小程序 没有调用该接口的权限 problem 钉钉官方自带免登陆小程序 后端接口报错 {"errcode":60011,"errmsg":"没有调用该接口的权限&#xff0c;接口权限申请参考&#xff1a;https://open.dingtalk.com/document/orgapp-server/add-api-permiss…

【C++】---static成员(附OJ题)

一、静态成员变量 1.概念&#xff1a; 声明为static的类成员称为类的静态成员&#xff0c;静态成员分为两种&#xff1a; &#xff08;1&#xff09;static修饰的成员变量&#xff1a;静态成员变量 &#xff08;2&#xff09;static修饰的成员函数&#xff1a;静态成员函数 …

【云原生系列之kubernetes】--Ingress使用

service的缺点&#xff1a; 不支持基于URL等机制对HTTP/HTTPS协议进行高级路由、超时、重试、基于流量的灰度等高级流量治理机制难以将多个service流量统一管理 1.1ingress的概念 ingress是k8s中的一个对象&#xff0c;作用是如何将请求转发到service的规则ingress controlle…

Code Composer Studio (CCS) - 文件比较

Code Composer Studio [CCS] - 文件比较 References 鼠标单击选中一个文件&#xff0c;再同时按住 Ctrl 鼠标左键来选中第二个文件&#xff0c;在其中一个文件上鼠标右击选择 Compare With -> Each Other. References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.n…