python的一些基础知识:基本的语法,字符串,长字符串,格式化字符串(四种方法),变量和对象的关系,类型转换,运算符

基本的语法

  1. 肯定严格区分大小写之类的
  2. 一行就是一条语句,每一条语句以换行结束,如果一行想写多条语句,每一条语句要以;隔开
  3. 一条语句需要多行编写的时候,在一行的末尾以\结束,下一行和这行就是同一条语句
  4. python是严格缩进的,缩进代表的是代码块
  5. 在python中#表示注释
  6. python中使用变量是不需要声明的,直接给变量赋值就行了,而且python是动态类型的语言,可以为变量赋任何类型的值,赋值后又可以修改成任意类型的值
  7. python的数值分为三种:整数,浮点数,复数
    整数int
    在python中所有的整数都是int类型的,而且它不像其他语言那样有大小限制的,python的int类型是没有限制的,可以是一个无限大的整数,如果数字的长度过于长,还可以用下划线进行分割,例如a=45_46_45,这里a的值就是454645,编译的时候将_忽略了
    浮点数float
    复数型:complex,复数是由实数部分和虚数部分构成的数,python中表示为x+yj,j为虚数的单位
    python中使用复数类型的注意点:
    虚数的单位必须使用j或J表示
    虚部不能单独存在
    实部和虚部都是浮点数
  8. python的不同进制的表示
    二进制:以0b开头
    八进制:以0o开头
    十六进制:以0x开头
  9. print()函数的参数
print(1,2,3,sep="#")  显示1#2#3,sep的作用是设置每个参数之间的分割符,默认是空格
还有一个end参数,end的作用是在末尾输出的内容,默认是换行符\n
  1. 在IDLE环境就是按ALT+/进行提示补全,Ipython是使用TAB键进行补全
  2. pip工具的使用,在命令行里面输入pip list#可以查看已经安装的python软件包,
    输入pip list --outdated可以查看可以升级的python包
    输入pip instal 软件包名安装python软件包名
    输入pip install --upgrade 软件包名更新软件包
    输入pip uninstall 软件包名 卸载软件包名
    输入pip show 软件包名 查看软件包的详细信息
  3. Anaconda开发环境,Anaconda是个集成的开发环境,本身就配置了很多的python包,在Anaconda里面可以使用Anaconda Prompt窗口进行对python安装包进行管理,在Anaconda里面可以使用pip命令,也可以使用conda命令对安装包进行管理
    输入conda list 显示当前环境的所有包
    输入conda search 软件包名 搜索软件包
    输入conda update 软件包名更新软件包
    输入conda remove 软件包删除软件包名
    Anaconda的环境管理
    在Anaconda Prompt窗口可以管理虚拟环境,就是可以新建一个不同的环境,比如2.x和3.x的环境
    可以使用conda create -n 环境名字 python=3.7 包的名字 创建一个新的环境
    使用conda env list 查看python的虚拟环境
    使用conda activate 环境名称切换环境
    使用conda deactivate 退出虚拟环境
    使用conda remove -n 环境名 --all或者conda env remove -n 环境名 进行删除环境
    Ipython的_符号使用
-显示最近的一次输出结果
__两个下划线显示最近的第二个输出结果
_数字显示指定的数字的输出结果
_i数字显示指定数字序号的表达式

在这里插入图片描述在这里插入图片描述

还有查历史记录的功能
显示历史记录,直接输入history
显示指定序号的历史记录history -n 序号
历史记录里面搜索内容history -g 字符串
自省
IPython中使用?来查看已有的变量或者函数等相关信息
也可以使用函数help(a)或者dir(a)
在这里插入图片描述

Ipython的magic命令
IPython将%开头的命令称为magic命令,默认的%可以省略,例如
在这里插入图片描述
在这里插入图片描述
13. python软件包

qrcode用于生成二维码

字符串

使用时需要用单引号(’’)或者双引号("")引起来,两者不能混合着用,相同的引号不能嵌套着用

长字符串

