【详细解析!】Python语法基础

python基础语法

1.优先级:在运算代码的时候,我们优先级是先乘除后加减
注意:
1.1:在python中,2/3=0.666666而不是0;
在python里面的相除就是数学意义上的相除
1.2:某一个结果为1.666666666665,而不是667,是因为我们在编程里面是一般是没有四舍五入的概念的;这个结果我们在代码里面称之为浮点数.IEE745标准,在这套规则下,我们在内存中表示浮点数的时候,可能会有微小的误差
2.表达式和返回值
形如1+2-3称为表达式,这个表达式的运算结果称为表达式的返回值;1 2 3 这样的数字,称为字面值常量;
加减乘除符号称为运算符或者操作符;

变量和类型

变量可以视为一块可以存储数据的空间,变量是在内存上的

变量的命名

硬性规则

1.变量名必须由数字、字母、下划线构成,不能包含特殊符号
像a1是合法的变量名;1a,a*a都是非法变量名
2.数字不能开头
3.变量名不能和python的关键词重复
4.python中的变量名是区分大小写的
Num=10
num=10

软性规则(建议遵守)

1.给变量命名的时候,尽量使用描述性的单词来表示,尽量通过名字来表示出变量的作用
2.当我们使用一个单词描述不清楚的时候,可以使用多个单词来命名
当包含多个单词的时候,命名有多种规范
2.1驼峰命名——除了第一个单词的首字母除外,后续每一个单词的首字母都大写
personInfo
2.2蛇形命名——单词之间使用下划线-来进行分割 person-inof

变量的使用

修改变量

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

a=20
print(a)

首次使用= 对a进行设置值,这个过程是创建变量(初始化)
后续再对a进行 = 操作,则是相当于修改 a 的内容(赋值)

变量的类型

获取变量的类型

a=10
print(type(a))

整数int

1.Python中的变量的类型,不需要在定义变量的时候显式声明,而只是依靠初始化语句,根据初始化的值的类型来进行确定的
2.在Python,**int能够表示的数据范围是“无穷”**的,Python的int是可以根据要表示的数据的大小,自动扩容
3.因此Python这里就没有long这样的类型了,byte、short等也没有,只有int来表示整数类型

浮点数(小数)float

1.Python中的float就是双精度浮点数,等同于java中的double
2.所以我们python中没有double一说,全部小数类型都用float来表示

字符串

1.Python中的字符串使用双引号“”或者单引号‘’都可以

c='hello'
print(type(c))

d="hello"
print(type(d))

#输出结果均为<class 'str'>

2.当我们出现这种情况的时候,这种书写方式就能很好的解决问题:

e='My name is "tangtang"'
print(type(e))

**3.总结:**如果字符串里面包含了双引号,表示字符串就可以用单引号引起来;
如果字符串里面包含了单引号,表示字符串就可以使用双引号 引起来

4.当同时有单引号、双引号的时候,我们就使用三引号表示 ‘’’ 或者 “”"

f='''My 'name' is "tangtang"'''
print(type(f))

5.获取字符串长度使用len,print(len(a));
字符串拼接print(a+b),a,b分别为字符串

布尔boolean

布尔的取值只有真和假,因此布尔类型主要用于逻辑判定
注意写法:
真True 假False
真代表1,假代表0

类型的意义

1.不同的类型占用的内存空间是不同的
int 默认是4个字节,动态扩容
float固定8个字节
bool 1个字节
str是变长的

2.不同的类型,对应能够进行的操作也是不同的

int/float + - * /    #则不能使用len
str +  #但不能- * / 可以使用len

动态类型

a=10
print(type(a))

a='hello'
print(type(a))

a=True
print(type(a))

1.动态类型:在程序运行过程中,变量的类型可能会发生改变;如上,a的类型随着程序的运行就发生改变

2.静态类型:在程序运行过程中,变量的类型始终不变
在C++/Java中,int a=10;a在整个程序运行的过程中始终都是int类型,如果尝试将a=“hello”,编译阶段就会报错

3.一个编程语言是否是动态类型,只取决于运行时类型是否发生改变,不取决于变量定义的时候是否声明类型
而python作为一个动态类型的语言,在定义变量的时候,也是可以写类型的,但我们一般视为锦上添花的行为,所以我们一般情况下不写

a:int=10
print(type(a))

a:str='hello'
print(type(a))

4.动态类型这种写法是比较灵活的,提高了语言的表达能力,但是“灵活”也就意味着更易出错,所以相较之下静态类型的语言更好一点,尤其更适于大型的、多人协作的程序开发

注释

代码中写注释是为了提高代码的可读性

注释的写法

开头的注释,一般是写在要注释的代码的上方也有少数情况下是写在要注释代码的右侧的.很少会写在代码的下方;更不会写到代码的左侧
1.注释行
使用 # 开头的行都是注释

