其他分享
首页 > 其他分享> > day2

day2

作者:互联网

day2

君埋泉下泥销骨,我寄人间雪满头。


语言漫话

寻根溯源

冯·诺依曼结构

如今大多数的计算机硬件系统仍然是基于冯·诺依曼结构建立的。
冯·诺伊曼结构主要有两个方面

因此,计算机的硬件系统通常由五大部件构成,包括:运算器,控制器,存储器,输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们所说的程序就是指令的集合,程序就是将一系列的指令按照某种方式组合到一起,然后通过这些指令去控制计算机来做我们想让他做的事情。

变量和类型

变量本质上就是计算机的一块内存空间,一般具有读写操作。计算机处理的数据有许多种,除了数值之外,还包括文本,图形,音频,视频等多种数据。python中的数据类型有许多种,与其他语言一样,用户也可以自定义新的数据类型。接下里,先介绍几个新伙伴。

进制 表示方法
二进制 0b开头,0b10000
八进制 0o开头,0o20
十进制 直接写就可以了,16
十六进制 0x开头,0x10
a = 1.234 # 定点数
b = 12e34 # 浮点数

变量命名

你的名字是我读过最短的情诗

变量的命名遵循以下硬性规则(给解释器大哥一个面子):

人为要求如下(可以不遵守,只是建议)

当然如今合作编程独占鳌头,所以变量命名做到见名知意也是非常重要的。

变量的使用

python和别的语言不一样,不需要再为记不住变量类型而烦恼了,其自动匹配变量类型。也就是变量的定义加声明直接a = 123就是定义了一个整型变量a,前面不用加int。所以,如果a = 1, b = 2, a/b在python中输出的结果是0.5可不是像C中的0。

a = 321
b = 123
print(a + b)
print(a - b)
print(a * b)
print(a / b)

在python中可以使用type函数对变量的类型进行检查。这里的函数概念是通用的,笔者这里不表。

a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))
"""
output:
<class 'int'>
<class 'float'>
<class 'complex'>
<class 'str'>
<class 'bool'>
"""

进行类型转换,可以使用python中内置的函数对变量类型进行转换。注意由于python中的变量类型不是我们定义的,所以如果是

a = 123
b = 12.3
a = b

这里可不会像C中进行强制类型转换,而是直接将a也变成12.3,所以python中的类型转换推荐使用python自带的类型转换函数,否则容易出现一些奇怪的错误。

函数 作用
int() 将一个数值或字符串转换成整数,可以指定进制(这里多是字符串指定什么进制转换成十进制)
float() 将一个字符串转换成浮点数
str() 将指定的对象转换成字符串形式,可以指定编码
chr() 将整数转换成该编码对应的字符串(一个字符)
ord() 将字符串(一个字符)转换成对应的编码(整数)
bool() 转换成布尔类型
complex() 转换成复数类型

填鸭来了:input()表示从键盘读取数据,括号中可以填入字符串,表示输出到输出设备上,作为提示

a = int(input('a = '))
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a+b))
print('%d - %d = %d' % (a, b, a-b))
print('%d * %d = %d' % (a, b, a*b))
print('%d / %d = %f' % (a, b, a/b))
print('%d // %d = %d' % (a, b, a//b))
print('%d %% %d = %d' % (a, b, a%b))
print('%d ** %d = %d' % (a, b, a**b))

注意:看到input()就会了解到python对于字符串的优待了。其首先是将键盘上输入的信息转化为字符串形式存储,如果没有类型转换,那么默认就是str类型,所以使用input一般要配套使用前面的类型转换函数。这边前面的是占位符,和C/C++的类似,这里不再赘述。注意python中的格式化输出语句的格式,是通过%来分割的,不是,,逗号是用来分割语句的,而所需要占位的数据都是写在小括号中,通过逗号分离。

ps:这里的//是python中将整除和除法分离出来的产物,//代表整除,/代表正常的除法,**表示幂运算。

运算符

老生常谈的大魔王级别的运算符优先级表格(这年头能不能用括号区分优先级了)

运算符 描述
[],[:] 下标,切片
** 指数
~,+,- 按位取反,正负号
*,/,%,// 乘,除,模,整除
+,- 加,减
>>,<< 右移,左移
& 按位与
^,| 按位异或,按位或
<=,<,>,>= 小于等于,小于,大于,大于等于
==,!= 等于,不等于
is,is not 身份运算符
in,not in 成员运算符
not,or,and 逻辑运算符
=,+=,-=,*=,/=,%=,//=,**=,&=,|=,^=,>>=,<<= 各种赋值运算符

建议用括号来保证运算的执行顺序

赋值运算符

就是将右边的值赋值给左边,也是区分===的开始

a = 10
b = 3
a += b
a *= a + 2
print(a)

a *= a + 2因为+的优先级高于*=,没办法,赋值运算符的优先级是最低的,最卑微的。因此该语句实际上等价于a = a * (a + 2)

比较运算符和逻辑运算符

比较运算符所组成的表达式的值是布尔类型的,包括==,!=,<,<=,>,>=,注意这边判断是否相等不是数学上的=,而是==

逻辑运算符有三个,and,ornot

a = 1==1
b = 3 > 2
c = 2 < 1
d = a and c
e = a or c
f = not(1 != 2)
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
'''
output:
True
True
False
False
True
False
'''

课后练习

关于str类型的补充

函数 功能
len() 获取字符串的长度,len(str)
title() 将字符串中每个单词的首字母变成大写,str.title()
upper() 将字符串中的字母全部变成大写,str.upper()
lower() 将字符串中的字母全部变成小写,str.lower()
startwith(str1) 字符串是不是以str1开头的,str.startwith(str1)
endwith(str1) 字符串是不是以str1结尾的,str.endwith(str1)

这里字符串和字符串可以直接进行拼接,即str1 + str2就可以了,如果str * int,那么就是str重复int遍

标签:False,python,day2,运算符,字符串,str,print
来源: https://www.cnblogs.com/FlnButFly/p/16513629.html