第一章 基础入门

 

1.1.1 计算机组成

计算机硬件都有CPU,主板,内存,硬盘,显卡,电源,散热器,键盘,鼠标,音响等等。

1.1.2 操作系统

操作系统,可以控制和协调电脑的各个组件进行协同工作 。

常见操作系统:

  • windows,丰富的图形化界面、收费、大量工具、适用于个人办公。

    windows xp     windows 7        windows 10         windows server
  • Linux,性能好、占用资源少、适用于做服务器。

    centos            ubuntu            redhat
  • Mac,Os,人性化交互好、好看好用、适用于个人使用。

    注意:操作系统是由程序员研发的。

1.1.3 软件/网站

电脑装上系统后,都会安装一些软件,如:浏览器、office、游戏、杀毒等。 关于软件有两点需要大家了解:

  • 软件需要运行在操作系统之上。

  • 软件等都是由程序员开发的。

1.1.4 解释器/编译器

  程序员需要掌握一门编程语言,如:C、C++、Python、Go、Java等,根据编程语言的规则来写代码,最终代码运行起来就是所谓的软件或应用程序了。 每种编程语言的代码要想运行,必须依赖自己语言的编译器或解释器(解释器或编译器是由编程语言的创始人开发)。

编程语言的开发者写的一个工具,将用户写的代码转换成010101交给操作系统去执行。

1.2 Python基础入门

1.2.1 解释型和编译型语言

解释型语言就类似于: 边执行边翻译,代表:Python / Ruby / Perl

编译型语言类似于:说完之后,整体再进行翻译,代表:C / C++ / Java / Go ...

1.2.2 进制

对于计算机而言无论是文件存储 / 网络传输输入本质上都是:二进制(010101010101),如:电脑上存储视频/图片/文件都是二进制; QQ/微信聊天发送的表情/文字/语言/视频 也全部都是二进制。

进制:

# 2进制,计算机内部使用。
# 8进制,计算机系统使用。
# 10进制,人来进行使用一般情况下计算机可以获取10进制,然后再内部会自动转换成二进制并操作。
# 16进制,一般用于表示二进制(用更短的内容表示更多的数据),一版是:\x 开头。

1.2.3 输出

  写代码就是为了让计算机为我们工作,我们交给计算机一些数据,然后让计算机去工作,最后将结果呈现出来。 print() 括号里面的内容就是要输出的内容,如果是文字和字母需要用英文的引号引起来,数字直接写就可以啦。

# python2 输出写法:     
print  'hello world'
# python3 输出写法:     
print('hello world')
# 我们学习的python3版本,python2版本是什么样也要知道

1.2.4 变量

变量在python中经常使用,变量可以暂存一些临时数据。

name  =  'Meet'
# 这样的形式就是在定义一个变量
#  name  是一个变量名
#  =     是一个赋值操作  
# 赋值就是将值交给name
# 'Meet' 是一个值

变量的命名规则

