python初学基础知识 part1

print函数(输出函数)

文章同步在我的个人博客https://quan9i.github.io/python/,欢迎大家访问

print可以输出数字

代码如下:

print(98)

执行结果
在这里插入图片描述

print可以输出字符串

代码;

print('Hello world')

在这里插入图片描述

print可以写入文件

代码:

fp=open('D:/python测试/test.txt','a+')//a+的含义是如果该文件不存在,就创建一个并执行下方内容,如果已存在,就在此文件中执行下方代码
print('Hello world',file=fp)
fp.close

执行结果
在这里插入图片描述
查看文件夹
在这里插入图片描述
点击test.txt查看
在这里插入图片描述
已经写入

转义字符

\n

n是缩写,全写为newline,\n的意思为换行
代码:

print('Hello\nworld')

执行结果
在这里插入图片描述

\t

t是缩写,全写tab,\t的意思为水平制表符
代码:

print('Hello\tworld')
print('Hellojay\thow are you')

执行结果
在这里插入图片描述
可以发现上面空了三个,下面空了四个,这是因为水平换行符以四个为一组。
第一行Hell为一组,然后o加上三个空格为一组
第二行Hello为一组,ojay为一组,这时需要四个空格自己成为一组

/r

/r是缩写,全写为return,/r的意思是覆盖前面内容(回车)
代码:

print('Hellojay\rhow are you')

执行结果
在这里插入图片描述

/b

/b为缩写,全写为backspace,/b的意思是退格
代码:

print('hello\bworld')

执行结果
在这里插入图片描述

\\

反斜线写两个才能输出一个
代码

print('http:\\taobao.com')

执行结果
在这里插入图片描述

如果想输出两个\,则需要输入四个反斜线
在这里插入图片描述

\ ’

实现句子中含有单引号,则可以利用\'来输出
代码:

print('老师说:\'大家好\'')

执行结果
在这里插入图片描述

\\"

想要输出双引号时可以使用这个
代码:

print('老师说:\"大家好\"')

在这里插入图片描述

原字符(r或R)

注意:最后一个字符不能是\ ,但如果后两个都为\,则可以执行
在转义字符前加上r或R可以使其失效
代码:

print(r'老师说:\"大家好\"')

执行结果
在这里插入图片描述

二进制与字符编码

chr()函数
将进制数进行转换成字符
ord()函数
将字符转换成数
代码:

print(chr(0b10011100101000))
print(ord('乘'))

在这里插入图片描述
20056的二进制数即为10011100101000

变量

变量由三部分组成,标识(id),类型(type),值
代码:

name="沙雕"
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)

执行结果
在这里插入图片描述
很多人说与c语言指针地址相似,由于学艺不精,暂不理解,故暂不做解释

变量可进行多次赋值,但赋值后会指向新的那个空间
示例:

name="沙雕"
print(name)
print('标识',id(name))
print('类型',type(name))
name="大沙雕"
print(name)
print('标识',id(name))
print('类型',type(name))

在这里插入图片描述
可以发现标识以及name发生了变化,变量名指向了新的空间,前面的那个标识此时不会被再用到,称为内存垃圾,会被python回收机制回收

数据类型

整数类型

int型(integer),可以表示正数,负数和零
注:正数可以是二进制,八进制,十进制或者十六进制,默认是十进制
示例:90 -90 0

q1=90
q2=-90
q3=0
print(q1,type(q1))
print(q2,type(q2))
print(q3,type(q3))

在这里插入图片描述
进制数示例

print('十进制',112)
print('二进制' ,0b1001010101)
print('八进制',0o12346)
print('十六进制',0x12acd)

在这里插入图片描述

浮点类型

float型,由整数部分和小数部分组成
示例: 1.1,2.2

n1=1.1
n2=2.2
print(n1+n2)

执行结果

此时我们发现结果与预期不符,这是因为部分浮点数进行计算时会存在误差,解决方法是运用decimal函数
示例:

from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))

在这里插入图片描述

布尔类型

bool,即boolean
只有两个值;true false,true为1,false为0
示例:

n1=True
n2=False
print(n1,type(n1))
print(n2,type(n2))
print(n1+1)
print(n2+1)

执行结果
在这里插入图片描述

字符串类型

加上单引号,双引号亦或是三引号
示例:

t1='沙,雕'
t2="沙,雕"
t3="""沙,
雕"""
t4='''沙,
雕'''
print(t1,type(t1))
print(t2,type(t2))
print(t3,type(t3))
print(t4,type(t4))

执行结果
在这里插入图片描述
注:三引号可以换行输出,而单引号或双引号不行。

str函数、int函数和float函数

str()函数可将其他类型转换成字符串类型
示例:

t1=1;
t2=2.9;
t3=False;
print(t1,t2,t3,type(t1),type(t2),type(t3))
print(str(t1),str(t2),str(t3),type(str(t1)),type(str(t2)),type(str(t3)))

执行结果
在这里插入图片描述

int函数,将其他类型转换成整型
示例:

t1='122';
t2=2.9;
t3=False;
print(t1,t2,t3,type(t1),type(t2),type(t3))
print(int(t1),int(t2),int(t3),type(int(t1)),type(int(t2)),type(int(t3)))

在这里插入图片描述注:只能将数字型字符串转换成整型,否则会报错。浮点型转换成整型,抹零取整

float函数
将其他类型转换为单精度浮点型
注:不能转换字符串,转换数字串是可以的。

示例:

t1='122.89';
t2=2;
t3=False;
print(t1,t2,t3,type(t1),type(t2),type(t3))
print(float(t1),float(t2),float(t3),type(float(t1)),type(float(t2)),type(float(t3)))

在这里插入图片描述

注释

