Python基础一: 计算机基础,Pyt

2023-01-31 00:01:49 python 计算机 基础

1.CPU 内存 硬盘 操作系统

  • CPU:计算机的运算和控制中心,相当于人类的大脑。

  • 内存:用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。(暂时存储数据,临时加载数据及应用程序) 4G,8G,16G,32G

    • 速度快,效率高,造价高 断电数据丢失
  • 硬盘:磁盘,长期存储数据,存放文件,视频,音频等等。500G,1T

    • 造价相对低
  • 操作系统:是一个连接计算机硬件与所有软件的一个软件。

2.python的发展与应用

  • Python的创始人为吉多·范罗苏姆(Guido van Rossum)。

  • Python主要应用领域:

    云计算:云计算最火的语言, 典型应用OpenStack

    web开发: 众多优秀的WEB框架, 典型WEB框架有Django
    科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
    系统运维: 运维人员必备语言
    金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。
    图形GUI: PyQt, WxPython,TkInter

3.Python的历史

  • Python崇尚优美、清晰、简单

  • python2x,python3x源码有区别:

    ​ python2x: C,java大牛贡献源码: 重复代码多,冗余,代码不规范。

    ​ python3x: 源码规范,清晰,简单

  • python3.x不向下兼容

4.编程语言分类(重点)

  • 编译型:将代码一次性全部编译成二进制,然后再执行。如C语言c++,Go
    • 优点:执行效率高
    • 缺点:开发效率低,不能跨平台
  • 解释型:逐行解释成二进制,逐行运行。如Python,PHP
    • 优点:开发效率高,可以跨平台
    • 缺点:执行效率低
    • python是一门动态解释性的强类型定义语言

5.Python的优缺点:

  • 优点:
    开发效率非常高
    高级语言
    可移植性
    可扩展性
    可嵌入性
  • 缺点:
    速度慢
    代码不能加密
    线程不能利用多CPU问题

6.Python的种类:

  • Cpython:官方推荐解释器,这个解释器是用C语言开发的,所以叫CPython。可以将python代码转化成C语言能识别的字节码。
  • Jpython: Jython(Jpython)是运行在Java平台上的Python解释器,可以把python代码转化成Java语言能识别的字节码
  • Ironpython:可以转化成.net语言能识别的字节码。
  • pypy: 动态编译,一次性全部转化
  • 注:不同解释器书写Python的规则一样

7.安装Python解释器的流程

8.运行第一个Python代码

print('hello 老铁')

win+R ---cmd---输入:python 空格 文件的路径 回车

  • 所有的标点都要是英文的,print后的引号内可以有中文。
  • cmd下按方向键的上键可以选择最近输入的内容
  • Notepad++: 在上一行结尾按ctrl+d 将上一行内容全部复制。

9.变量(重点)

  • 变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用。
  • 变量只是一个指代关系,必须有实实在在对应的数据类型。同一个变量,在内存中只能出现一个。

  • 变量在内存中是唯一的,变量必须有它真正指向的实际数据。

why:使程序更加简洁

print(1+2+3+4+5)

print((1+2+3+4+5)*3/2)

print((((1+2+3+4+5)*3/2)+100)/24)

# x,y,z 变量
x = 1+2+3+4+5
y = x*3/2
z = (y + 100) / 24
print(x,y,z)    #print输出打印多个,用逗号分隔


x8 = 100  # True
b__ = 12  # True
4g = 32  # False  变量名不能以数字开头
_ = 11  # True
*r = 12  # False  变量名只能由字母,数字,下划线任意组合。
r3t4 = 10  # True    
t_ = 66  # True

# 变量的小高级:
age1 = 18
age2 = age1
age3 = age2
age2 = 12
print(age1,age2,age3)  # 18 12 18 

程序从上到下执行,变量只能指向数据,不能指向变量。
变量在内存是唯一命名的,不会出现两个age2。出现多个age2,只有1个age2。

what:x y z 变量:代指一些内容

how变量命名规范

  • 变量全部由数字,字母,下划线任意组合。
  • 不能以数字开头。
  • 不能是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']
  • 要具有描述性。见名知意 name= '太白金星'
  • 不能使用中文。
  • 不能过长。
  • 推荐
    • 驼峰体:AgeOfOldboy = 73
    • 下划线:age_of_oldboy = 73 number_of_students = 56

where:

​ 代指一些复杂过长的数据。

content = '''sfkdsjalfjdslfksdjkfhsdajkfhsdjkfshdfsdkfhsdkfjsldakfjsdaflsdafjshdafjkdsfhkjsdlf

fskdfhsdkfhsdkjfhsdkjfhskdfhsdkjfhsdkfkhsdflsafksjdfhskdajfhskdjfhskda'''

10.常量

why :生活中一直不变的:π,身份证号码,历史发生的时间

what: 常量:一直不变的量或在程序运行过程中不会改变的量。python中没有真正的常量,为了应和其他语言的口味,程序员约定俗成用变量名全部大写代表常量

how: 将变量名全部大写,放在文件的最上面

where: 设置一些不变的量 :身份证号,id等

​ BIRTH_OF_CHINA = 1949

