python讲解(3)

目录

一.类型的意义

二.动态静态类型

三.程序的输入和输出

输出:

输入:

四.运算符

算术运算符

**

// 

关系运算符 


一.类型的意义

1.区别 

  1. 不同的类型占据不同的内存,单位是字节
  2. int 默认是4个字节,根据需要动态扩容
  3. float固定八个字节,因为在python中float是双精度浮点数
  4. bool占据一个字节
  5. str字符串类型。python中是没有字符类型的,字节不确定

 2.操作

不同的类型可以进行的操作也是不同的。

  1. int / float可以 + - * / 但是不能用len求长度
  2. str可以+ ,不能- * /

二.动态静态类型

        动态类型的特性 ,程序运行过程中变量的类型是可以发生改变的

a = 10
print(type(a))
a = "hello world"
print(type(a))

 变量的类型是由变量赋值时的值所决定的。

        静态类型

变量在定义好类型后变量的类型始终不变,比如在C/C++/Java中

一个编程语言,是否是动态类型,只取决于运行时,类型是否发生改变,不取决于变量的定义时候是否声明类型

 python中也是可以写类型声明的,但是类型还是可以改变的。

a: int = 10
print(a)

只需要在变量的后面加上:和变量的类型。这样方便程序员进行开发,但是只是锦上添花,可写可不写。

虽然动态类型更加的灵活方便,但是更加容易出错,在大型程序的协作开发中,还是静态类型更好。

三.程序的输入和输出

计算机与用户的交互中,会用到控制台,windows系统自带的cmd程序就是控制台,pycharm也自带了控制台,但是我们日常生活中我们几乎不会用到控制台,我们更加常用的是图形化界面,这样更加方便。

输出:

输出就是我们经常使用的print函数进行的

a = 10
print("a = 10")

格式化字符串 : f" { } "也就是f + string此时就可以使用大括号在其中嵌入表达式或者变量。

a = 10
print(f'a = { a }')

输入:

输入就需要我们使用input函数 

num = input("请输入一个数字:")

我们在控制台输入值,这个值就会被存在num变量中。

需要注意的是input函数的返回值的类型并不是由你输入的值所决定的,而是字符串类型。

我们根据需要对输入的值进行转换,这时候我们就需要用到类型转换函数。

例题:输入两个值,并求其和。

 

这里的int()函数就可以将其参数转化为int类型,同理还由float()函数,str()函数。这些都是类型转化函数。

注:input函数其实还自带打印功能,它的参数中加入字符串,就会先打印这个字符串然后再等待用户输入,这个参数是可写可不写的。

四.运算符

 运算符也叫操作符,运算符有算术,关系,逻辑,赋值等等运算符。

算术运算符

+ - * / % ** //这些均是算术运算符

先乘方,再乘除,后加减。

大部分操作符都是具有优先级和结合性。而()的优先级非常的高,它会在其他操作符之前运算,所以我们可以使用()来改变操作符的优先级。使其来达到我们所期望的运行顺序。

比如我们如果想要先进行1 +  2但是*的优先级明显更高,所以使用括号就可以使1 + 2先进行运算。 

/ 在python中0是不能作为除数的。

虽然在编译阶段不会报错,因为语法上是绝对正确的。但是当程序运行到这一行的时候,就会报错。

这种运行时出现的错误叫做抛出异常。

这个符号和/很类似,/得到的是商,而%得到的是余数。

print(10 % 3)

得到结果就是1. 

**

**是乘方运算符,在前面的文章中也介绍过。

print(2 ** 3)

它的左操作数就是底数,右操作数就是指数,这里计算的就是2的三次方。

// 

这也是个除法,只不过是地板除法, 这种除法,与C语言种的整数除法类似,只会保留整数部分(正数)负数的话会补齐。

print(-3 // 4)

如果是单纯的除法得到的结果是-0.75,而地板除法中负数会自动补齐整数,得到的结果就是-1.

关系运算符 

关系运算符顾名思义就是用于比较两个操作数的关系的。关系运算符对应的表达式值是bool类型的。

关系运算符有很多种比如 >         <         >=         <=          ==

a = 10
b = 20
print(a < b)

 很明显a是小于b的,所以这里会打印True

==就是我们数学中的等号,为了与赋值号=进行区分所以用了两个=,这个是用于判断两边的表达式是否相同的。

关系运算符除了比较数字,字符串也是可以比较的。

而字符串的比较是遵循ASCII值的进行比较的,这里不过多叙述ASCII值

字符串的比较规则可以简化为遵循字典序进行比较

比如‘a’ < 'b' < 'c'.......这样一直进行下去直到遇到'z'

两个字符串会首先比较第一个字符,如果相同,就比较下一对字符,依次进行下去直到遇到不同,或者字符串结尾了

print('abc' > 'abde')

很明显在比较第三个字符的时候c 小于d,所以左边的字符串小于右边的字符串,打印False。

同理这里的字符串比较方式strcmp函数的比较方式一样。这里的字符串比较针对中文是没有意义的,除非用于比较是否相等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值