- 变量名只能是 字母、数字或下划线的任意组合。
- 变量名的第一个字符不能是数字。
- 不能用python内置关键字。
  [‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
- 建议:
  - 变量名建议不使用拼音和中文
  - 变量的要具有意义
  - 变量名不要过长
  - 变量名要区分大小写
  - 变量名推荐写法:
    - 驼峰体 MeetTheGirl
    - 推荐:下划线 meet_the_girl

变量的赋值

age1 = 18
age2 = age1
age1 = 12
age3 = age2
# 释型语言是从上至下依次执行,每执行一行,后面的将会把前面的覆盖。

1.2.5 常量

常量就是将变量名大写,尽量保持不更改的一种量,这从设计之初就是不让任何人改变的,所以这个东西就是常量。

1.2.6 注释

注释: 我们来看一下怎么用

# 这个就是给这一行进行注释,注释后的代码不会执行 
'''   这种的是多行注释, 就是咱们注释的内容可以
   进行换行   '''
#  pycharm 中  Ctrl+/  就可以多行#注释

1.2.7 基础数据类型

Python中常用的数据类型有多种,暂只说3种, 数字、字符串、布尔类型。

整型

数字int是整型;也就是我们从小就接触的数学中的整数,整型在计算机中运于计算和比较。

在32位机器上的int的范围是: -231~231-1,即-2147483648~2147483647

在64位机器上的int的范围是: -263~263-1,即-9223372036854775808~9223372036854775807.

num1 = 2
num2 = 3
print(num1 + num2)
# 结果: 5   整型就和我们学的数学一样可以进行加减乘除

字符串

在Python中,凡是用引号引起来的,全是字符串。

# 字符串的拼接
s1 = 'a'
s2 = 'bc'
# str*int 
name = '坚强'
print(name*8)

字符可以用单引号,双引号,或者三引号引起来,没有什么区别,只是一些特殊的格式需要不用的引号。比如:

msg = " I'm 22 years" 这个就需要单双引号配合。
msg =
""" 111
222,
333,
444。
"""    #想多行赋值一个字符,就需要三引号。

布尔值

尔值中一共分为俩个状态。

True 就对应我们话中的是,就是真。

False 就对应我们话中的非,就是假。

print(3>7) # 结果: False
print(7>3) # 结果: True

1.2.8 输入

input就是固定格式,他是输入的意思。括号里边的内容是提示是给用户看的提示语句,用户输入的内容让input接收了然后赋值给了变量s。

# 将用户输入的内容赋值给name变量
# python2的写法
name = raw_input("请输入用户名:")
print name
# python3的写法
name = input("请输入用户名:")
print(name)

注意:input程序交互获取到的内容是字符串

1.3 Python基础和运算符

1.3.1 流程控制

If 条件: 引号是将条件与结果分开。

结果 一个tab键,这个是告诉程序满足这个条件的结果。

num = input('请输入要比较的数字:')
if int(num) >= 22:    
    print('可以扯证了')
elif int(num) >= 18:    
    print('成年了')
else:    
    print('还是小屁孩')

以上写法就是我们做的单选题一样,三个分支判断中只要有个成立,其余都不在执行。

嵌套 if

name = input('请输入账户名:')
if name == 'admin':    
    word = input('请输入密码:')    
    if word == '1234':       
        print('输入全部正确')    
    else:        
        print('密码输入错误!')
else:    
    print('账户输入错误!')

这样写法很常用,这样我们就可以明确的知道用户输入的名字和密码那个是错误的,并且还做一个判断。如果名字正确后在进行判断密码。

1.3.2 while循环

while 关键后边的是条件,这样就可以通过条件成功的控制住循环的次数。while 后面的条件如果为真就会一直执行下去,也就人们常说的死循环。

# while 条件: 循环体    
# 如果条件为真,那么循环则执行    
# 如果条件为假,那么循环结束    
# 控制while循环的次数 count = 0 while count < 100: count = count + 1

1.3.3 for循环

for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

word = 'hello word'
for i in word:
    print(i)

1.3.4 关键字:break

除了可以使用条件能够让循环停止,其实Python还给我们提供了一个break关键字来停止循环。

定义:当程序执行到break的时候就结束循环了,break就是结束当前这个while循环的。 break以下的代码都不执行。

num = 1
while num <6:    
    print(num)    
    num+=1    
    break    
    print("end")

1.3.5 关键字:continue

定义:continue 用于退出当次循环,继续下次循环。

num = 1
while num <6:    
    print(num)    
    num+=1    
    continue    
    print("end")

1.3.6 格式化输出

%s :%是占位符,s是字符串。

 

%d :%是占位符,d是数字。

%% :字符串中要显示%,就需要用%%来转义,不然程序会认为那只是一个占位符。

 

name = input('请输入姓名:')
mun = input('请输入年龄:')
dd = input('请输入学习进度(百分比):')
print("""
我的名字是:%s,
我的年龄是:%d岁,
目前学习进度:%s%%"""%(name,int(mun),dd))

1.3.7 运算符

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。

算数运算:以下假设变量a为10,变量b为21:

运算符描述实例
+ 加 - 两个对象相加 a + b 输出结果 31
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210
/ 除 - x 除以 y b / a 输出结果 2.1
% 取模 - 返回除法的余数 b % a 输出结果 1
** 幂 - 返回x的y次幂 a**b 为10的21次方

比较运算:以下假设变量a为10,变量b为20:

运算符描述实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 True。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 (a < b) 返回 True。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 True。

赋值运算:以下假设变量a为10,变量b为20:

= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

逻辑运算:以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

逻辑运算的进一步研究:

  在没有 ( ) 的情况下 not 优先级高于 and,and优先级高于or,即优先级关系为 ( ) > not > and > or ,同一优先级从左往右计算。

成员运算

判断子元素是否在原字符串(字典,列表,集合)中:

  • in

  • not in

运算符优先级

运算符描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,求余数和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

1.3.8 编码

实际上电脑的存储和发送都是010101啊。我们发送的内容都是010101010,这样写的内容比较多,就不知道是什么了。所以我们想要明确的区分,出来发送的内容就需要在某个地方进行分段。计算机中设定的就是8位一断句。

ASCII :

计算机:    
    储存文件,或者是传输文件,实际上是010101010   
    计算机创建初期,美国,是7位一段,但是发明者说为了拓展,留出一位,这样就是8位一段句。
    8位有多少种可能 ?256  
    密码本:  
        ascii      
            0000 0001                              =   A  
            0100 0001     0100 0010     0100 0011  =   ABC

国标码:GBK

  占用2个字节. 对应ASCII码直接兼容,因为计算机底层是用英文写的。你不支持英文肯定不行,而英文已经使用了ASCII码。所以要兼容ASCII, 这里的国标码,前⾯的ASCII码部分。由于使⽤两个字节,所以对于ASCII码,前9位都是0。

字母A:0100 0001 # ASCII
字母A:0000 0000 0100 0001 # 国标码

万国码:Unicode

  占用2个字节表示一个字符。英文: 一个英文2个字节。中文:一个中文用4个字节。

UTF-8:

对Unicode进行升级:

utf-8: 用最少用8位数,去表示一个字符。英文: 8位,1个字节表示。欧洲文字: 16位,两个字节表示一个字符。中文,亚洲文字: 24位,三个字节表示。

utf-16: 用最少用16位数。

1.3.9 单位转化

        8bit = 1byte
        1024byte = 1KB                1024PB = 1EB
        1024KB = 1MB                1024EB = 1ZB
        1024MB = 1GB                1024ZB = 1YB
        1024GB = 1TB                1024YB = 1NB
        1024TB = 1PB                1024NB = 1DB            常⽤到TB就够了

 

 

posted on 2020-05-03 22:16  十年无声酒尚温  阅读(125)  评论(0)    收藏  举报

导航