欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Python的基础语法

时间:2023-08-25
一、注释 目标

注释的作用

注释的分类及语法

注释的特点

1、注释的作用

通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性。

2、注释的分类及语法

注释分为两类:单行注释和多行注释

单行注释

只能注释一行内容,语法如下:

# 注释内容

多行注释

可以注释多行内容,一般用在注释一段代码的情况,语法如下:

"""第一行注释第二行注释第三行注释……"""​'''注释1注释2注释3……'''

注意:解释器不执行任何的注释内容

总结

注释的作用

用人类熟悉的语言对待吗进行解释说明,方便后期维护。

注释的分类

单行注释:# 注释内容,快捷键Ctrl+/

多行注释:"""注释内容"""或者'''注释内容'''

解释器不执行注释内容

二、变量 目标

变量的作用

定义变量

认识数据类型

1、变量的作用

举例体验:我们去图书馆读书,怎么样快速找到自己想要的书籍呢?是不是管理员提前将书放到固定位置,并把这个位置进行了编号,我们只需要在图书馆中按照这个编号查找指定的位置就能找到想要的书籍。

这个编号其实就是把书籍存放的书架位置起了一个名字,方便后期查找和使用。

程序中,数据都是临时存储在内存中,为了更快速的查找或者使用这个数据,通常我们把这个数据在内存中存储之后定义一个名称,这个名称就是变量。

变量就是一个存储数据的时候当前数据所在内存地址的名字而已。

2、定义变量

变量名 = 值

变量名自定义,要满足标识符命名规则

2.1标识符

标识符命名规则时Python中定义各种名字的时候的统一规范,具体如下:

由数字、字母、下划线组成

不能数字开头

不能使用内置关键字

严格区分大小写

False      None     True     and      as       assert    break     classcontinue   def      del      elif     else     except    finally   forfrom       global   if       import   in       is        lambda    nonlocalnot        or       pass     raise    return   try       while     with        yield

2.2 命名习惯

见名知意

大驼峰:即每个单词首字母都大写,例如:MyName

小驼峰:第二个(含)以后的单词首字母大写,例如:myName

下划线:例如:my_name

3、使用变量

my_name='Tom'print(my_name)​schoolName="黑马程序员"print(schoolName)

4、认识数据类型

在Python中为了应对不同的业务需求,也把数据分为不同的类型

# int——整型num1 = 1# float——浮点型,就是小数num2 = 1.1# str——字符串,特点:数据都是要带引号的a = 'hello whorld'# bool——布尔型,通常在判断中使用。布尔型有两个取值:True和Falseb = True# list——列表c = [10,20,30]# tuple——元组d = (10,20,30)# set——集合e = {10,20,30}# dict——字典:键值对f={'name':'TOM','age':'18'}

总结

定义变量的语法

变量名=值

标识符

由数字、字母、下划线组成

不能数字开头

不能使用内置关键字

严格区分大小写

数据类型

整型:int

浮点型:float

字符串:str

布尔型:bool

元组:tuple

集合:set

字典:dict

三、Debug工具

Debug工具是pycharm IDE中集成的用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程或者调解bug。

Debug工具使用步骤:

打断点

Debug调试

3.1 打断点

断点位置

目标要调试的代码块的第一行代码即可,即一个断点即可。

打断点的方法

单击目标代码的行号右侧空白位置。

四、输出 目标

格式化输出

格式化符号

f-字符串

print的结束符

输出

作用:程序输出内容给用户

需求:输出“今年我的年龄是18岁”

1、格式化输出

所谓的格式化输出即按照一定的格式输出内容。

1.1 格式化符号

格式符号转换%s字符串%d有符号的十进制整数%f浮点数%c字符%u无符号的十进制整数%o八进制整数%x十六进制整数(小写ox)%X十六进制正式(大写OX)%e科学计数法(小写'e')%E科学计数法(大写'E')%g%f和%e的简写%G%f和%E的简写

技巧 %06d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出

%.2f,表示小数点后显示的小数位数

'''1、准备数据2、格式化符号输出数据'''age = 18name = 'TOM'weight = 75.5stu_id = 1# 1、今年我的年龄是x岁——整数%dprint('今年我的年龄是%d岁'%age)# 2、我的名字是X——字符串%sprint('我的名字是%s'%name)# 3、我的体重是x公斤——浮点数%fprint('我的体重是%f公斤'%weight)print('我的体重是%.2f公斤'%weight) 注意:这块保留两位小数# 4、我的学号是xprint('我的学号是%d'%stu_id)print('我的学号是%03d'%stu_id)  注意:这块整数以3位整数显示# 5、我的名字是x,今年x岁了print('我的名字是%s,今年%d岁了'%(name,age))# 5.1 我的名字是x,今年x岁了print('我的名字是%s,今年%d岁了'%(name,age+1))# 6、我的名字是x,今年x岁了,体重x公斤,学号是xprint('我的名字是%s,今年%d岁了,体重%.2f公斤,学号是%03d'%(name,age,weight,stu_id))print('我的名字是%s,今年%s岁了,体重%s公斤'%(name,age,weight))

1.2 f'{表达式}'

