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

一、第一个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=0
    for i in data:
        count+=1
        
    print(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+y
    print(f"{x}+{y}的值是{result}")

#传入2和3用来调用
add(2,3)

运行结果:


3.2.3函数的返回值

代码示例:

#定义函数,定义参数
def add(a,b):
    result=a+b
    #返回一个具体的值
    return result

r=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,下标依次+1
    index+=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   #学生的年龄

    #成员方法的参数列表一定要包含self
    def say_Hi(self):
        print(f"Hi大家好,我是{self.name}")

stu=Student()
stu.name="王佳鑫"
stu.say_Hi()

运行结果:

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

class Student:
    name=None  #学生的姓名
    age=None   #学生的年龄

    #成员方法的参数列表一定要包含self
    def 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   #学生的年龄

    #成员方法的参数列表一定要包含self
    def 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=None
    age=None
    tel=None

    def __init__(self,name,age,tel):
        self.name=name
        self.age=age
        self.tel=tel
        print("Student类创建了一个类对象了")

stu=Student("123",14,121212121)
print(stu.name)
print(stu.age)
print(stu.tel)

运行结果:


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

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

相关文章

港口码头航吊远距离相位测距仪|传感器PHR-120100配置使用说明

港口码头航吊远距离相位测距仪|传感器PHR-120100广泛应用于港口码头、航车、位移监测、形变监测、钢铁、堆垛机、龙门吊等领域。 本文重点介绍港口码头航吊远距离相位测距仪|传感器PHR-120100配置使用说明。 一、布局介绍 二、按键介绍 三、指示灯说明 四、显示屏操作说明 …

片上网络NoC(4)——直连拓扑

目录 一、前言 二、直连拓扑 三、总结 一、前言 本文中&#xff0c;我们将继续介绍片上网络中拓扑相关的内容&#xff0c;主要介绍直连拓扑&#xff0c;在此之前&#xff0c;我们已经介绍过了拓扑的指标&#xff0c;这将是继续阅读本文的基础&#xff0c;还没有了解相关内容…

[WinForm开源]概率计算器 - Genshin Impact(V1.0)

创作目的&#xff1a;为方便旅行者估算自己拥有的纠缠之缘能否达到自己的目的&#xff0c;作者使用C#开发了一款小型软件供旅行者参考使用。 创作说明&#xff1a;此软件所涉及到的一切概率与规则完全按照游戏《原神》(V4.4.0)内公示的概率与规则&#xff08;包括保底机制&…

BUGKU-WEB GET

题目描述 没有提示&#xff0c;就一个get&#xff0c;启动场景看看&#xff1a; 解题思路 显然是PHP语言解读分析代码吧写出你的payload 相关工具 略 解题步骤 进入场景分析代码 $what$_GET[what]; echo $what; if($whatflag) echo flag{****};前两句&#xff1a;使用get…

扩展速度提高了12倍!AWS Lambda 函数重大改进!

Marcia 是 Amazon Web Services 的首席开发倡导者&#xff0c;在软件行业构建和扩展应用程序方面拥有20年的工作经验。她热衷于设计能够充分利用云并拥抱DevOps文化的系统。最近她发表了一篇博文&#xff0c;带来了一个AWS Lambda重大改进&#xff1a;扩展速度提升了 12 倍&…

VUE学习——表单的输入绑定

使用【v-model】。 输入框 <template><h1>表单输入绑定</h1><input type"text" v-model"message"><p>输入的值&#xff1a;{{ message }}</p> </template> <script>export default{data(){return{messa…

Rabbit和Springboot整合(高阶)

在昨天的练习作业中&#xff0c;我们改造了余额支付功能&#xff0c;在支付成功后利用RabbitMQ通知交易服务&#xff0c;更新业务订单状态为已支付。 但是大家思考一下&#xff0c;如果这里MQ通知失败&#xff0c;支付服务中支付流水显示支付成功&#xff0c;而交易服务中的订单…

Python算法题集_LRU 缓存

Python算法题集_LRU 缓存 题146&#xff1a;LRU 缓存1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【队列字典】2) 改进版一【有序字典】3) 改进版二【双向链表字典】 4. 最优算法 本文为Python算法题集之一的代码示例 题146&#xff1a;LRU …

Xubuntu16.04系统中修改系统语言和系统时间

1.修改系统语言 问题&#xff1a;下图显示系统语言不对 查看系统中可用的所有区域设置的命令 locale -a修改/etc/default/locale文件 修改后如下&#xff1a; # File generated by update-locale LANG"en_US.UTF-8" LANGUAGE"en_US:en"LANG"en_US…

力扣hot2--哈希

推荐博客&#xff1a; for(auto i : v)遍历容器元素_for auto 遍历-CSDN博客 字母异位词都有一个特点&#xff1a;也就是对这个词排序之后结果会相同。所以将排序之后的string作为key&#xff0c;将排序之后能变成key的单词组vector<string>作为value。 class Solution …

【Linux】线程概念和线程控制

线程概念 一、理解线程1. Linux中的线程2. 重新定义线程和进程3. 进程地址空间之页表4. 线程和进程切换5. 线程的优点6. 线程的缺点7. 线程异常8. 线程用途9. 线程和进程 二、线程控制1. pthread 线程库&#xff08;1&#xff09;pthread_create()&#xff08;2&#xff09;pth…

点击侧边栏菜单时只切换 <router-view> 中的内容,而不是进行整个页面的路由跳转(动态路由)

解决方法&#xff1a;在 <el-menu> 的 select 事件中调用了 handleMenuSelect 方法来处理菜单项的选择。你可以在 handleMenuSelect 方法中根据菜单项的 index 来执行相应的操作&#xff0c;例如更新组件内的数据或者切换组件。由于整个页面的路由路径并没有改变&#xf…

【教程】MySQL数据库学习笔记(三)——数据定义语言DDL(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 第三章 《数据定义语言DDL》 文章目录 【MyS…

智能汽车行业产业研究报告:4D成像毫米波雷达—自动驾驶最佳辅助

今天分享的是智能汽车系列深度研究报告&#xff1a;《智能汽车行业产业研究报告&#xff1a;4D成像毫米波雷达—自动驾驶最佳辅助》。 &#xff08;报告出品方&#xff1a;开源证券&#xff09; 报告共计&#xff1a;43页 视觉感知最佳辅助——4D 成像毫米波雷达 感知是自动…

Excel模板1:彩色甘特图

Excel模板1&#xff1a;彩色甘特图 分享地址 当前效果&#xff1a;只需要填写进度&#xff0c; 其余效果都是自动完成的 。 阿里网盘永久分享&#xff1a;https://www.alipan.com/s/cXhq1PNJfdm ​省心。能用公式的绝不使用手动输入。 ​​ 这个区域以及标题可以手动输入…

C++PythonC# 三语言OpenCV从零开发(8):图像平滑处理

文章目录 相关链接前言图像资源图像平滑处理图像学知识补充(重点)什么是卷积什么是图像滤波什么是方框滤波和均值滤波 代码PythonCCsharp 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程&#xff08;附带课…

【C++】内存五大区详解

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

【C语言】指针专项练习 都是一些大厂的笔试真题 附有详细解析,带你深入理解指针

一.sizeof()与strlen() sizeof是一个操作符&#xff0c;而strlen是一个库函数。 数组名代表首元素地址&#xff0c;有两种情况例外&#xff0c;第一种是数组名单独放在sizeof内部&#xff0c;第二种是&数组名&#xff0c;这两种情况下数组名代表的是整个数组。sizeof(arr…

【教程】Kotlin语言学习笔记(一)——认识Kotlin(持续更新)

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【Kotlin语言学习】系列文章 第一章 《认识Kotlin》 文章目录 【Kotlin语言学习】系列文章一、Kotlin介绍二、学习路径 一、…

huggingface学习|用dreambooth和lora对stable diffusion模型进行微调

目录 用dreambooth对stable-diffusion-v1-5模型进行微调&#xff08;一&#xff09;模型下载和环境配置&#xff08;二&#xff09;数据集准备&#xff08;三&#xff09;模型微调&#xff08;四&#xff09;运行微调后的模型 用lora对stable-diffusion-v1-5模型进行微调&#…