使用三个引号来表示长字符串,’’‘或者""",长字符串可以换行,而且还会保留文本中的格式
10. 转义字符
python可以使用(反斜杠)作为转义字符,例如:
\‘表示’
\“表示”
\t表示四个空格,就是一个tab键
\n表示换行
\\表示反斜杠
\uxxxx表示利用Unicode进行编码的,比如在Unicode编码里面,第0048个是H,如果你写a=’\u0048’,a就表示字符H.为什么是四个数字?因为Unicode编码里面用四位`进行编码

10. 格式化字符串(四种方法)

①:两个字符串可以进行加法连接,但是不可以和其他数据类型进行加法运算
②:print(变量1,变量2),这里打印后变量1和变量2也是拼接起来的,而且这里是没有数据类型限制的,两个变量什么类型都行,不同类型也可以
③创建字符串的时候可以指定占位符,例如:
a=‘hello%s’%变量 #这里就是用变量替换了字符串a的%s的占位符
%s #这个表示任意的占位符,在%s的位置可以填充字符串,整数,浮点数等等,
而且这里的占位符还可以做限制,例如%2.3s #这个表示这个占位符最少有两位,如果不足两位就在前面填充空格补完整到两位,如果超过三位就不要后面的
%f #这个是浮点数的占位符,这里的%4.1f 和上面的就有点区别了,4还是不够四位补空格,但是1就是小数点后面保留一位小数
%d #这个是整数的占位符
④格式化字符串,就是可以通过在字符串前面添加一个f来创建一个格式化字符串,在格式化字符串中是可以直接加入变量的,比如a=f’啦啦啦{x1}{x2}’ #这里的x1和x2是一个变量,什么类型都可以

又或者可以这样:%和format
①%格式(py2.x的旧形式)
格式:%[flag] [ width ][.precision]type
flag是对齐方式

-左对齐
+右对齐,在前面显示加号补齐
0右对齐,显示的数字前面用0填充

width是字符串的占用长度
precision是指定数值类型保留的小数点位数
type是指定的格式符

%c格式化字符
%s格式化字符串
%d格式化整数
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数
%f小数,可指定小数点后面的精度
%e科学及算法格式表示
%g根据值的大小决定使用%f还是%e

②format格式(推荐使用)
格式:"{替换的格式符}".format(参数)
参数:匹配的替换内容
替换格式符的语法:[[fill]align] [sign] [width ] [,] [.precision][type]
fill是设置要填充的字符,默认是空格
align是设置对齐方式,^,<,>分别是居中,左对齐,右对齐
sign设置数值型数据前的符号,+表示在正数前面加正号,-表示正数前不变,空格表示在正数前加空格
width表示字符串占的宽度
,表示为数字添加千位分隔符
precision表示保留的小数位数
type表示格式化类型,type和前面的%格式取值差不多,多了个%,%表示浮点数按照百分比的形式输出

# 第0个数用百分比,第1个数用科学计算法,均保留2位小数
In: '{0:.2%}和{1:.2e}'.format(0.1234, 123456)
Out: '12.34%和1.23e+05'

# 长度为10,保留2位小数,使用","千位分隔符,右对齐,长度不够用“#”填充
In: '{:#>10,.2f}'.format(1234.5678)
Out: '##1,234.57'

  1. 字符串复制,就是将字符串和一个数字进行乘法运算,这时就会将字符串复制到那个数字的次数
  2. 布尔值(Boolean,在python里面简写成bool)
    一共有两个True和False,
    其实bool的数据类型也是属于整形,True相当于1,False相当于0,1+True等于2的
  3. None(空值),就什么都没
  4. 类型检查的函数:type() #这个函数传入一个变量,返回这个变量的数据类型
  5. 对象(object)
    python也是面向对象的语言,对象是内存中专门用来存储指定数据的一块区域,它实际就是一个容器,上面的数值,字符串,bool,None都是对象
  6. 对象的结构:对象里面都会存储这三种数据:id,type,value
    id: 就是这个对象的标识,每一个对象都只有一个唯一的id,如果要查看,可以通过id()函数来查看对象的id,这个id是由解释器生成的,一旦创建就永远不可能改变,在cpython中,id就是对象的内存地址
    type: python是强类型的语言,对象一旦创建,类型就不能修改
    value: 对象中存储的具体数据,可变对象的值可以改变,不可变对象的值不能改变,int ,str,Boolean…的值都是不可以改变的

17. 变量和对象的关系

在变量中不是直接将python的对象直接存储进去,而是存储对象的id,在python中,变量就好像给对象起了一个别名.
如果你执行了a=10 a=b a=20 #这时候b里面存储的值是没有改变的还是10,就是b里面的id没有变,所以python里面的变量是相互独立的,其中一个改变了不会影响其他的

18. 类型转换

不是说python是强类型语言吗?类型怎么还可以转换呢?
其实是这样的,类型转换不是改变这个对象本身的类型,而是创建一个新的需要的类型的对象,然后将当前对象的值赋值给新的对象的值
对于类型转换有四个函数int(),float(),str(),bool()
int() #将其他的对象类型转化成整型
规则:
True—>1 False---->0
浮点数就直接删了小数点后面的东西,直接取整
字符串,将合法的整数字符串转化成对于数字,不合法报错ValueError
其他的和int()差不多,说下bool()
bool()
将其他对象转化成布尔值,任何对象都可以转换成bool值,
规则:所有的表示空的对象都转化成False,例如0,none,其他的都转换成True
eval(str)
这个函数是将str转换成表达式,然后计算表达式,将结果返回
例如eval(“1+2”) 的结果就是3
ord(x) #返回字符x对应的ASCII或者Unicode编码
chr(x) #返回整数对应的Unicode字符是什么
hex(x) #将整数x转换成十六进制字符串
oct(x) #将整数x转换成八进制字符串

19. 运算符

算术运算符
数学中的±/就不说了,还有
// 表示整除,保留计算后的整数,返回一个整数,
** 表示幂运算,比如2 ** 3等于8
赋值运算符
=,+=,-=,
=,/=,**=,//=,%= #简单,不多说
注意一下:就是对于浮点数运算,返回的结果还是浮点数,比如10.0//4的结果是2.0
python中赋值的快捷用法

a,b,c=10,20,30
#得到a=10,b=20,c30
#交换变量的值
a,b=b,a
#这样就将a和b的值进行了交换

位运算

~按位取反
&按位与
|按位或
^按位异或
>>按位右移
<<按位左移

关系运算符
/>,/>=,/<,/<=,==.!= #不多说
注意一下:
①就是如果是两个字符串进行大于(等于)或小于(等于)的运算时,比较的是字符串对应的Unicode编码,比如’a’>‘b’ #False,因为a的编码在b的前面
如果字符串是多位的字母,这时就是逐位进行比较的,而且是前面如果比较出来大小,后面的就不再进行比较了,比如’5’<‘1546’ ,这里是False的,因为’5’和’1’比较,发现’5’比’1’大,所以就直接返回False,后面的不再进行比较了.利用这个特性,可以对英文的字符串进行按照字母排序,但是如果里面有中文就不行了,而且这样对中文排序好像也没什么特殊的意义

②这里的比较==和!=比较的是两个对象的value(值),而不是id,只要是值是一样的就返回True,比如(1 ==True) #这里返回的是True,因为他们两个的值都是1

③如果要想比较两个对象的id是否一样,有is和is not
is是比较两个对象是否是同一个对象,比较的是id
is not相反

逻辑运算符
and:逻辑与
逻辑运算的与运算
python的与运算是短路的与运算,如果第一个就是False了,就不会理第二个值是什么

or:逻辑或
逻辑运算的或运算
python的或运算也是短路的或运算,如果第一个就是True,就不会理第二个值是什么

not:逻辑非
对于布尔值是取反操作,
对于非布尔值是将它转化成布尔值再取反

非布尔值的与或运算
python对非布尔值进行与或运算的时候,python会将它们当作布尔值进行运算,最终会返回其中一个原值
与运算规则:本来就是找False,如果第一个值是False,就不会看第二个值,直接返回第一个值,否则返回第二个值
或运算规则:本来就是找True ,如果第一个值是True,就不会看第二个值,直接返回第一个值,否则返回第二个值

再python中独特的逻辑运算符用法:连着写,比如:
print(10<20<30) #True
这里相当于10<20 and 20<30

条件运算符(也叫三元运算符
语法:语句1 if 条件表达式 else 语句2
执行流程:先对条件表达式进行求值,
如果条件表达式是True,就执行语句1,并且返回执行结果
如果条件表达式是False,就执行语句2,并且返回执行结果
比如:求较大值a=23 b=26
max=a if a>b else b

运算符优先级
查表吧,不常用.(例如and比or高)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReflectMirroring

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值