代码中,被写在代码中的固定的值,称之为字面量
类型 |
描述 |
说明 |
数字(Number) |
整数 (int) |
整数(int),如:10、-10 |
浮点数(float) |
浮点数(float),如:13.14、-13.14 |
|
复数(complex) |
复数(comples)如:4+3j,以j结尾表示复数 |
|
布尔(bool) |
布尔(bool)表示显示还说呢过中的逻辑,即真和假 True表示真,False表示假 True本质上是一个数字记作1,False记作0 |
|
字符串(String) |
描述文本的一种数据类型 |
由任意数量的字符组成,常以“”双引号包围 |
列表(List) |
有序的可变序列 |
Python中使用最频繁的数据类型,可有序记录一堆数据 |
元组(Tuple) |
有序的不可变序列 |
可有序记录一堆不可变的Python数据集合 |
集合(Set) |
无序不重复集合 |
可无序记录一堆不重复的Python数据集合 |
字典(Dictionary) |
无序Key-value集合 |
可无序记录一堆Key-Value型的Python数据集合 |
注释,在程序代码中对程序代码进行解释说明的文字,增加代码可读性,注释不能被执行
单行注释:(#)以#号开头,#右边的文字当做说明,起辅助作用
#号和注释内容一般建议以一个空格隔开
多行注释:以一对三个双引号引起来("""注释内容""")来解释说明一段代码的作用
在Python程序中,我们可以给很多东西起名字,比如:变量的名字,类的名字,等等这些名字,我们把它统一的称之为标识符,用来做内容的标识。
所以,标识符:
是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
与c语言不同的是,在python标识符命名中,只允许出现:
英文
中文(尽量不使用)
数字(不可用于标识符开头)
下划线(_)
需要注意的是,虽然python支持中文命名,但是尽量还是不要使用中文作为标识符
一方面是因为不知道是否存在隐藏的问题
另一方面是目前绝大多数程序都是使用英文作为标识符,在目前遇到的语言中也只有python能使用中文作为标识符,养好习惯
这里可以看到是直接爆了语法错误,指向了1
可以看到输出的结果,大小写是完全作为两个变量区分的
Python中有一系列单词称之为关键字,关键字在Python中都有特定用途
我们不可以使用它们作为标识符
关键字也大小写敏感,将T换为小写就不算占用关键字
其实字符串格式化也会是一种字符串的拼接,其实就像c语言的输出一样,利用% + 数据类型来实现字符串和变量的输出
其中的%s,由%和格式化字符构成,python占位符跟c语言的格式字符的意义相同
%,表示我要占位
s,格式字符,表示将变量变成字符串放入占位的地方
综合起来就是,我先占个位置,等会有个变量过来,我把它变成字符串放到占位的地方
注意%后的变量顺序一定要跟前面输出的顺序一致,且多个参数要用括号括起来,并以逗号分隔
python包含的格式字符
符 号 |
描述 |
c |
单个字符 |
s |
格式化字符串 |
% |
输出字符% |
d、i |
格式化十进制整数 |
u |
格式化无符号整型 |
o |
格式化无符号八进制数 |
x、X |
格式化无符号十六进制数 |
f、F |
格式化浮点数字,可指定小数点后的精度 |
e、E |
用科学计数法格式化浮点数 |
g、G |
以f或e中较短的输出宽度输出浮点型 |
这个本来是在后面会遇到的,但是不知道插入在哪儿,所以单独列出来
python中的print输出语句跟c语言有点不同
在python中,利用print语句默认是会自动换行的,而c语言不会
如果要实现语句输出不换行,我们就要用到print函数语法下的end参数
当我们在输出的时候设定了end参数的值,我们就可以更改print输出的结束符
语法:
end = '结束符'
自定义的结束符,一般都是以字符串拼接的形式,end的参数要使用引号包裹起来
我们将Hello字符后面的结束符更改为了一个单引号,里面什么也没包裹,说明Hello输出之后的结束符是一个空字符,所以输出之后与World没有间隔
我们在习代码的时候,会有很多层次的判断,比如说我们可以有一个外层的判断,当他满足之后还会有内层的判断,如此往复下来,我们的程序可以是有多层的一个嵌套
因为之前学习过c语言,所以知识点会比较跳跃,有需要可以补全
在c语言中是以{}大括号闭合为基准判断语句的层次关系,缩进只是为了代码美观,对缩进没有特别严格的要求
如输出素数
在python中,是以严格的缩进作为判断标准,通过语句前的4个空格缩进(只是一个需要遵循的代码规范)就可以判断语句之间的层次关系
虽然我一直使用的都是tab键作为缩进,但还是建议使用空格作为缩进,不要混淆tab和空格
比如说输出九九乘法表,第二个for循环之前的4个空格缩进就代表了它是属于外层for循环的,程序执行也跟c语言一样:大循环执行一次,小循环执行一遍
在python中就算不使用4个空格缩进也没有关系,4个空格只是一个普遍常见的代码规范,从某方面来讲也提升了代码的可读性
循环的执行:
while语句是先判断,后执行,当判断条件为Ture时,执行循环体;接着再次判断条件,如果为True则继续执行循环体,当条件为False时结束执行跳出循环
while循环执行语句可以是单个语句或语句块
判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
我们通过一个例题来简单理解一下while循环
首先我们要知道要实现1到100的累加,首先要定义一个初始变量n,每次循环执行之后就会将n加1,并且我们设定了while循环的执行条件为 n<=100,就确保了能够累加到100
然后为了实现累加,我们还需要定义一个sum变量存储我们每次累加之后的值,又看sum变量的初始值为0,第一次n= 1 满足条件,执行sum = sum + n,sum就变成了1,每次n+1之后都会由sum记录累加值,直到n>100跳出循环
sum += n => sum = sum + n
最后输出的时候要注意print打印函数的位置一定要顶格,如果处于循环里就会输出每一次累加的值
拿到这个题目之后我们就要思考:
一共包含九行,并且每行输出的数量不一样
每行输出的内容不一样
所以我们分析之后就得出这个程序需要两层循环:外层循环控制行,内层循环控制每行的内容
一共包含九行,那么外层while循环的条件是不是while<=9
接下来继续,第一次第一行是不是就只有一个输出算式,第二行有两个……,由此可见九九乘法表的每行所输出的算式数量,是跟行数匹配的
所以我们是不是只需要令输出内容的变量j<=控制行的变量i就行了 i等于1 的时候最多输出一个算式
然后就要讨论这里面的数字是从那里来的?
在九九乘法表中,每一行的第二个乘数是不变的都是当前的行数
变的只是第一个乘数,从1累加到当前的行数
那第一个乘数不就是变量j的值嘛?第二个乘数不就是控制行数的变量i的值嘛?
所以实际上我们每一行的内容实际上都是j*i
然后我们这里直接是直接打印,利用格式化输出和end参数不换行输出,加上一个print打印空字符
因为print函数默认自带换行,最后的print语句又属于大while循环,所以它的意义就是在小while循环执行完跳出后进行换行
但是这样输出的语句是没有间隔的
如果输入几个空格的话,因为字符数字长度的原因会导致数据不对齐,不美观
这时候我们就可以利用转义字符\t的一个性质,它可以使我们输出的字符串对齐,这样就美观多了