Python语法

Python语法

1. 几个概念

1.1 表达式

  • 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
  • 特点:仅用于计算一些结果,不会对程序产生实质性的影响,在交互模式中输入一个表达式,解释器会自动将表达式的结果输出

1.2 语句

  • 语法上自成体系的单位,由一个词或句法上有关连的一组词构成
  • 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果

1.3 程序(Program)

  • 程序就是由一条一条的语句和一条一条的表达式构成的。

1.4 函数(function)

  • 函数就是一种语句,函数专门用来完成特定的功能
  • 函数长的形如:xxx()
  • 函数的分类:
    内置函数: 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
    自定义函数: 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
  • 函数的2个要素:参数 返回值.

2. 标识符

2.1关键字

  • python一些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使用的了,不允许开发者自己定义和关键字相同的名字的标识符
    在这里插入图片描述

2.2 标识符概念

  • 开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
  • ==**组成:由26个英文字母大小写,数字 0-9 符号 _$
  • 标识符的规则**:==
  • 1.标识符中可以包含字母、数字、_,但是不能使用数字开头 例如:name1 name_1 _name1 1name(不行)
  • 2.Python中不能使用关键字和保留字来作为标识符
  • 命名方式
  • 驼峰命名法
  • 小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
  • 大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
  • 下划线命名法:
  • 在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如 get_url buffer_size

变量

变量

变量的概念:

  • 变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字。

  • 变量命名规则:变量名由字母、数字、下划线组成要符合标识符的命名规范;数字不能开头;不能使用关键字

  • 注意 :两个对象相等和两个对象是同一个对象是两个概念

