Python 语法基础

Python基础

在这里插入图片描述

Python 语法

几个概念

表达式
  • 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
  • 表达式特点
    1.表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响。
    2.如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
语句
  • 一个语法上自成体系的单位,它由一个词或句法上有关联的一组词构成
  • 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
程序(program)
  • 程序就是由一条一条的语句和一条一条的表达式构成的
函数(funcktion)
  • 函数就是一种语句,函数专门用来完成特定的功能
  • 函数形如:def xxx()
  • 函数的分类:
    1.内置函数:或者内建函数,就是由语法规定存在的函数,这些函数包含在编译器的运行库中,程序员不必单独书写代码实现它,只需要调用即可。
    2.自定义函数:由程序员自主创建的函数,当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
  • 函数的2个要素
    1.参数
    2.返回值
  • 占位命令的使用:当一行代码写完之后按下回车,如果跳到下一行的时候出现了缩进,说明这里必须要写一个代码,否则会报错,不需要写代码的话可以用一个pass代替。
    在这里插入图片描述

标识符

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

变量

变量的概念
  • 变量是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗的说变量就是给数据起个名字
  • 变量命名规则
    1.变量名由字母、数字、下划线组成,要符合标识符的命名规范
    2.数字不能开头
    3.不能使用关键字
  • 注意:两个对象相等和两个对象是同一个对象是两个概念
    以下代码的运行结果表明:两个数组相等,但是不是同一个数组
d=[1,2,3]
c=[1,2,3]
print(id(c),id(d))
print(d is c)
print(d == c)

在这里插入图片描述

以下代码的运行结果表明,python中的整数有一个固定的内存地址

a = 1
b = 1
print(id(a),id(b))

在这里插入图片描述

变量的运算

在这里插入图片描述

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

字符串

什么是字符串
  • 字符串是由数字、字母、下划线组成的一串字符
  • 注意
    1.单引号或双引号不能混合使用
    2.Python中用一对双引号或者一对单引号包裹的内容就是字符串
    在这里插入图片描述
转义字符
  • 转义字符是一种特殊的字符常量。转义字符以反斜线“\”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
  • \t表示制表符
  • \n表示换行符
  • \\表示反斜杠
  • \‘表示’
  • \“表示”
    在这里插入图片描述
长字符串
  • 长字符串又叫做文档字符串,我们使用三重引号来表示一个长字符串’’’ ‘’’
  • 三重引号可以换行,并且会保留字符串中的格式
    在这里插入图片描述
格式化字符串

即通过将字符串格式化,从而改变字符串不可改变的属性,将其中的内容改变

  • 拼串
    在这里插入图片描述
  • 参数传递
    在这里插入图片描述
  • 占位符
    1.%s字符串占位
    2.%f浮点数占位
    3.%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,从右往左依次递减,步长前应加负号,若不写步长,则步长默认为1,从右往左取字符时会出现取不到字符的情况。
    在这里插入图片描述

运算符

运算符的概念
  • 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
运算符的分类
  • 算术运算符
  • 赋值运算符
  • 比较运算符(关系运算符)
  • 逻辑运算符
  • 条件运算符(三元运算符)
算术运算符
  • 加法运算符“+”
  • 减法运算符”-“
  • 乘法运算符”*“
  • 除法运算符”/“
  • 整除”//“,只会保留计算后的整数位,总会返回一个整型
  • ”%“取余,求两个数相除的余数
  • ”**“幂运算,求一个值的几次幂
    在这里插入图片描述
赋值运算符

赋值运算符的特殊写法x= x+3其实是和x+=3是一样的,同理,-=,*=,//=,%=均可这样理解

比较运算符
  • 比较运算符用来比较两个值之间的关系,总会返回一个布尔值.如果关系成立,返回True,否则返回False
  • ” >“比较左侧值是否大于右侧值
  • ”>=“ 比较左侧的值是否大于或等于右侧的值
  • ” < “比较左侧值是否小于右侧值
  • ”<=“ 比较左侧的值是否小于或等于右侧的值
  • 特殊的比较方式:
    1.”==“比较两个对象的值是否相等
    2.”!=“比较两个对象是否不相等
    3.”is“比较两个对象是否是一个对象
    4.”is not“比较两个对象是否不是同一个对象,比较的是对象的id
    在这里插入图片描述
逻辑运算符
not 逻辑非
  • not可以对符号右侧的值进行非运算,对于布尔值,非运算会对其进行取反操作,True变False,False变True(0,空串‘’,None还有一些表示空性的值会转换为False,其余剩下的所有的值都是True)
    在这里插入图片描述
逻辑与
  • and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
    在这里插入图片描述
逻辑或
  • 或运算两个值中只要有一个True,就会返回True
    在这里插入图片描述
非布尔值的与或运算
  • 当我们对非布尔值进行与或运算时,Python会将其当作布尔值运算,最终会返回原值

  • 非布尔值与运算的规则
    1.与运算是找False的,如果第一个值是False,则不看第二个值,直接返回第一个值;如果第一个值是True,则不看第二个值,直接返回第二个值
    在这里插入图片描述

    2.或运算找True,如果第一个值是True,则不看第二个值,直接返回第一个值,如果第一个值是False,则不看第二个值,直接返回第二个值
    在这里插入图片描述

条件运算符(三元运算符)
  • 条件运算符在执行时,会先对条件表达式进行求值判断
    如果判断结果为True,则执行语句1,并返回执行结果
    如果判断结果为False,则执行语句2,并返回执行结果
    语法: 语句1 if 条件表达式 else 语句2

在这里插入图片描述

运算符的优先级

运算符优先级参照表
在这里插入图片描述

作业

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

第一种方法(交换内存地址)

import ctypes

a = 6
b = 8
c = id(a)
d = id(b)
a=ctypes.cast(d,ctypes.py_object).value
b=ctypes.cast(c,ctypes.py_object).value
print(a,b)

第二种方法(直接交换值)

a=6
b=8
c=b
b=a
a=c
print(a,b)
  1. 完成字符串的逆序以及统计
    • 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
    • 打印出字符串长度
    • 使用切片逆序打印出字符串
print ('请输入一串长度小于等于31的字符')
str1 =input()
b=len(str1)
if b<32:
    print('字符串的长度为:%s'% b)
    print('逆序打印字符串:{}'.format(str1[::-1]))
else:
    print('字符串长度大于31,请重新输入')

3.以四种格式化字符串的方式来实现666 xxx在这里插入图片描述

4.现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值