格式化字符串除了%s,还可以写成f'{表达式}'

name='TOM'age=18# 我的名字是X,今年X岁了print(f'我的名字是{name},今年{age}岁了')

f-格式化字符串是Python3.6中新增的格式化方法,该方法更简单易读

1.3 转译字符

n:换行

t:制表符,一个tab键(4个空格)的距离

print("hello n world")print("t abcd")

1.4 结束符

想一想,为什么两个print会换行输出?

print('输出的内容',end="n")

在Python中,print(),默认自带end="n"这个换行结束符,所以导致每两个print直接会换行展示,用户可以按需求更改结束符

总结

格式化符号

%s:格式化输出字符串

%d:格式化输出整数

%f:格式化输出浮点数

f-字符串

f'{表达式}'

转义字符

n:换行

t:制表符

print结束符

print('内容',end="")

五、输入 目标

输入功能的语法

输入input的特点

1、输入

1.1 输入的作用

在Python中,程序接受用户输入的数据的功能即是输入。

1.2 输入的语法

input("提示信息")

1.3 输入的特点

当程序执行到input,等待用户输入,输入完成后才继续向下执行

在Python中,input接收用户输入后,一般存储到标量中,方便使用

在Python中,input会把接收到的任意用户输入的数据都当做字符串处理。

password=input('请输入您的密码:')print(f'您输入的密码是{password}')

六、转换数据类型 目标

数据类型转换的必要性

数据类型转换常用方法

1、转换数据类型的作用

问:input()接收用户输入的数据都是字符串类型,如果用户输入1,想得到整型该如何操作?

答:转换数据类型即可,即将字符串类型转换成整型

2、转换数据类型的函数 函数说明int(x[,base])将x转换为一个整型float(x)将x转换为一个浮点数complex(real[,imag])创建一个复数,real为实部,imag为虚部str(x)将对象x转换为字符串repr(x)将对象x转换为表达式字符串eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象tuple(s)将序列s转换为一个元组list(s)将序列s转换为一个列表chr(x)将一个整数转换为一个Unicode字符ord(x)将一个字符转换为它的ASCII整数值hex(x)将一个整数转换为一个十六进制字符串

# 1、float()——将数据转换为浮点型num1 = 1str1 = '10'print(type(float(num1))) # floatprint(float(num1)) # 1.0print(float(str1)) # 10.0# 2、str()——将数据转换为字符串型print(typr(str(num1))) #str# 3、tuple()——将一个序列转换为元组list1 = [10 ,20 ,30]print(tuple(list1)) #(10 ,20 ,30)# 4、list()——将一个序列转换为列表t1 = (100 ,200 ,300)print(list(t1)) #[100 ,200 ,300]# 5、eval()——计算在字符串中的有效Python表达式,并返回一个对象str2 = '1'str3 = '1.1'str4 = '(1000 ,2000 ,3000)'str5 = '[1000 ,2000 ,3000]'print(type(eval(str2))) # intprint(type(eval(str3))) # floatprint(type(eval(str4))) # tupleprint(type(eval(str5))) # list

总结

转换数据类型常用的函数

int()

float()

str()

list()

tuple()

eval()

七、运算符 目标

掌握常用运算符的作用

运算符的分类

算数运算符

赋值运算符

复合赋值运算符

比较运算符

逻辑运算符

1、算数运算符 运算符描述实例+加1+1输出结果为2-减1-1输出结果为0*乘2*2输出结果为4/除10/5输出结果为2.0(结果为float型)//整除9//4输出结果为2%取余9%4输出结果为1**指数2**4输出结果为16()小括号小括号用来提高运算优先级,即(1+2)*3输出结果为9

注意:

混合运算优先级顺序:()高于**高于* / // %高于 + -

2、赋值运算符 运算符描述实例=赋值将=右侧的结果赋值给等号左侧的变量

单个变量赋值

num = 1print(num)

多个变量赋值

num1,float1,str1=10,0.5,'hello world'print(num1)print(float1)print(str1)

多变量赋相同值

a = b = 10print(a)print(b)

3、复合赋值运算符 运算符描述实例+=加法赋值运算符c += a 等价于c = c+a-=减法赋值运算符c -= a等价于c = c-a*=乘法赋值运算符c = a 等价于c = ca/=除法赋值运算符c /= a 等价于 c = c / a//=整除赋值运算符c //= a 等价于 c=c//a%=取余赋值运算符c %= a 等价于 c=c%a**=幂赋值运算符c = a 等价于 c=ca

注意:

运算顺序为先运算复合赋值运算符右侧的计算,再进行复合赋值运算

4、比较运算符

比较运算符也叫关系运算符,通常用来判断

运算符描述==判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False)!=不等于。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False)>运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假<运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假>=运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于等于,则条件为真,否则为假<=运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于等于,则条件为真,否则为假5、逻辑运算符 运算符逻辑表达式描述实例andx and y布尔“与”:如果x为假,x and y返回假,否则返回真True and False,返回Falseorx or y布尔“或”:如果x为真,x or y返回真,否则返回y的值False or True,返回Turenotnot x布尔“非”:如果x为真,x and y返回假,如果x为假,not x返回真not True 返回False,not False 返回True

