Python基础了解

这个是对计算机的基础的了解,和对pthon 的简单介绍。


  • 数据存储:

思考:为什么使用计算机?

为了存储数据、处理数据

思考:数据存储在哪里?

数据存储在内存中

思考:内存是怎么存储数据的?

首先要弄清楚怎么存储数字。

内存:是计算机临时存储数据的介质。

以二进制的形态存储在内存中,八位为一字节,其每块都含有其地址号,

一群地址就组成一个内存

单位:

8bit=1字节      1024字节=1k       1024k=1M       1024M=1G      1024G=1T

进制:

二进制: 逢二进一 0 1    1+1=10

八进制:逢八进一 0 1 2 3 4 5 6 7   1+7=10

十进制:逢十进一  0 1 2 3 4 5 6 7 8 9      1+9=10

十六进制:逢十六进一 0 1 2 3 4 5 6 7 8 9 a b c d e f  f+1=10

进制转化:

十进制转二进制:公式:倒除法 余数逆序。

二进制转十进制:公式:当前的数字乘以二的位数次方再相加。

八进制转二进制:公式:【一转三】八进制的一位相当于二进制的八位,计算时按十进制的转换。

二进制转八进制:公式:【三位一取】:从低位开始每三位得到一个八进制数,高位不足补0.

十六进制转二进制:公式:【一转四】十六进制的一位相当于二进制的四位,计算时按十进制转换 不足四位高位补0。

二进制转十六进制:公式:【四位一取】从地位开始每四位得到一个十六进制数字,高位不足补0

十进制     二进制     八进制     十六进制:

  1.      1        1        1

2        10      2        2

3        11      3        3

4        100         4        4

5        101         5        5

6        110         6        6

7        111         7        7

8        1000  10      8

9        1001  11      9

10      1010  12      a

11      1011  13      b

12      1100  14      c

13      1101  15      d

14      1110  16      e

15      1111  17      f

内存中存存的数据是二进制的。

存储数据:

  1. 计算机需要先开辟空间,再存储数据,计算机开辟空间的最小单位是字节。
  2. 再数据存储时,用最高为表示符号位,0表示正数,1表示负数。

原码,反码,补码。

原码:

规定了字节数 写明了符号位,得到了数据的原码

内存是以原码的形式存储的吗?

内存不以原码的形式存储数据。

反码 :正数的反码是其原码,负数的反码是其原码的符号为不变 其他位取反。

 

补码: 内存是以补码形式存数据的, 正数的补码是其本身,三码和一,负数的补码是其反码加1   加法最后得到的1溢出 没有存储在内存中。

 

2、第一个Python程序:

Python程序的后缀位.py  python程序的文件名最好不要有中文

两种方式

第一种:命令模式 。

输出:print(‘hello world  phone is 110’)

执行程序 进入文件所在目录 python 文件名, 将引号内的数据输出到windows命令行。

第二种:交互模式。 windows 命令行窗口 输入python进入交互模式 exit() 退出

3、注释:

分为 单行注释和多行注释

单行注释:#

多行注释 第一种 “”””””三个双引号 ‘’’’’’三个单引号 相当于一个多行字符串,没有值引用所以不占用内存

根据对象的引用计数器,对象创建会给对象一个引用技术其属性,如果该属性的值位0那么该对象会被释放不占内存。创建了一个字符串对象,但是没有任何的引用所以计数器位0.

4、输入和输出:

输出:打印到屏幕上一些信息

可以接受多个字符串,用逗号分隔

在写python程序不要使用中文字符

print(“sunck is a good man ”,+’’ sunck is a nice man ’’,18)

输入:

从外部获取变量的值

Input 会阻塞,等待输入

name=input()

print(name)

5、Python的数据类型

计算机存储或处理的数据可以是各种类型,比如:文本、图形、音频、视频。所以需要不容的数据类型变量。

第一种:Number数字类型:包含了整数 浮点型复数

第二种:String字符串类型:’dad’ “dsadas”

第三种:Boolean布尔类型 表示真假的值。 True Flase

