python基础知识扩展(一)
python课外笔记
1.print函数
- print("helloworld")其实系统默认隐藏了一个参数end,完整的print()语句是
print("helloworld",end="\n")
#所以print语句打印会自动换行,如果想让其不换行打印,我们把end参数的`\n`去掉即可。
-
print(a,b)实际含义是不换行分别打印print(a)和print(b)
-
一次性打印多个值
print("tom","jerry","alice","tom") #打印结果: tom jerry alice tom
-
打印的内容直接默认是用空格连接,如果我们想打印的内容之间使用其它连接符连接可以使用分割符
sep
参数,如果使用==
连接,就可以这样写:-
print("tom","jerry","alice","tom",sep="==") #打印结果是: tom==jerry==alice==tom
-
这样就可以在所有的元素之间加上你想要的分隔符
-
-
2.Input输入
-
所有输入的字符,都会被系统当做字符串
题目:输入两个数,求两个数之和:-
# 方法一 num01 = input("请输入第一个数:") num02 = input("请输入第二个数:") print("两个数之和等于:{:d}".format(int(num01)+int(num02))) # 方法二 num01,num02 = eval(input("请输入两个数,以逗号分割:")) print("%d + %d = %d" % (num01,num02,num01+num02))
-
这里的eval函数的特点:
a. 只能一次输入多个整数,不能是字符串
b. 输入后自动转化为int类型
-
3.数据类型
-
数据类型转换
- 把整数x转化为字符:
chr(x)
把一个字符串转化为它的整数值:ord(x)
将一个整数转化为十六进制字符串:hex(x)
将一个整数转化为八进制字符串:oct(x)
将一个整数转化为二进制字符串:bin(x)
- 把整数x转化为字符:
-
如何获取变量的数据类型?如何判断变量是不是属于一个数据类型?
-
可以通过
type(变量名)
就可以知道变量的数据类型;
可以使用isinstance方法,isinstance(变量名,(数据类型))
-
if isinstance(str01,(str)): print("字符型")
-
-
-
数值类型
-
如何查看变量占用多少内存空间?
要导入模块sys,调用方法`sys.getsizeof(变量名import sys num01=100 print('num01占用的内存空间:',sys.getsizeof(num01))
-
八进制0o开头,十六进制0x开头
-
整形数值常见方法:
- abs() 绝对值
- math.fabs() 绝对值
- math.sqrt() 平方根
- math.pow(a,b) a的b次方
- max() 返回最大值
- min() 返回最小值
-
获取整数位,保留指定位数有效数字
- round方法:
print(round(12.3456)) ##输出结果只会打印12 print(round(12.3456,2)) ###输出结果为12.35。round(数值,整数)括号里的整数意思是小数点后保留几位数且四舍五入,如果是2就保留两位数
-
使用math.ceil()方法,返回数字向上取整
使用math.floor()方法,返回数字的向下取整
使用modf()方法,返回两个数值,前一个数是小数部分、后一个个数是整数部分; -
print(modf(12.2345)) ##输出结果:(0.2345 12.0)
-
4.符串类型
-
表示方法
字符串数据类型使用单引号双引号都可以; -
长字符串的表示方法
- 使用续航符
str03="hello nice to meet you"\ "my name is xiaohua"
-
使用三个双引号或者三个单引号
str04='''hello nice to meet you my name is xiaohua '''
使用三个单引号或者双引号可以保留原长字符串的长文本排版格式
-
转义字符和取消转义
打印字符串的时候使用斜杠加字母表示一个特殊的功能
\t
表示横向制表符
\n
表示回车换行
\"
表示打印双引号"
\\
表示打印反斜杠\
对于某些特殊的符号,使用取消专业字符来表示特符号本身,将其打印出来,在要打印的字符串引号前加一个字符
r
表示要打印的字符串不具备转义的功能print('\\') #打印出的结果只有一个\ print(r'\\') #这样就可以原封不动的打印出\\
5.格式化输出
-
百分号形式格式化输出
-
整数格式化输出占位符
-
%d 十进制输出
-
%o 八进制输出
-
%x 十六进制输出
注意:数值源与输出内容之间没有逗号分隔,这里容易与C语言或者Java混淆
让十进制数100,以八进制输出:num=100 print('十进制100的八进制数值为%o'%num) #返回值为:144
如果一次输出多个进制转化:
num01,num02 = 100,200 print("八进制输出为:0o%o,0o%o"%(num01,num02))#返回值为:八进制输出为:0o144,0o310 print("十六进制输出为:0x%x,0x%x"%(num01,num02))#十六进制输出为:0x64,0xc8
如果让一个数二进制形式输出,可以直接使用bin()方法;
num=6 print("二进制输出为:",bin(num)) #返回值为二进制输出为: 0b110
-
-
浮点数格式化输出
-
保留小数点后面六位有效数字
%f
-
保留小数点后面2位有效数字
%.2f
-
小数点后保留6位有效数字的科学计数法计数
%e
-
小数点后保留2位有效数字的科学计数法计数
%.2e
-
6位数能表示就用6位数,6位数表示不了就用科学计数法
%g
-
保留2位有效数字,2位有效数字表示不了就用科学计数法
%.2g
-
#浮点数格式化输出 num01=123.78912 print("标准的模式:%f"%num01) print("保留小哦奥数点后两位数有效数字:%.2f"%num01) print("e标准的模式:%e"%num01) print("科学计数法保留小数点后两位数字模式:%.2e"%num01) print("g标准模式:%g"%num01) print("g标准模式:%.2g"%num01") #打印结果 标准的模式:123.789120 保留小数点后两位数有效数字:123.79 e标准的模式:1.237891e+02 科学计数法保留小数点后两位数字模式:1.24e+02 g标准模式:123.789 g标准模式:1.2e+02
-
-
字符串的格式化输出
-
标准输出
%s
右对齐,占位符10位%10s
左对齐,占位符10位%-10s
截取3位字符串%.3s
右对齐10位占位符,截取两位字符串%10.2s
-
#字符串格式化输出 str01="www.python123.com" print("s标准输出:%s"%str01) print("s固定长度固定空间中输出:%-20s"%str01) print("s截取:%.3s"%str01) print("s对齐10位占位符,截取两位字符串:%10.2s"%str01) #打印结果 s标准输出:www.python123.com s固定长度固定空间中输出:www.python123.com s截取:www s对齐10位占位符,截取两位字符串: ww
-
-
-
format形式格式化输出
-
相对于基本格式化输出采用的
%
的方法,format()功能更加强大,该函数模块把字符串当成一个模板,通过传入参数进行格式化,并且使用大括号{}
作为特殊字符代替%name = "Ailice" gender = "男“ age = 23 print("姓名:%s 性别:%s 年龄:%d"%(name,gender,age)) print("姓名:{} 性别:{} 年龄:{}".format(name,gender,age))
-
还可以在括号里加标识符,后面要用的时候,就不需要在format函数里添加参数了,可以直接用
print("姓名:{0} 性别:{1} 年龄:{2} 学生姓名{0}".format(name,gender,age))
-
标识符除了可以使用数字也可以直接用关键字
print("姓名:{name} 性别:{gender} 姓名:{name}".format(name = name,gender = gender))
-
Format的进阶用法
forma占位符{}
里面使用:对齐方向 占位长度
<
默认左对齐,>
右对齐,^
中间对齐,print("姓名:{:<10}".format(name)) print("姓名:{:>10}".format(name)) print("姓名:{:^10}".format(name))
除了对齐之外还可以使用取位数:
{:4s}
、{:.2f}
print("{:10.2f}".format(3.14159)) #十位占位长度,小数点后保留两位有效数字 print("{:>10.2f}".format(3.14159)) #十位占位长度,小数点后保留两位有效数字,右对齐
-