1.输入输出
1.1输出
将文本信息展示出来
1 def print(self, *args, sep=' ', end='\n', file=None): 2 """ 3 Prints the values to a stream, or to sys.stdout by default. 4 Optional keyword arguments: 5 file: a file-like object (stream); defaults to the current sys.stdout. 6 sep: string inserted between values, default a space. 7 end: string appended after the last value, default a newline. 8 """
1 print('努力学好后端') # 打印之后,自动换行 2 print('赚大钱', '买豪宅', '去按摩', sep='&', end='') # 多个文本之间用&分割,且不换行
1.2输入
提示用户输入文本,程序会阻塞等待用户输入,回车键则输入完成
def input(*args, **kwargs): """ Read a string from standard input. """
name = input('请输入姓名:') print(name)
2.变量
变量的本质就是某些数据的别名,以后通过别名来操作数据
格式:【变量名=值】,在python中是不需要声明变量的类型
name = 'kunmzhao' # 声明name,表示字符串kunmzhao age = 100 # 声明age,表示数字100
2.1 变量名的规范
- 变量名只能由数字,下划线和字母组成
- 变量不能以数字为开头
- 变量名不能使用python内置的关键字
[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’,
‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’,
‘try’, ‘while’, ‘with’, ‘yield’
建议:
- 变量名字尽量见名知意
- 使用下划线连接命名或者驼峰命名
2.2 变量的内存指向
场景一
name = 'kunmzhao'
场景二
name='kunmzhao' re_name = 'kunmzhao'
场景三
name = 'kunmzhao' name = 'victor'
场景四
name='kunmzhao' re_name = name
场景五
name= 'victor' re_name = name name='kunmzhao'
变量的内存地址可以通过内置函数id表示出来
name = 'kunmzhao' age = 18 print(id(name), id(age)) # 140536162276592 140536430390096
3.字符串格式化输出
字符串的格式化就是实现字符串的拼接,按照我们希望的方式展示,在python中有3种方式
3.1 %格式化
该方式从python2.0版本就支持,是最老的格式化方法。在字符串中需要格式化的地方添加占位符%s,然后格式化
name = 'kunmzhao' age = 18 print('我的名字是:%s,年龄:%s' % (name, age)) # 我的名字是:kunmzhao,年龄:18
3.2 format格式化
该方式为python2.6之后产生的,使用{}进行占位,然后format进行传递参数,相对于%传递参数,可以不固定参数的位置了
name = 'kunmzhao' age = 18 # 通过位置传参 print('我的名字是:{},年龄:{}'.format(name, age)) # 我的名字是:kunmzhao,年龄:18 # 通过参数传参 print('我的名字是:{name},年龄:{age}'.format(age=age, name=name)) # 我的名字是:kunmzhao,年龄:18
3.3 f格式化
该方式是python3.6以上才支持的写法,相对于format,可以更加简化, 支持将变量直接传入到字符串中
name = 'kunmzhao' age = 18 # 通过位置传参 print(f'我的名字是:{name},年龄:{age}') # 我的名字是:kunmzhao,年龄:18
4.注释
注释的内容是不会被解释器翻译的,也就不会被执行,注释的目的是让程序员更好的理解程序
- 单行注释
# 这是一个单行注释
- 多行注释
""" 这是一个多行注释 这是一个多行注释 这是一个多行注释 """
5.编码
计算机中所有储存的内容都是二进制的,包括我们写的程序代码文件,但是人类无法直接读懂二进制文件,于是将二进制文件按照某种方式进行转化。成为我们可以读懂的,该方式就是编码
如果我们在打开文件中发现了乱码,什么原因呢?
文件保存时的编码方式和打开时的编码方式不一致造成的,解决的方式就是打开时采用文件保存时的编码方式即可
常见的编码:
- ASCII编码:只能识别数字,字母等少数的符号
- UTF-8:可以很好的识别中文
- GBK
- Unicode
- ...
在python2的版本中,默认的编码为ascii,所以我们常常会在.py文件首行写入,指定编码方式
# encoding:utf-8
而在python3中默认使用的就是utf-8,所以也就不再需要写了
6.进制
在编程中的进制有以下四种
- 二进制:计算机储存方式
- 八进制:用途较少
- 十进制:便于人类识别
- 十六进制:二进制展示冗长,十六进制可以缩短
在python中,进制之间可以使用内置关键字进行转化 bin oct hex int
num = 88 # 十进制转化为其他进制 print(bin(num)) # '0b1011000' print(oct(num)) # '0o130' print(hex(num)) # '0x58' # 其他进制转化为十进制 print(int('0b1011000', base=2)) # 88 print(int('0o130', base=8)) # 88 print(int('0x58', base=16)) # 88
7.储存单位
储存单元用于衡量存储数据的大小,常用的单位如下
- b(bite)位
- B(byte)字节
- KB 千字节
- M 兆字节
- G 千兆字节
- T 万字节
- PB/EB/ZB/YB/NB/DB
他们之间的换算为1024
1T = 1024G = 1024*1024M = 1024*1024*1024KB = 1024*1024*1024*1024*B = 1024*1024*1024*1024*8b