单行代码 :加#可以作为注释
多行注释:加三引号作为多行注释:如图所示
在这里插入图片描述
中文编码声明注释:
在这里插入图片描述

input函数

在这里插入图片描述

s1=input('今年是几几年')
print(s1,type(s1))

在这里插入图片描述
input函数进行加减运算
代码:

a=input('请输入一个加数:')
b=input('请输入另一个加数:')
print(type(a),type(b))
print(a+b)

执行结果
在这里插入图片描述
相加时显示1122,而不是33,这是因为input输出的是字符串类型,直接相加就只是把两个字符拼接到一起了,如果想输出正常,则应该转换成整型
代码:

a=input('请输入一个加数:')
b=input('请输入另一个加数:')
print(type(a),type(b))
print(int(a)+int(b))

在这里插入图片描述

运算符

算术运算符

示例:

print(1+1) #加法运算
print(10-1) #减法运算
print(2*3) #乘法运算
print(2/4) #除法运算
print(11//2) #整除运算(除法取整)
print(11%2) #取余运算(除法取余)
print(2**3) # 幂运算
print(9//4) #整除运算
print(9//-4) #较难理解的整除运算 ,其实就是负数往下取整
print(9%4) #取余运算 9=4*2+1 ,1即为余数
print(9%-4) #较难理解的取余运算  9=-4*3+(-3).-3即为余数
print(-9%4) #-9=4*(-3)+3,3即为余数
print(-15%4)#-15=4*4+1,1即为余数

答案为

2
9
6
0.5
5
1
8
2
-3
1
-3
3
1

取余的公式是余数=被除数-除数*商,我用的方法在这里。

赋值运算符

执行顺序:从右到左

支持链式赋值:a=b=c=20

解释:20等于c等于b等于a
在这里插入图片描述

支持参数赋值

1、+=
2、-=
3、*=
4、/=
5、//=
6、%=

a=20
print(a,type(a))
a-=10
print(a,type(a))
a*=3
print(a,type(a))
a/=2
print(a,type(a))
a//=2
print(a,type(a))
a%=2
print(a,type(a))

运算结果

20 <class 'int'>
10 <class 'int'>
30 <class 'int'>
15.0 <class 'float'>
7.0 <class 'float'>
1.0 <class 'float'>

支持解包赋值

示例:

a,b,c=10,20,30
print(a,b,c)

运算结果

10 20 30

可以通过此来实现交换数值
示例:

a,b=10,20
a,b=b,a
print(a,b)

运算结果为

20 10

比较运算符

比较运算符有 < , > , <= , >= , == , != , in , not in , is , is not 。
示例1:

a,b,c=10,20,30
print('a>b吗?',a>b)
print('a<b吗?',a<b)
print('a<=b吗?',a<=b)
print('a>=b吗?',a>=b)
print('a!=b吗?',a!=b)
print('a==b吗?',a==b)

运算结果

a>b吗? False
a<b吗? True
a<=b吗? True
a>=b吗? False
a!=b吗? True
a==b吗? False

注:在计算机语言中,=为赋值运算符,==为比较运算符,变量由标识(id),类型(type)已经值(value)组成,这里比较的是值(value)
示例2:

a={10,20}
b={10,20}
print(a==b)
print(a is b)
print(a is not b)
print(id(a))
print(id(b))

运算结果

True
False
True
1641728005504
1641728004608

可能这时候有人会疑惑,为什么数组内容一致,但二者的标识却不一样(以下仅为个人观点,如有不当还请多多指教),这是因为对于一个名字不同的数组来说,其id是不一样的,这里的一个变量名是a,一个是b,两个变量名不同,因而具有不同的id,即标识不同。

布尔运算符

and运算符

必须两个结果都正确,才能输出true
示例:

a,b=10,20
print(a==10 and b==20)
print(a==10 and b!=20)
print(a<10  and b==20)

运算结果


True
False
False

or 运算符

两个中有一个是正确,就会输出正确
示例:

a,b=10,20
print(a==10 or b==20)
print(a==10 or b!=20)
print(a<10  or b==20)

运算结果

True
True
True

not运算符

即取反运算符,示例如下:

a,b=True,False
print(not a)
print(not b)

执行结果

False
True

注:这里的true和false首字母需要大写,否则无法识别

in运算符和 not in 运算符

a='hellowwwww'
b='wwadadawd'
print('w' in a)
print('r' in b)
print('r' not in b)

运算结果

True
False
True

位运算符

按位与&

知识小扩充:二进制中默认8个位为一个字节。
对应数位都是1,结果数位才为1,否则为0
示例:
进行4和8的按位与运算,都为1才为1,否则结果为0,如下图所示
在这里插入图片描述得到结果为0
代码输出则如下图所示
在这里插入图片描述

按位或|

对应数位都是0,结果数位才为0,否则为1
示例:
在这里插入图片描述输出到代码中则如下图所示
在这里插入图片描述

左移位运算符<<

高位溢出舍弃,低位补0
在这里插入图片描述注:高位溢出处是舍弃的,读取数值至高位溢出右边结束
用代码书写则如下图所示
在这里插入图片描述

右移位运算符>>

低位溢出舍弃,高位补0
示例:
在这里插入图片描述
注:低位截断处是舍弃的,在读取数值时从其左边开始
用代码书写如下图所示:
在这里插入图片描述

运算符优先顺序

在这里插入图片描述
前三个为算术运算符,挨着的三个为位运算符,再后面的一个是比较运算符,其后两个是布尔运算符,最后一个是赋值运算符
因此常规情况下,优先顺序为:
算术运算符>位运算符>比较运算符>布尔运算符>赋值运算符
为什么说常规,因为但当存在小括号时,优先计算小括号内内容

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值