Python学习日记1
1、 输出函数print()
(1)直接输出
print(123)
print("hello python")
(2)将数据输出到文件中
注意点:输出盘存在
file=fp
fp = open('D://txt.txt','a+')
print("hello python",file=fp)
fp.close()
2、转义字符
#\ +转义功能的首字母 n-->newline的首字符表示换行
print('hello\npython')#hello
#python
print('hello\tpython') #hello python
print('helloooo\tpython')#helloooo python
print('hello\rpython')# python python对hello进行了覆盖
print('hello\bpython')#hellpython \b是退一个格,将o退没了
3、基础知识
(1)
8 bit(比特位) = 1 type(字节)
1024 byte = 1 KB 千
1024 KB = 1 MB 兆
1024 MB = 1 GB
1024 GB = 1 T 太
(2)
变量、函数、类、模块和其他对象的起的名字就叫标识符
4、数据类型
(1)整数类型进制
#整数可以表示为二进制,十进制,八进制,十六进制
print('十进制',11)#11,默认是十进制
print('二进制',0b111101)#61,二进制以0b开头
print('八进制',0o123)#83,八进制以0o开头
print('十六进制',0xAD11)#444305,十六进制以0x开头
(2)浮点类型
由整数部分和小数部分组成
浮点数存储不精确性,使用浮点数进行计算时,可能会出现小数位数不确定的情况
解决方法:导入模块decimal
n1=3.1
n2=3.2
print(n1+n2)#6.300000000000001
from decimal import Decimal
print(Decimal('3.1')+Decimal('3.2'))#6.3
但是存在一个问题,在Decimal()中输入变量名,结果仍然是错误的。
(3)布尔类型
python中的bool类型可以转换为整数计算
n1=True
n2=False
print(n1,type(n1))#True <class 'bool'>
print(n2,type(n2))#False <class 'bool'>
print(n1+1)#2
print(n2+1)#1
(4)字符串类型
使用单引号,双引号只能放在一行执行
使用三引号可以放在两行
str1='nihao'
str2="nihao"
str3='''ni,
hao'''
str4="""ni,
hao"""
print(str1,type(str1))#nihao <class 'str'>
print(str2,type(str2))#nihao <class 'str'>
print(str3,type(str3))#ni,
#hao <class 'str'>
print(str4,type(str4))#ni,
#hao <class 'str'>
(5)数据类型转换
str()
int()
float()
a1=9
a2=12.1
a3=True
print(type(a1),type(a2),type(a3))#<class 'int'> <class 'float'> <class 'bool'>
print(str(a1),str(a2),str(a3),type(str(a1)),type(str(a2)),type(str(a3)))
#9 12.1 True <class 'str'> <class 'str'> <class 'str'>
其余转换类似
int()
将str转换成int类型时,字符串必须为数字串(整数),非数字串不允许转换
float()
字符串中的数据如果是非数字串,则不允许转换
5、input()函数
var=input("羽生结弦花样滑冰好吗?")
print(var)
#运行结果:
#羽生结弦花样滑冰好吗?那是当然啦
#那是当然啦
#从键盘输入两个数,并相加求和
var1=int(input('请输入一个加数:'))
var2=int(input(('请输入另一个加数:')))
print(var1+var2)
#运行结果:
#请输入一个加数:12
#请输入另一个加数:13
#25
6、运算符
(1)算术运算符
print(13//2)# 6 整除运算
print(3**2)# 9 幂运算
print(9//-5)# -2 一正一负向下取整
print(-9//5)# -2
(2)解包赋值:左右变量和值的个数要相等
a,b,c=10,20,30
print(a,b,c)#10 20 30
(3)交换两个变量的值
a,b=10,20
print(a,b)#10 20
a,b=b,a
print(a,b)#20 10
(4)比较运算符
a,b=10,20
print('a>b吗?',a>b)#False
print('a<b吗?',a<b)#True
print('a<=b吗?',a<=b)#True
print('a>=b吗?',a>=b)#False
print('a==b吗?',a==b)#False
print('a!=b吗?',a!=b)#True
(5)is比较ID标识
is比较两个变量ID是否相等
is not比较两个变量ID是否相等
a=5
b=5
print(a==b)#True
print(a is b)#True
list1=[1,2,3,4,5]
list2=[1,2,3,4,5]
print(list1==list2)#True
print(list1 is list2)#False
(6)布尔运算符
and or not(取反) in not in
print(a is not b)#False
print(list1 is not list2)#True
f=True
print(not f)#False
str='hello yuzu'
print('h' in str)#True
print('y' not in str)#False
print('w' not in str)#True
print('a' in str)#False
7、内置函数range()
(内置函数print(),内置函数input())
用于生成一个整数序列,返回值是一个迭代器对象
三种创建方式:
#第一种创建方式,只有一个参数,默认创建0到此参数的序列,步长为1
_ra1=range(5)#[0, 1, 2, 3, 4]
print(_ra1)#range(0, 5)
print(list(_ra1))#用于查看range对象中的整数序列-->list是列表的意思
#第二种创建方式,给了两个参数,从第一个参数开始,到第二个参数结束,步长为1
_ra2=range(3,7)
print(_ra2)#range(3, 7)
print(list(_ra2))#[3, 4, 5, 6]
#第三种创建方式,第三个参数为步长
_ra3=range(2,10,3)
print(_ra3)#range(2, 10, 3)
print(list(_ra3))#[2, 5, 8]
#拓展:判断指定的整数,在序列中是否存在 in , not in
print(2 in _ra3)#True
print(2 not in _ra3)#False
print(6 in _ra3)#False
print(6 not in _ra3)#True
range类型的优点:
不管range对象的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅需要存储start,stop,step,只有当用到range对象时,才回去计算序列中的相关元素 in 与 not in 判断整数序列中是否存在(不存在)指定的整数
例如:
range(1,10,1)与range(1,100,1)所占用的内存空间是一样的,原因如上