python基础①
关于python 语言的详解:
关于字符串类型:弱类型(不用像C语言一样给与字符定义),体现形式为(字符串复制无论为什么,都可以接纳,给赋值为什么即为什么类型)
type()变量类型显现
关于path变量,系统的全局变量去寻找对应的解释器进行安装
pip管理文件;对于pip这个命令,python用于安装外来的包
pip freeze > requirements.txt 导出所用的包文件 requirements.txt
pip install -r requirements.txt 安装使用的模块,直接安装文件的内容,文件相互依赖的模块。
print()函数
转义字符\n 换行 在print()函数末尾存在end = "\n"所以在标准输出后都会换行
\t 表示一个tab建,制表符,表示缩进4个空格,但是在源文件编程时,一个tab不能喝4个空格键混用,否则会显示缩进错误。
\r表示回车
\f表示分页符
python中可以支持双单引号的嵌套使用
'和"单双引号的转义字符
print(r“\n”)r表示原样输出raw,不去对转义字符进行转义
\r表示覆盖前面内容输出
``print(pp\rooo)
oo
常量没有标识,规定全部大写的字母为常量
字符串’’’ ‘’‘三引号可以让信息按照字符串原有的样式输出。给变量赋值时,该变量的输出按原有的格式输出
‘’’ ‘’’ 表示注释,不会运行该功能
字符串格式化。
Print(“今天是%s”%(days))
%s占位符%d %f
%s(底层使用了str()函数强转)
%d
digit数字(强转为整形)
%f(浮点型)float,四舍五入最后一位取。
%.2f指定保留小数点位数几位
a=5.556
print("%.2f%(a)")
5.56
+只能拼接字符串,两者的类型相同才可以
```python
>>> print("a"+"aa")
aaa
>>> print("3"+"5")
35
>>>
字符串格式化输出:方法1占位符s%,d%,f%
(%d必须为int、%f不能为str类型)
方法2format()
Message =“嘻嘻{}哈哈”.format(变量)
.表示调用该函数,format(一一对应前面的{},必须对应。)
例如:
>>> a="小明"
>>> print("%s"%(a))
小明
>>> print("{}".format(a))
小明
input()函数标准流输入,都输入的所有信息都为str类型
赋值运算符,
算数运算符
逻辑运算符
关系运算符
位运算符
赋值运算符
=(内存指向)
id()返回变量的内存地址
identity特征特点
不同变量,赋值相同的常量,分配的id是相同,将同一个内存地址复用
>>> a="小明"
>>> print("%s"%(a))
小明
>>> id(a)
2652411242256
Num+=5 ------》 num = num+5;
>>> a=4
>>> a+=6
>>> print(a)
10
A = abc
a+=ff
----》a = abc+ff(连接符赋值)
>>> a="abc"
>>> a+="fc"
>>> print(a)
abcfc
-= / *= ;/=不支持str类型(扩展后赋值)
算数运算符
-
-
- / **(指数)
//(整除)
%取余
关于//整除,若除数为正数则向上取整5//4 =1
为负数,向下取整数-5//4为 -2
例如:
- / **(指数)
-
>>> a=5
>>> b=2
>>> print(a/b)
2.5
>>> print(a**b)
25
>>> print(a*b)
10
>>> print(a//b)
2
>>> print(a%b)
1
>>> a=-5
>>> b=2
>>> print(a//b)
-3
注意关于函数append在末尾追加一个元素,对于列表来说,没有返回值,不能用 变量进行接参数
关于pop()末尾删除,可以进行接参数,接的参数为删除的元素,且对于列表来说是永久删除
sort()排序函数,调用此函数永久改变排序
sorted()print调用此函数不改变原来list的顺序
例如:
sort()无法接对应的返回值!!
>>> a=[10,8,6,5,6,4]
>>> print(sorted(a))
[4, 5, 6, 6, 8, 10]
>>> print(a)
[10, 8, 6, 5, 6, 4]
>>> a.sort()
>>> print(a)
[4, 5, 6, 6, 8, 10]
Reverse = ture 通过改参数,逆向排序
比较运算符:
== 字符串比较
!=
is对象的比较;内存地址的比较
is比较返回为true 或者false
源文件和交互式运行is结果不同
原因:
交互式小整数交互池,一句一句(所见所得)
[-5,256]小整数对象池
终端每执行一次就是,重新开辟空间内存地址进行运行
逻辑运算:
And not or返回的值也为true 或者false
1*1真
位运算:
bin()二进制
0b表示二进制的数字:0b111
priint(int(b))
负数的二进制
正数二进制取反加一
字节byte bit二进制位
8个二进制位==一个字节
八进制
0O八进制的开头
0O 721转二进制
111 010 001
十六进制
0X 987
转二进制4位的二进制,每个数的二进制
位运算
& 运算表示二进制的and运算
| 表示二进制的or
~表示二进制的非
^ 异或(两个数上下对齐相同为1不同为0)
<<左移
print(2<<1)
0000 0010
左移1
000 0010永远8位,不足补0
print(8<<3)
----->82^3
Print(m<<n)
m2^n
>>右移
0000 001 左侧为正数补0
Print(m>>n)
m//2^n整除取整
>>> print(-8<<3)
-64
#-8*2^3
>>> print(-8>>3)
-1
#-8/2^3
~十进制的数字变为二进制取反
第一位为1,表示为负数,为0为正数
三目运算符:
结果 if 表达式 else 结果
判断表达式中为真假
Result =a+b if (a>b)else a/b
a>b为真输出a+b,为假输出a/b;
运算符的优先级:
**
~
+ - (符号运算)
/ // % (算数运算)
+ - 加减
<<(位运算)
>>
&
^(二进制取反)
|
= = != > >= < <=
Is is not
not
And
or