文章目录
- 1、变量
- 2、字符串
- 3、数字
- 3.1.1 数学运算符
- 3.1.2 关系运算符(比较运算符)
- 3.1.3 逻辑运输符
- 3.1.4 成员运算符
- 3.1.5 赋值运算符
- 3.1.6 自加与自减运算符
- 3.1.7 位运算
- 4、注释
1、变量
执行如下代码并查看返回结果:
a = "Hello World"
print(a)
输出结果:
Hello World
运行这个程序,输出与之前代码相同,但是此处添加了一个名称为 a 的变量,在Python中的每一个变量都存储了一个值,这个值是与变量相关联的信息,此处变量a的存储值为Hello World;
在Python编译中,变量的值是可以变化的,而变量只会记录最新的值,如下代码所示:
a = "Hello World"
print(a)
a = "Hello Python"
print(a)
输出结果:
Hello World
Hello Python
在变量a的值变化后,输出为新的值,并非旧值,由此可见Python的代码执行顺序是由上到下执行;
1.1 变量的命名与使用规则
在Python中使用变量需要遵旨一些规则和要求,违背这些规则会触发错误;
- 变量名只能包含字母、数字、下划线,变量名可以字母或下划线开头,不能以数字开头;
- 变量名不能包含空格字符,但是可以使用下划线来分隔单词;
- 不能将Python的关键字与函数名作为变量名,不能使用Python保留用于特殊用途的词汇,如print;
- 变量名应该遵循简单高效且具有描述性的词汇;
- 慎用小写字母l与大写字母O,容易被错误看成1与0;
1.2 变量名错误
在Python中如果变量名错误,程序会报错提示,如下所示:
a = "Hello World"
print(aa)
输出结果:
Traceback (most recent call last):
File "D:\Python\Test\Source\venv\05_study_test.py", line 2, in <module>
print(aa)
NameError: name 'aa' is not defined. Did you mean: 'a'?
解析器指出在第2行存在错误,并确认为名称错误,指出了名称aa没有被定义,是名称a吗?,操作系统并不会关心字母拼写是否正确,只确认需要使用的变量名称与定义的变量名称是否可以完全匹配,完全匹配则正常使用,否则报错;
2、字符串
字符串是一些列字符的集合,在Python中用引号引用的都是字符串,其中引号可以为单引号,也可以为双引号;
a = 'this is a string'
b = "this is also a string"
print(a)
print(b)
输出结果:
this is a string
this is also a string
2.1 修改字符串的大小写
对于字符串而已,最简单的操作就是修改其大小写;
a = 'this is a string'
print(a.title()) #字符串首字母大写
输出结果:
This Is A String
上述代码中,字符串内容被保存到变量a中,在输出语句中,方法title()出现在这个变量的后面,意味对变量a的值进行title()操作;
a.title()
a为变量,句号是连接符号,title为操作执行方法,()为语法格式,()内可能会携带额外参数,由于title不需要额外参数,因此括号内容为空;对于修改字符串大小写还有其他相关操作;
a = 'This Is a String'
print(a.upper()) #字符串全部大写
print(a.lower()) #字符串全部小写
输出结果:
THIS IS A STRING
this is a string
在较多的输入环境内,无法由用户提供正确的大小写规范,因此就需要各种修改方法来支持字符串数据的统一转换并保存,以便于后续的使用与维护;
2.2 合并字符串
在较多的场景下,需要对字符串进行合并,如:姓+名;
first_name = "AAA"
last_name = "BBB"
name = first_name + last_name
print(name)
输出结果:
AAABBB
在Python环境中使用 加号 + 来拼接字符串,上面代码使用加号进行拼接first_name与last_name,以得到完整的name;
字符串拼接:通过拼接可以使存储的变量中的信息来创建完整的消息;
2.3 使用制表符或换行符添加空白
在编程中,空白泛指任何非打印字符,如空格、制表符、换行符等,因此可以使用空白组织输出,使得其更容易被阅读;
first_name = "AAA"
last_name = "BBB"
name1 = first_name + "\t" + last_name
name2 = first_name + "\n" + last_name
print(name1)
print(name2)
输出结果:
AAA BBB
AAA
BBB
2.4 删除空白
在程序代码中,额外的空格会使得阅读者迷惑,对于Python来说,‘Python’ 与 'Python '是完全不一样的两个字符串,Python能够发现’Python '中的空白,并认为其空白是有意义的;
空白相当重要,在比对两个字符串是否相同时,额外的空白会导致比对失败;Python能够找出字符串开头和末尾的多余空白,并确保字符串末尾没有空白,可以使用如下代码:
a = "test "
b = ".txt"
print(a+b)
print(a.rstrip()+b)
输出结果:
test .txt
test.txt
变量a中的字符串末尾存在多余空白,调用rstrip()方法后多余空白被删除了,此删除方法为暂时性删除,当再次调用变量a时,空白仍存在;
若是需要永久删除多余空白,必须将删除操作的结果保存到变量中;
a = "test "
b = ".txt"
a = a.rstrip()
print(a+b)
print(a.rstrip()+b)
输出结果:
test.txt
test.txt
删除字符串空白的方法:
- strip() :删除字符串两边的空白;
- rstrip() :删除字符串右边(末尾)的空白;
- lstrip() :删除字符串左边(开头)的空白;
2.5 字符串的语法错误
在使用字符串时需要注意避免错误,程序中包含非法的Python代码时就会出现相对应的错误;
a = 'we'are Chinese!'
print(a)
输出结果:
File "D:\Python\Test\Source\venv\05_study_test.py", line 1
a = 'we'are Chinese!'
^
SyntaxError: unterminated string literal (detected at line 1)
上述代码可以看出,语法错误发生在第三个引号后面;在编写代码时会经常遇到语法错误,语法错误也是最不具体的错误类型,可能找到错误点非常麻烦,因此建议使用一些编辑器,以编辑器的语法高亮或者突出显示功能可以快速的找到对应的语法错误;如Sublime Text;
3、数字
在编程中,经常使用数字来记录可视化数据、存储web应用信息等;Python根据数字的用法以不同的运算符方式处理;
3.1 基本运算符
基本运算符主要为数学运算、关系运算、逻辑运算、成员运算、赋值运算、自运算、位运算等运算符介绍;
3.1.1 数学运算符
+ # 加
- # 减
* # 乘法
/ # 除法
% # 求余、求模、取模
// # 地板除法,整除
** # 幂次方
3.1.2 关系运算符(比较运算符)
> #大于
< #小于
>= #大于等于
<= #小于等于
== #等于,注意:在程序一般 等于判断== ,单等号 赋值运算符
!= #不等于,在python2中存在这个符号<>,也表示不等于,注意:python3去掉了这个符号,结果都是布尔值
3.1.3 逻辑运输符
and #并且,所有条件都成立则成立,有一个条件为假,则为假
or #或者,只要有一个条件成立,则成立,全局为假,则为假
not #不是,取反
3.1.4 成员运算符
in #表示是否在容器中
not in #表示不在容器中,其结果都是布尔值
3.1.5 赋值运算符
= #将右侧的值赋给左侧
+= #a = a + 1
-= #a = a - 1
*= #a = a * 1
/= #a = a / 1
//= #a = a // 1
%= #a = a % 1
3.1.6 自加与自减运算符
i++
++i
i--
--i
#Python中没有自加和自减运算符,使用赋值运算符来替代完成运算
3.1.7 位运算
计算机底层二进制数据,是以二进制的补码方式运算
正数:源码、反码、补码一致
负数
源码:就是二进制
反码:符号位不变,其余各位取反
补码:反码 + 1
3.2 整数
在Python中经常使用整数表示可视化数据、Web应用信息等,Python根据数字的用法以实现不同的处理方式;
a = 1
print(type(a))
输出结果:
<class 'int'>
3.3 浮点数
Python将带小数点的数字都称为浮点数,大多数编程语言都采用此术语,直接对浮点数进行计算,可能导致小数位数是不确定的,所有编程语言都存在此问题;
print(0.1+0.2)
输出结果:
0.30000000000000004
3.4 使用函数str()避免错误类型
在Python中整数为int类型,而字符串为str类型,不同类型的数值无法完成计算或拼接;
print("my age is " + 18 + "years old")
输出结果:
Traceback (most recent call last):
File "D:\Python\Test\Source\venv\05_study_test.py", line 1, in <module>
print("my age is " + 18 + "years old")
TypeError: can only concatenate str (not "int") to str
因此需要使用函数str()将int类型的整数转换为字符串类型,进行字符串拼接;
print("my age is " + str(18) + "years old")
print(type(str(18)))
输出结果:
my age is 18years old
<class 'str'>
4、注释
在大多数编程语言中,注释都是一项非常有用的功能,随着程序越来越大、代码越来越复杂,适当的注释可以使得读者更便捷的了解代码的内容;
单行注释:#
#这是一行注释
多行注释:''' '''
'''
这是很多行
注释
'''