# 开头的行都是注释

2.文档字符串
使用三引号引起来的称为"文档字符串",也可以视为是一种注释,
2.1可以包含多行内容
2.2一般放在 文件/函数/类 的开头
2.3’‘’ 或者"“” 均可 (等价).

"""
这是文档字符串
这是文档字符串
"""

注释的书写规范

如何写出比较好的注释:
1.注释的内容, 是准确的(但凡要修改代码,务必要记得更新注释!!)
2.篇幅合理, 既不要太精简,也不要长篇大论
3. 使用中文
4. 内容要积极向上,不要有负能量

输入输出

通过控制台输出

print(f"a={a}")

这个语法是叫做“格式化字符串”f-string,此处f表示“format”

a=10
#希望使用print打印出"a=10"这样的内容
print(f"a={a}")
#我们希望把数字和字符串混在一起来打印
print(f"a={a+10}")

#输出值为a=10
#输出值为a=20

通过 控制台输入

num=input('请输入一个整数: ')
print(f'您输入的数字是{num}')

1.input执行的时候,会等待用户输入,直至用户输入了之后才会继续运行程序
2.input返回的值,其实是一个str
2.1 如果只是单纯的拿到用户的输入,然后打印,此时就按照str打印即可
2.2 如果需要根据用户输入的内容进行算数运算,此时就需要用到强转
将字符串转换为整数 int()
将整数转换成字符串 str()
将字符串转换成浮点数 float()

a=input('请输入第一个整数:')
b=input('请输入第二个整数:')
a=int(a)
b=int(b)
print(f'a+b={a+b}')

运算符

算数运算符

1.除法:
1.1在python中,认为除0是异常
1.2截断问题:整数/整数,如果除不尽的时候,得到的是小数,不会出现截断情况
2.%求余数:得到的余数一定是小于除数的
3.乘方和开方运算,使用**实现

print(4**2)#乘方
print(4**0.5)#开方

4.==地板除法//(取整除法)==会针对计算的结果进行“向下取整”【取更小的那个】

print(7//2)#得到3
print(-7//2)#得到-4

关系运算符

< > <= >= == !=

1.关系运算符对应的表达式 值是布尔类型
表达式符合要求,为真;不符合要求,为假
2.关系运算不但可以针对数字进行比较,还可以比较字符串
比较字符串是根据字典序来进行比较的,在英文词典上,单词是按照一定的顺序来排列的,先看首字母在字母表上的顺序~谁小, 谁就排在前面,如果首字母相同,依次比较第二个字母,第三个字母…
字符串在字典上越靠前,就越小;越靠后,就越大
3.针对中文进行字符串大小比较是没有意义的,在计算机里表示中文,其实是用多个字节构成的一个比较大的数字来进行比较
4.python中直接使用==和!=来比较字符串内容相同
5.5.1
针对浮点数来说,使用==比较相等,存在一定的风险,因为浮点数在内存中的存储和表示,是可能存在误差的,这样的误差在进行算术运算的时候可能被放大,从而导致==的判定出现误判

0.3000000000000004
0.3

虽然这两个数字已经非常接近了,但如果直接使用==进行比较,仍会出现False的情况
5.2正确的比较浮点数相等:作差,看差值是否小于预期的误差范围

print(-0.000001<(a-b)<0.000001)#输出结果True

python中支持这种连续小于的写法,判定a-b既是大于-0.000001又是小于0.000001

逻辑运算符

and并且两侧操作数均为 True,表达式的值为 True否则为 False(一假则假)
or或者两侧操作数均为 False,表达式的值为 False否则为 True (一真则真)
==not逻辑取反 ==只有一个操作数.操作数为 True, 则返回 Falsenot为 False 则返回 True
注意:
短路取值
对于and操作来说,如果左侧表达式为False,那么整体的值一定为False,右侧表达式不必求值
对于or操作来说,如果左侧表达式为True,那么整体的值一定为True,右侧表达式不必求值

赋值运算符

1.链式赋值

a=b=20

先将20赋值给b,再把b赋值给a
2.多元赋值

a,b=10,20

把10赋给a,把20赋给b
多元赋值能让我们快速解决一些问题,像交换值

a=10
b=20
temp=a
a=b
b=tmp
print(a,b)
#使用多元赋值
a,b=b,a
print(a,b)

3.python中不支持像++ --这样的自增自减操作
++a 之所以没有语法报错,是 Python 解释器把 +当成了正号–a也是不会报错,把-当成了负号.负负得正,最终的值仍然不变
但是后置 ++ 和 后置 – 都是语法上报错的!
4.a+=1这样的赋值运算是可以实现的

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值