拓展—数字之间的逻辑运算

a=0b=1c=2# and运算符,只要由一个值为0,则结果为0,否则结果为最后一个非0数字print(a and b)#0print(b and a)#0print(a and c)#0print(c and a)#0print(b and c)#2print(c and b)#1# or运算符,只有所有值为0,结果才为0,否则结果为第一个非0数字print(a or b)#1print(a or c)#2print(b or c)#1

总结

算数运算的优先级

混合预算优先级顺序:()高于**高于* / // %高于 + -

赋值运算符

=

复合赋值运算符

+=

-=

优先级

先算复合赋值运算符右侧的表达式

再算复合赋值运算的算数运算

最后算赋值运算

比较运算符

判断相等:==

大于等于:>=

小于等于:<=

不等于:!=

逻辑运算符

与:and

或:or

非:not

八、条件语句 目标

条件语句作用

if语句

if……else……

多重判断

if嵌套

1、了解条件语句

假设一个场景:

同学们这个年龄去过网吧吗?

去网吧进门想要上网必须做的一件事是什么?

为什么要把身份证给工作人员?

是不是为了判断是否成年?

是不是如果成年可以上网?如果不成年则不允许上网?

其实这里所谓的判断就是条件语句,即条件成立执行某些代码,条件不成立则不执行这些代码

2、if语法

2.1 语法

if 条件:条件成立执行的代码1条件成立执行的代码2……

2.2 快速体验

if True: print("条件成立执行的代码1") print("条件成立执行的代码2")

3、实例:上网

需求分析:如果用户年龄大于等于18岁,即成年,输出“已经成年,可以上网”

3.1 简单版

age=20if age>=18: print("已经成年,可以上网")print("系统关闭")

3.2 进阶版

新增需求:用户可以输出自己的年龄,然后系统进行判断是否成年,成年则输出“您的年龄是‘用户输入的年龄’,已经成年,可以上网”。

# input接受用户输入的数据时字符串类型,条件是age和整型18做判断,所以这里要int转换数据类型age = int(input("请输入您的年龄:"))if age >= 18: print(f'您的年龄是{age},已经成年,可以上网')print('系统关闭')

4、if……else……

作用:条件成立执行if下方的代码;条件不成立,执行else下方的代码

思考:网吧上网的实例,如果成年,允许上网,如果不成年呢?是不是应该回复用户不能上网?

4.1 语法

if 条件:条件成立执行的代码1 条件成立执行的代码2 ……else:条件不成立执行的代码1 条件不成立执行的代码2 ……

4.2 实用版:网吧上网

age = int(input("请输入您的年龄:"))if age >= 18: print(f'您输入的年龄是{age},已经成年,可以上网')else: print(f'您输入的年龄是{age},小朋友,回家写作业去')

注意:如果某些条件成立执行了相关的代码,那么其他情况的代码解释器根本不会执行

5、多重判断

思考:中国合法工作年龄为18~60岁,即如果年龄小于18岁的情况为童工,不合法;如果年龄在18~60岁之间为合法工龄;大于60岁为法定退休年龄。

5.1 语法

if 条件1: 条件1成立执行的代码1 条件1成立执行的代码2 ……elif 条件2: 条件2成立执行的代码1 条件2成立执行的代码2 …………else: 以上条件都不成立执行的代码

多重判断也可以和else配合使用。一般else放到整个if语句的最后,表示以上条件都不成立的时候执行的代码。

age = int(input("请输入您的年龄:"))if age < 18: print(f"您输入的年龄是{age},童工")elif (age >= 18) and (age <= 60): # 或者elif 18<=age<=60: print(f"您输入的年龄是{age},合法")elif age > 60: print(f'您输入的年龄是{age},退休')

6、if嵌套

思考:坐公交:如果有钱可以上车,没钱不能上车;上车后如果有空座,则可以坐下;如果没有空座,就要站着。怎么书写程序?

6.1 语法

if 条件1: 条件1成立执行的代码1 条件1成立执行的代码2 …… if 条件2: 条件2成立执行的代码1 条件2成立执行的代码2 ……

注意:条件2的if也是出于条件1的缩进关系内部

6.2 实例:坐公交

money = 1seat = 0if money == 1: print("土豪,请上车") if seat == 1: print("有空座位,坐下了") else: print("没有空座,站着等……")else: print("朋友,没带钱,跟着跑,跑快点")

7、三目运算法

三目运算符也叫三元运算符或三元表达式。

7.1 语法

条件成立执行的表达式if条件else条件不成立执行的表达式。

快速体验:

a = 1b = 2c = a if a > b else bprint(c)

总结

if语句语法

if 条件: 条件成立执行的代码

if……else……

if 条件: 条件成立执行的代码else: 条件不成立执行的代码

多重判断

if 条件1: 条件1成立执行的代码elif 条件2:条件2成立执行的代码else: 以上条件都不成立执行的代码

if嵌套

if 条件1: 条件1成立执行的代码 if 条件2: 条件2成立执行的代码 ……

三目运算符

条件成立执行的表达式 if 条件 else 条件不成立执行的表达式

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。