在上一篇中,我们介绍了Python解释器与编辑器的安装与使用,本次我们这是在进行Python程序的编译。
我会根据我个人的学习进度进行更新,如有遗漏或错误,欢迎指正。
创建一个新的py文件,我们就可以开始编程了。
关于变量,就是一些我们自定义的值,如
a = 10
num = 100
其中a,num就是我所定义的变量,变量的命名较为自由,但也有一些规则需要遵守:
1.变量由数字、字母、下划线(_)组成。
name = "mary"
studentName = "张三"
student_name = "李四"
age111 = 18
2.不能以数字开头
3.不能是关键字或保留字。(关键字和保留字是已经被赋予了特殊意义或函数的标识符,他们已经被Python提前定义,用于特定的功能,一旦明明重复,PyCharm会给予警告。)
以上是命名规则,也就是我们必须要遵守的,接下来还有一些规范,能让我们的变量看起来更加美观:
1.简洁明了,见名知意,不但能帮助我们更好的编程,对于后期维护也更加方便。
2.多单词组合时,有三种命名方式:
大驼峰:StuName 每个单词的首字母大写
小驼峰:stuName 首个单词首字母小写,后续每个单词首字母大写
_链接:stu_name 使用下划线链接多个单词
3.在命名时注意区分大小写,大小写的不同,会导致变量也不相同
介绍完变量之后,我们紧接着来介绍一下常量。
归根结底,常量也是变量的一种,一些既定的数据或者不能更改的变量叫做常量。
如我们规定圆周率的值:PI = 3.14
再比如我们在进行多人合作编程时,一些规定不能改变的公共值
由于Python并没有给常量单独设置命名方式,因此我们规定,所有字母都大写的变量就是常量。
PI = 3.14
LIST = [10,20,30,40]
为了方便我们检查和后续测设代码,一般我们会给代码加上注释帮助我们理解。
在指定内容前加上 # 就能将井号后的内容注释,注释后的内容将只作为文本查看,不会参加程序的运行。(注:#和文本内容之间要用空格隔开)
我们可以通过快捷键 ctrl + / 对当前选定行的代码进行注释。
nan = 0 # 男性数量
nv = 0 # 女性数量
当注释内容过长,一行一行的进行注释就显得有些麻烦了,此时我们可以使用多行注释。
"""这是一段多行注释"""
'''这是一段多行注释'''
如上所示两种都可以作为多行注释使用,只要处于引号内,可以随意进行换行。
一般在开发收尾阶段,我们要给每个文档开头加上一段注释,在上边写上该文档的作者,时间等信息。
像这种放在文档开头的注释我们称为文档注释,文档注释属于多行注释,且必须使用三对双引号。
print(10) # 10
print("hello world") # hello world
print( " hello
world") # hello world
如上所示,虽然第三个print内的内容进行了手动换行,但与之前一个print打印的结果相同,都不换行,这种就叫做单行打印。
想要实现多行打印,和多行注释相同,都是使用三对单引号或双引号,这样里边的内容输入的是什么格式,打印出来就是什么格式。
注:如果你想要打印的内容包括单引号或双引号,那外层的引号就需要采用不同的,外单内双,外双内单。
如果我们想要查看一个关键字的详细内容或是关键属性,我们可以按住alt键点击关键字,就可以查看与其相关的内容。
本次只介绍一些print:
print(self,*args,sep=“”,end=”“,file=None)
self: 暂时不关注
*args: 接收多个逗号隔开的值
sep: 多个值的连接符,默认是空格
end:结束符号,默认\n换行
file: 打印到指定文件,默认为空
print(10,20,30,sep=" ",end="\n")
注:\n 表示换行,\t 表示TAB空格
\ 表示转义符号,在打印时可能会出错,可以在前面再加上一个 \,就能正常打印。
如果只打印一个\,可能会导致后边的值没法正常打印。
print("E:\\python2507\\python-basic")
在输出内容前加 r 表示原字符串输出,即完全按照内容输出,包括\,但依旧属于单行打印,需要配合多行打印使用。
在输出内容前加 f 能够将变量和字符串一起打印。
print(r"E:\python2507\python-basic")
name = 'bob'
print = (f'我的名字叫{name}') # 我的名字叫bob
我们常用的进制是十进制,但计算机只能识别二进制编码,因此就需要我们进行进制转换。
辗转相除法:将十进制数不断除以二,然后取余数的倒数就是二进制编码。
相对的,想要转化为八进制就除以八,转化为十六进制就除以十六。
注:由于十六进制涉及到两位数字,为了避免混淆,我们规定,用
A表示10,B表示11,C表示12,D表示13,E表示14,F表示15,到十六就进一位
| 35
2 |-----------
17 -----> 1
2 |------------------
8 -----> 1
2 |-------------------
4 ----> 0
2 |-------------------
2 ----> 0
2 |-------------------
1 ----> 0
2 |-------------------
0 ----> 1
如上所示,35转换为二进制就是0010 0011,我们一般写二进制编码都会让其保持四位一组,不够四位需要在前面补零。
位次从右往左数,运算方法如图所示:
# 二进制 转 十进制
0010 0011 ===> 1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 0 * 2^3 + 0 * 2^4 + 1 * 2^5 = 1 + 2 + 32= 35
# 八进制 转 十进制
43 ===> 3 * 8^0 + 4 * 8^1 = 3 +32 = 35
# 十六进制 转 十进制
23 ===> 3 * 16^0 + 2 * 16^1 = 3 + 32 = 35
由于这一类转化并不常用,这里就简单介绍一下:
如果要转化为八进制,就把二进制数三位为一组进行分组,位数不够在前面补0,每一组的值分别对应4,2,1
即这个三位数中,值为1就取对应的数值相加,最后将每一组的数字拼在一起(不是相加!)
如果转化成十六进制,与八进制类似,但是要将二进制数四位为一组进行分组,位数不够在前面补0,每一组值分别对应8,4,2,1
即这个四位数中,值为1就取对应的数值相加,最后将每一组的数字拼在一起(不是相加!)
A表示10,B表示11,C表示12,D表示13,E表示14,F表示15,到十六就进一位
# 转 八进制
100 011 =====> 43
4 2+1
# 转 十六进制
1010 0011 =====> A3
8+2 2+1
之前我们讲到的都是正数的转化方式,接下来介绍以下负数。
计算中规定 一个数字二进制最高位为符号位、0代表正数、1代表负数:
0000 0101 # 5
1000 0101 # -5
其实我们转化二进制时转化的是二进制的补码,但正数的补码等于原码(原来的值),因此直接转化即可。
负数的补码等于原码取反(0变1、1变0) 后+1,即将二进制数对应的位数0变1,1变0取反,然后在整体加1,就是对应的补码。
# 计算原码 (原码 = 补码 - 1 后 取反 0变1、 1变0)
0000 0101 - 1 ===> 0000 0100 ===取反==> 1111 1011
以上内容需要我们会进行计算,但其实在Python中,我们有快捷计算的公式:
a=0b0101
b=0o1235
c=0xDF
a=int('0101',2) 0-1
b=int('1235',8) 0-7
c=int('DF',16) 0-9 A-F
能够将数值转化为十进制数。
注:int()属于数据类型转换的内容,后续学习中我们会进行详细说明。
本次我们主要介绍了Python的变量、注释、print打印、以及进制转换相关的内容,如果有不清楚的地方欢迎在评论留言,如果我看到会及时回复。如果上述内容有误欢迎改错指正,感谢观看!