第四种:None空值,相当于c语言的NULL

第五种:list列表

第六种:tuple元组

第七种:dict字典

第八种:set集合

  1. 标识符

什么是标识符:他是一串字符串(注意:字符串未必是标识符)

标识符的作用:给变量、函数等命名的。

标识符的规则:

  1. 只能有字母、数字、下划线组成。
  2. 不能是python的关键字。

False  None True        and        as assert break class       contiue   def    del elif else   except    finally for from       global if   import    in  is  lambda   nonlocal     not or pass       raise       return try while with        yield

  1. 开头不能数数字
  2. 区分大小写
  3. 见名知意。
  4. Print input 在赋值之后就不能再执行其他的了

注意:再python3.x中 非ASCII标识符也是可以使用 但是慎用

使用汉字作为变量虽然语法不报错 但是不允许使用

  1. 变量和常量

变量:

1.程序可操作的存储区的名称

2.程序运行期间可改变的数据

3.每个变量都有特定的类型

变量的作用:将不同类型的数据存储到内存

定义变量:变量名-数据值 age = 0  注意:变量再使用前必须定义,否则会出现错误

删除变量: del 变量名 注意:删除后变量无法引用

常量:程序运行期间不能改变的数据

  1. 数字Number

分类:

整数:

Python可以处理任意大小的整数,包含负数。

num1 = 10

num2=10.1

print(type(num1)) #int

print(type(num2)) #float

num3=num4=1    #连续定义

num5,num6=1,2   #交互定义

#查看数据在内存中的地址:

print(id(num1))  #能查看到NUM1的地址

#小整数对象

当数为小数的时候其值相同时 其地址是相同,负数从-6开始就不一样了。

python3.7之后所有的都是相同的

浮点数:

浮点数是由整数部分和小数部分组成的,注意:其运算可能会有四舍五入的误差

num10=0.1

num11=0.2

num12=0.3

print(num10+num11) 存在误差。

复数:实数部分和虚数部分,一般不使用。

数学函数:

求绝对值:abs()

求多个数中的最大值: max(a,b,c,...)

求多个数中的最小值: min(a,b,c,...)

求x的n次方: pow(x, n)

四舍五入: round(x[, n]) 用[]标记n是表示可有可无 将浮点数进行四舍五入 如果给出n的值 那么代表舍入到小数点后的几位。不写则表示求整数部分。

数学模块

import math

向上取整:math.ceil()

向下取整:math.floor()

得到浮点数的小数部分和整数部分:math.modf() 返回的是一个元组

开平方,数字不能是负数: math.sqrt()

随机数:

import random

1.从序列中随机获取一个元素:choice(seq)

2.从指定范围内,按照指定基数递增的序列中获取一个随机数,基数默认为1:start为指定范围的开始值,包含在内,默认为0,stop指定范围的结束值,不包含在范围内:randrange([start ,] stop[, step])

3.随机生成一个实数,范围为[0,1):random.random() 

4.随机生成一个实数范围在x到y之间[x,y],得到的为浮点数,x是最小值,y是最大值:uniform(x,y)

5.将序列的元素随机排列:shuffle(list)

6.在指定的范围内获得一个整数两侧都包含:randint(start, stop)

三角函数:#等到爬虫才会用到

反正弦弧度值:asin(x)

反正切弧度值:atan(x)

反余弦弧度制:acos(x)

x的弧度的余弦值:cos(x)

x的弧度的正弦值:sin(x)

x的弧度的正切值:tan(x)

角度转为弧度:radians(x)

数字类型转换:

int(x):将x转为一个整数。转是数字的字符串

float(x):将x转为一个浮点数。只能转是数字的字符串

  1. 运算符和表达式

表达式:由变量、常量和运算符组成的式子成为表达式

阅读表达式:阅读表达式的功能  阅读表达式的值

算术运算符与算术运算表达式:

算术运算符:

加:+ 减:-  乘:*  除:/  取模:%      求幂:**      取整://

算术运算表达式:

功能:进行符号对应的算术运算,不会修改变量的值。