s1 = {'Jerry':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry': 'Python'}

print(id(s1),id(s2))
print(s1==s2)

变量的运算

在这里插入图片描述
在这里插入图片描述

  • 正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型

变量在内存中的原理

原理:变量在内存中就是一块特定的存储区域(地址)。

1. 引用变量

  • 两个引用指向同一个int数据
a = 1
b = 1
print(id(a),id(b))

结果:地址一样

  • 两个引用指向同一个str数据
str1 = 'asdf'
str2 = 'asdf'
print(id(str1),id(str2))

结果:地址一样

  • 两个引用指向同一个list数据
list1 = [1,2,3]
list2 = [1,2,3]
print(id(list1),id(list2))

结果:地址不一样

2.拷贝

list1 = [1, 2, 3]
list2 = list1.copy()
print(id(list1), id(list2))

结果:地址不一样

运算符

1. 运算符

1.1 运算符的概念

  • 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”

1.2 运算符的分类

  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 条件运算符(三元运算符)

2. 算术运算符

  • 加法运算符 表现形式 +
  • 减法运算符 表现形式 -
  • 乘法运算符 表现形式 *
  • 除法运算符 表现形式 /
  • // 整除,只会保留计算后的整数位,总会返回一个整型
  • % 取模,求两个数相除的余数
  • ** 幂运算,求一个值的几次幂

3. 赋值运算符

赋值运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的

  • += (x+= 3 相当于 x = x + 3 )
  • -= (x -= 3 相当于 x= x - 3 )
  • *= (x = 3 相当于 x = x 3 )
  • **= (x **= 3 相当于 x = x ** 3 )
  • /= (x /= 3 相当于 x = x/ 3 )
  • //= (x //= 3 相当于 x = x // 3 )
  • %= (x %= 3 相当于 x= x % 3 )

4. 比较运算符

  • 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
  • > 比较左侧值是否大于右侧值
  • >= 比较左侧的值是否大于或等于右侧的值
  • < 比较左侧值是否小于右侧值
  • <= 比较左侧的值是否小于或等于右侧的值
  • 特殊的比较方式
    == 比较两个对象的值是否相等
    != 比较两个对象的值是否不相等
    is 比较两个对象是否是同一个对象,比较的是对象的id
    is not 比较两个对象是否不是同一个对象,比较的是对象的id

5. 逻辑运算符

5.1 not 逻辑非

  • not可以对符号右侧的值进行非运算,对于布尔值,非运算会对其进行取反操作,True变False,False变True

5.2 and 逻辑与

  • and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
  • 与运算是找False的,如果第一个值为False,则不再看第二个值

5.3 or 逻辑或

  • 或运算两个值中只要有一个True,就会返回True
  • 或运算是找True的

5.4 非布尔值的与或运算

  • 当我们对非布尔值进行与或运算时,Python会将其当做布尔值运算,最终会返回原值
  • 非布尔值与运算的规则
    与运算是找False的,如果第一个值是False,则不看第二个值。如果第一个值是False,则直接返回第一个值,否则返回第二个值
  • 非布尔值或运算的规则
    或运算是找True的,如果第一个值是True,则不看第二个值。如果第一个值是True,则直接返回第一个值,否则返回第二个值

6. 条件运算符(三元运算符)

在这里插入图片描述

条件运算符在执行时,会先对条件表达式进行求值判断

如果判断结果为True,则执行语句1,并返回执行结果

如果判断结果为False,则执行语句2,并返回执行结果

语法: 语句1 if 条件表达式 else 语句2

7. 运算符的优先级

运算符优先级参照表

在这里插入图片描述

基本数据类型

数据类型:指的是变量的值得类型,就是我们可以为变量赋哪些值
整数:所有整数 eg: a=1 b=3 是int类型
小数: 所有小数 eg: a=0.1 c=100.4 都是float类型
布尔值:只有2个值一个是True 一个是False
空值:只有一个数值就是None 也就是空值
字符串
什么是字符串

字符串是由数字、字母、下划线组成的一串字符
注意
• 单引号或双引号不能混合使用
• Python中用一对双引号或者一对单引号包裹的内容就是字符串
转义字符
转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
总结
• \t 表示制表符
• \n 表示换行符
• \ 表示反斜杠
• ’ 表示 ’
• \ ‘’ 表示 ‘’
长字符串
• 长字符串 又叫做文档字符串 我们使用三重引号来表示一个长字符串’’’ ‘’’
• 三重引号可以换行,并且会保留字符串中的格式
格式化字符串
• 第一种格式化字符串 拼串
• 第二种格式化字符串 参数传递
• 第三种格式化字符串 占位符
• %s 字符串占位
• %f 浮点数占位
• %d 整数占位
• 第四种格式化字符串 f’{变量}’
• str.format ()
字符串的其他操作
• len() 字符串的长度
• max() 最大值
• min() 最小值
• split()分割字符串
• join()拼接字符串
• find()查找字符串
• replace() 替换字符串
• partition() 把字符串分割为三部分
去空格
• s.strip() 左右两边去空格
• s.lstrip() 去左边空格
• s.rstrip() 去右边空格
字符串大小写
• s.upper() 全部大写
• s.lower() 全部小写
• s.isupper() 判断是不是大写
• s.islower() 判断是不是小写

作业

#1. a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
#方法一:

a,b = 6,8
c = a
a = b
b = c
print(a,b)

#方法二:

a,b = 6,8
c = [a,b]
a = c[1]
b = c[0]
print(a,b)

#2.完成字符串的逆序以及统计
设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
打印出字符串长度
使用切片逆序打印出字符串

str1 = input('请输入长度低于31的字符串:')
if len(str1) >= 31:
	print('输入错误,请重新输入!')
else :
	print(len(str1),[::-1])

练习题

一. 以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
方法一

a = '520'
b = 'XXX'
c = '嫁给我好吗?OK!'
A = a + b + c
print(A)

方法二

print('520 %s 嫁给我好吗?OK!' % 'XXX')

方法三

a = ' XXX'
print('520', a,'嫁给我好吗?'

二、现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值

a=54
b=23
c=87
d = a if a>b else b
m = c if c>d else d
print(m)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值