# 常量
# 约定俗成,不能改变
NAME = '太白'
print(NAME   #太白

11.注释(重点)

why:文言文中对一些晦涩难懂的成语或者经典的出处作解释说明,便于你理解。

​ 便于你理解对方的代码,自己的代码。

what: 注释

how: (怎么用)

单行注释: #

多行注释: '''被注释内容''' (3个单引号) """被注释内容"""(3个双引号)

where:(用在哪)

​ 难以理解的代码后面,加注释。

​ 函数,类,文件都需要注释,解释说明。

12.基础数据类型(重点)

why:

​ 人类接触一些信息会做一些比较精准的划分。比如数字,汉字,英文......

​ 100, '中国' 机器是很傻的,你要是不给他区分,他是分辨不出来的。人要按一定规则区分,然后告诉它是什么。

​ 我们告诉计算机:

​ 100 ,102 ,就是数字(int), 可以+ - * / ....

​ '中国','hello' ,'萨瓦迪卡' 文字,:用来记录信息,描述信息等等。【单,双引号均可】

​ [1, 2, 3, '中国'] 列表,他能做他相应的一些操作即可。

python的基础数据类型

int(整型): 1 ,2, 123, ....

进行+ - * / . 运算
  • i = 100
    i1 = 2
    i2 = i*i1
    print(i2)  #200
    
    变量的数据类型:与变量指向的数据的数据类型相同。

str: 凡是用引号引起来的数据就称之为字符串

​ ' '," ", ''' ''' , """ """

 # str:
 s1 = 'day01'
 s2 = "Python22期"
 s2 = '''Python22期'''
 
 #单双引号可以配合使用
 content = 'I am taibai, 18 year old'
 content = "I'm taibai, 18 year old"
 
 #三引号:用于换行的字符串,【多引号什么作用呢?作用就是多行字符串必须用多引号】比如一首诗
 msg = '''
 今天我想写首小诗,
 歌颂我的同桌,
 你看他那乌黑的短发,
 好像一只炸毛鸡。
 '''
 print(msg)
 
 # str 可否加减乘除?     ------>  + *
 1.  str + str   字符串的拼接(重点)--字符串与字符串相加,相加就是简单的拼接,字符串的拼接只能是双方都是字符串
 
 s1 = 'alex'
 s2 = 'sb'
 print(s1 + s2)   #alexsb
 
 
 2.  str * int  ---字符串与整数相乘
 
 s1 = '坚强'
 print(s1*8)  #坚强坚强坚强坚强坚强坚强坚强坚强

bool :True False

# bool : True False    不带引号
 print(2 > 1)   #True
 print(3 < 1)   #False
 print(True)    #True
 print('True')  #True          'True'是字符串
 直接打印出来,不能判断是哪种类型。可以用 type() 查看:判断该变量指向的数据是何种数据类型
 
  s1 = '100'
  s2 = 100
  print(s1,type(s1))    #100 <class 'str'>
  print(s2,type(s2))    #100 <class 'int'>

13.用户交互input

why: 在网页上,app上 输入账号与密码。

what: 用户交互input

how:

input: 通过input输入的内容全部都是字符串类型。字符串要转换成数据才能进行比较,如 int(age)
       引号内为提示信息。
#示例
username = input('请输入用户名:')
passWord = input('请输入密码:')
print(username,type(username))
print(password,type(password))

#运行结果:
请输入用户名:alex
请输入密码:123
alex <class 'str'>
123 <class 'str'>

#让用户输入姓名,年龄,性别,然后打印一句话'我叫: ,今年:,性别:'

name = input('请输入姓名:')  #将用户输入的内容赋值给 name 变量
age = input('请输入年龄:')
sex = input('请输入性别:')
msg = '我叫: ' + name + ',今年:' + age + ',性别:' + sex
print(msg)
#运行结果:
请输入姓名:alex
请输入年龄:18
请输入性别:boy
我叫: alex,今年:18,性别:boy

name = '太白'
print(name) #太白    变量
print('name')#name  字符串,凡是用引号引起来的数据就称之为字符串。

14.流程控制语句if

  1. why: 生活中的选择,如回家,有n条路,你走哪条路,取决于你的心情。

    what: if语句具有分流作用 在程序里预设一些条件判断语句,满足哪个条件,就执行哪个条件下的代码。这个过程就叫流程控制。

    how:

    • 强制缩进:目的是为了让程序知道,每段代码依赖哪个条件。

      Python的缩进有以下几个原则:

      • 顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
      • 同一级别的代码,缩进必须一致
      • 官方建议缩进用4个空格
    • 基本结构:
      if 条件:
          结果
    1. 单独if
      print(111)
      if 2 < 1:
          print(666)
          print(333)
      print(222)
      #结果:
      111
      222
      
    2. if else 二选一
      s1 = '100'
      print(s1,type(s1))  #100 <class 'str'>
      i1 = int(s1)
      print(i1,type(i1))  #100 <class 'int'>
      
      #示例
      age = input('请输入年龄:')
      if int(age) > 18:             #字符串要转换成数据才能进行比较,如 int(age)
          print('恭喜你,成年了!')
      else:
          print('小屁孩儿')
      
    3. if elif elif .... 多选一,只能选一个 :从上到下依次判断,只要满足一个条件,就不会再往下执行代码
      num = int(input('猜点数:'))  #字符串转换为整数
      if num == 1:
          print('晚上请你吃饭')
      elif num == 3:
          print('一起溜达')
      elif num == 2:
          print('请你大宝剑')
    4. if elif elif .... else 多选一
      num = int(input('猜点数:'))
      if num == 1:
          print('晚上请你吃饭')   
      elif num == 3:
          print('一起溜达') 
      elif num == 2:
          print('请你大宝剑')
      else:
          print('太笨了....')
      print('组合')
      #运行结果示例:
      请输入数字:4
      太笨了....
      组合
      
    5. 嵌套的if
      username = input('请输入用户名:')
      password = input('请输入密码:')
      code = 'qwer'
      your_code = input('请输入验证码:')
      if your_code == code:
          if username == 'taibai' and password == '123':
            print('登录成功')
          else:
            print('账号或者密码错误')
      else:
          print('验证码错误')
      #运行结果示例:
      请输入用户名:taibai
      请输入密码:123
      请输入验证码:qwer
      登陆成功
      
      

相关文章