值: 相关算术运算的结果。

赋值运算符和赋值运算表达式:

赋值运算符:=

赋值运算表达式:

格式: 变量 = 表达式

功能:计算表达式的值并赋值给等号左侧的变量。

值: 赋值结束后变量的值。

复合运算符:

+=         -=      *=      /=      %=         **=         //=

位运算符:

&  按位与运算符:参与运算的值,如果两个相应位都为1,则该位结果为1否则为0。

|    按位或运算符:参与运算的值,如果两个相应位有一个为1时,则该位结果为1否则为0。

^  按位异或运算符:符参与运算的值,如果两个相应位不同时,则该位结果为1否则为0。

~  按位取反运算符:对数据的每个二进制进行取反操作,1变0,0变1(按补码运算)

<< 左移运算符:运算数的各二进制数左移<<右侧指定移动位数,高位丢弃,低位补0

>> 右移运算符:运算数的各二进制数右移>>右侧指定移动位数,低位丢弃,高位补0

面向过程:自上而下,逐步求精。

关系运算符与关系运算表达式:

==     等于

!=      不等于

>       大于

<       小于

>=     大于等于

<=     小于等于

关系运算表达式:

格式: 表达式1  关系运算符  表达式2

功能: 计算表达式1和表达式2的值

值:

如果关系成立,则整个关系运算表达式的值为真,如果不成立,则整个关系运算表达式的值为假。

逻辑运算符:

逻辑与:      and

表达式: 格式: 表达式1 and 表达式2

功能:首先计算表达式1的值,如果表达式1的值为真,则计算表达式2的值。

值:

  1. 表达式1的值为真,表达式2的值为真,则逻辑与运算表达式的值为真。
  2. 表达式1的值为真,表达式2的值为假,则逻辑与运算表达式的值为假。
  3. 表达式1的值为假,表达式2的值为真,则逻辑与运算表达式的值为假。
  4. 表达式1的值为假,表达式2的值为假,则逻辑与运算表达式的值为假。

总结:有一个为假就为假。

逻辑或:         or

表达式: 格式: 表达式1 or 表达式2

功能: 首先计算表达式1的值,如果表达式为假,则继续计算表达式2的值。

值:

  1. 表达式1的值为真,表达式2的值为真,则逻辑与运算表达式的值为真。
  2. 表达式1的值为真,表达式2的值为假,则逻辑与运算表达式的值为真。
  3. 表达式1的值为假,表达式2的值为真,则逻辑与运算表达式的值为真。
  4. 表达式1的值为假,表达式2的值为假,则逻辑与运算表达式的值为假。

总结:有一个为真就为真。

逻辑与、逻辑或的特性:

短路原则:

表达式1  and 表达式2...

从左到右依次计算表达式的值,直到遇到某个表达式的值为假就停止计算

表达式1  or   表达式2...

从左到右依次计算表达式的值,直到遇到某个表达式的值为真就停止计算

逻辑非:      not

表达式: 格式: not 表达式

值:

  1. 如果表达式的值为真,则逻辑非运算表达式的值为假
  2. 如果表达式的值为假,则逻辑非运算表达式的值为真。

总结:颠倒黑白

成员运算符:    in       not in

in:如果在指定的序列中找到值则返回真 找不到返回假

not in :如果在指定的序列中找到的值返回假,找不到返回真。

身份运算符:is  is not

格式: obj1 is obj2   obj1 is not obj2

is: 判断两个标识符是否引用同一个对象,相同返回真,否则返回假

is not: 判断两个标识符是否引用不同对象 ,不同返回真,否则返回假

运算符的优先级:

⬇由高到底    ** 指数

~  按位取反  +     一元加减(表示的是正负)-

*   /   %  //

+  -   加减法

<<     >>     左移和右移

&  按位与

|    ^ 

<  >  <= >=

== !=      <>(2.x中的不等)

= *= /= %=    //=    += -= **=

is      is not

in not in

猜你喜欢

转载自blog.csdn.net/qq_37235798/article/details/82349365