第一篇 python数据类型

IO文件输出

问题1:Python如何实现print不换行?

默认情况下Python的print()函数是换行的,如

print("你好大成")
print("!!!")

#输出
你好大成
!!!

看下print()函数源代码,默认为end="\n"(换行), \n表示换行符

所以,如果想要不换行,就要改变end 的换行属性,将end的\n 替换成任意你想要的值即可。

利用print换行就可以实现跨行拼接的效果哦!

print("你好大成",end="")
print("!!!")

#输出
你好大成!!!


print("你好大成",end="@@我们晚上去吃毛肚吧##")
print("???!!!")

#输出
你好大成@@我们晚上去吃毛肚吧##???!!!

 问题2:Python如何实现输入交互?

   通过input()函数实现

   python3里将raw_input()和input()进行了整合,只保留了input(),返回的是字符串类型;

a = input("请输入你的名字:")
print(a)
print(type(a))

c=input("请输入你的年龄:")
print(c)
print(type(c))

# 输出
请输入你的名字:大橙子
大橙子
<class 'str'>
请输入你的年龄:30
30
<class 'str'>

所以,当你需要浮点型或者整数类型的时候,需要对输入的字符串做转换

a = input("请输入你的名字:")
print(a)
print(type(a))


c=int(input("请输入你的年龄:"))
print(c)
print(type(c))

b = float(input("你每个月交多少税?\n"))
print(b)
print(type(b))


# 输出
请输入你的名字:大橙子
大橙子
<class 'str'>
请输入你的年龄:30
30
<class 'int'>
你每个月交多少税?
644.54
644.54
<class 'float'>

问题3:Python如何操作文件?

 1.  写文件:

   (1)先打开文件:open()函数

   (2)写入文件:write()函数

   (3)关闭文件:close()函数

a = input("请输入你的名字:")
print(a)
print(type(a))


file = open("test.txt",'w')  # 打开文件,往文件里写东西,要把mode值改为w
file.write(a)  # 把内容写入文件
file.close()   # 关闭刚才打开的test.txt文件

写文件的时候默认没有指定encoding编码方式,可以在代码里强制指定,也可以在编辑器里设定,根据项目需要来定

utf-8是世界计算机里的通用编码语言,不管什么语言都可以用utf-8编码识别

a = input("请输入你的名字:")
print(a)
print(type(a))

file = open("test.txt",'w', encoding='utf-8')  # 打开文件,往文件里写东西,要把mode值改为w
file.write(a)  # 把内容写入文件
file.close()   # 关闭刚才打开的test.txt文件
open()函数mode的参数值:

  “r”:打开阅读(默认)

  “w”:打开进行写入,首先截断文件,如果文件里已经有内容了,已经存在的内容会被覆盖

  “x”:创建一个新文件并打开它进行写入

  “a”:打开进行写入,如果文件存在,则附加到文件结尾

  “b”:二进制模式

  “t”:文本模式(默认)

  “+”:打开磁盘文件进行更新(读写)

2. 读文件

file = open("hello.py" , "r")  # 先打开文件
b = file.read()    # 在读取文件内容
file.close()      # 关闭刚打开的文件
print(b)

练习题

# 根据用户输入的文件名,打开文件,然后打印出文件的内容

fileName = input("请输入文件名:\n")
file = open(fileName,'r',encoding="utf-8")
fileText = file.read()
print(fileText)

问题4:字符串格式化怎么操作?

两种常用的字符串格式化方法:

1. %方式

print("物美今天搞活动,满%s元, 减%s元" %(200,60))
print("物美今天搞活动,满%d元, 减%s元" %('200',60))   # 会报错,因为参数值是字符串,前面接收的是数值

# 缺点:参数类型必须与接收参数的类型相同
print("八进制 %o ,\n十进制 %i, \n十六进制 %x ,\n科学计数 %e ,\n浮点数 %f"
      %(99, 99,99,999.9999999,99.999))
# 满足6位的,不用补齐,保留四位小数
print("浮点数的格式化%06.4f" %(66666666.66666666))

# 06表示的是宽度,不足6位的用0补齐,保留四位小数
print("浮点数的格式化%06.4f" %(6666.66666666)) 

#输出
浮点数的格式化66666666.6667
浮点数的格式化6666.6667

2.format方式(Python3里新的字符串格式化方法,推荐)

print("物美今天搞活动,满{0}元, 减{1}元".format(200,60))
print("物美今天搞活动,满{0}元, 减{1}元".format('200',60)) 
print("物美今天搞活动,满{}元, 减{}元".format('200',60))

# {}里的数字,表示的是format()里参数的位置
# {}里没有数字时,默认按照format()里参数的位置往{}里填值
# 优点:规避了%方式里参数前后类型不一致的缺点
print("八进制 {:o} ,十进制 {:d}, 十六进制 {:x} ,科学计数 {:e} ,浮点数 {:.2f}".format(99, 99,99,999.9999999,666.6666))
print("八进制 {:o} ,十进制 {:04d}, 十六进制 {:x} ,科学计数 {:e} ,浮点数 {:.2f}".format(99, 99,99,999.9999999,666.6666))
print("八进制 {:o} ,十进制 {:04d}, 十六进制 {:x} ,科学计数 {:e} ,浮点数 {:08.2f}".format(99, 99,99,999.9999999,666.6666))
# :04  表示宽度是4位,不足4位用0补齐
# :08.2f  表示宽度是8位,包含小数点,不足8位用0补齐,保留2位小数点

猜你喜欢

转载自www.cnblogs.com/victorm/p/11159961.html