Python开发(一):Python介绍与基础知识

本次内容

一:Python介绍:
二:Python是一门什么语言
三:Python:安装
四:第一个程序 “Hello world”
五:Python 交互器
六:变量:
七:计算机是如何读懂你的指令的
八:注释
九:数据类型
十 :运算
十一:用户交互
十二:流程控制
十三:for 循环
十四:while 循环
十五:三元运算

一:Python介绍:

1:简介

    Python  是一种面向对象的解释型计算机程序设计语言,由荷兰人 吉多·范罗苏姆(Guido van Rossum)于1989年发明,第一个公开发行版发行于1991年。

    最新的TIOBE排行榜占据第四。Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

2:主要领域

 系统运维:系统运维自动化开发最常用语言。

    金融:python开发效率高语言结构清晰简单、库丰富,所以在金融的量化交易、金融分析等,领域占用额极高。

Web开发:拥有众多优异的 WEB 框架,当前众多网站使用 Python 开发,如豆瓣,YouTube等

云计算:在开源的云软件中 openstack 就是有 Python 编写的。

二:Python是一门什么语言

1:高级语言与低级语言

    计算机是无法读懂人们写的代码的,只能读懂二进制代码,所以需要将人们写的代码翻译成二进制代码,才能将二进制代码交给CPU来执行。

    高级语言就是基于这种翻译的前提下,从人类逻辑思维角度出发而设计出来的计算机语言,需要经过编译成特定机器上的目标代码才能执行。每一条高级语言需要机器的多条指令才能完成执行

    所以我们可以理解为:距离用户越近的语言就越高级,距离机器越近的语言就越低级

2:编译型与解释型

    编译型语言:将代码翻译成机器能读懂的二进制代码,这个过程称作预编译。在将二进制文件直接交给CPU来执行。

      优点:

        1:编译器只需要进行一次预编译

        2:经过预编译后,程序可以直接交给机器执行,所以运行速度快

        3:经过预编译后,可以脱离编译环境独立运行

      缺点:

        1:编译后如过想要修改就只能对整个模块进行重新编译

        2:由于是事前编译好的所以只能在特定的环境下执行,可移植性差

    解释型语言:只有在程序执行时,才将整套代码分为若干条,逐条的交给解释器,对其进行编译后在交给计算机来执行。

      优点:

        1:兼容性好:代码是由解释器交给机器的,所以只需要有解释器就可以在不同环境中执行。

        2:在需改代码时只需要对修改部分进行操作即可

      缺点:速度慢,每次执行都需要重新解释

3:Python的优缺点

优点:1:Python是高级语言,所以不需要考虑底层的细节

2:可移植性强:代码无需修改就可以直接在其他平台上运行

3:可扩展型:Python兼容多种语言,如C++ 、C 、shell 等

4:可嵌入性:可以将 Python 嵌入到 C/C++ 程序中

缺点:1:解释性语言,所以速度慢

2:代码无法加密

3:线程不能利用多CPU

4:选择python2  or  python3

      Python 3发布2008。最后的2.×版本2.7发布了2010年,这个声明为了放弃扩展支持。2.X版本将不会再有新的主要版本更新,Python 2.7 支持到2020年,之后就会放弃这个本版本。3.X正在发展了五年的稳定版本,包括版本3.3在2012,3.4在2014,3.5在2015。这意味着,所有最近的标准库的有些功能只在 python3.x 中使用。

三:Python:安装

Windows

1:下载安装包:https://www.python.org/downloads/

2:安装默认安装即可,但是在安装时需要记住安装路径,默认为 C:\python27

3:设置环境变量:

    右键计算机 → 属性 → 高级设置  → 高级 → 环境变量  → 在下方框中找到 Path 双击打开 → 用分号 " ; " 进行分各 →写入 C:\python27 → 点击确定 退出

        

      //* 注意:1:在编辑系统变量时是使用 “  ;  ” 分号进行分割

    2:在分号后面写入你的Python路径

      LINUX,MAC 默认安装了 Python 环境

四:第一个程序 “Hello world”

1:使用Python命令执行hello.py

      

2:制定解释器

不适用Python 命令执行脚本时,给脚本权限直接执行 ./hello.py 时会报错如:

   

要想处理此错误就必须在文件的第一行写入 #!/usr/bin/env  python3

五:Python 交互器

    进入 Python 交互器

      

六:变量:

1:变量的定义

     变量用于存储在计算机程序中被引用和操作的信息.。他们还提供了一个标签数据的描述性名称的方式,所以我们的程序可以更清楚地了解读者和我们自己。把变量看作是容纳信息的容器是很有帮助的.。他们的唯一目的是在内存中标记和存储数据.。这些数据可以在整个程序中使用.。

2:变量的规则

1:变量只能是字母、数字、下划线的组合

2:变量的第一个字符不能是数字

3:特殊关键字不能作为变量名

       ['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']

3:变量命名规范

1:变量命名时不要随意命名,最好是使用变量本身的作用来进行命名

如:age  =  "18"

2:多个单词时请使用 “ _ ” 下划线与单词首字母大写

如:

# 1:使用 "_" 来分割不同的单词
your_age = "18"
# //* 本人常使用这种方法 # 2: 使用每个单词都首字母大写
YourAge = "18" #驼峰体

  

3:首字母大写一般用来定义类名 ,全大写一般用来定义常量,(常量是不变的量)

如:

# 1: 首字母大写:用法类名
class Your_age:
pass
              
# 2:全部大写:用法常量
YOUR_AGE = “18”

  

七:计算机是如何读懂你的指令的

1.       ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统。

        

2.       中国的字符集编码

在1980年中国人,设计了GB2312编码,收录了6763个汉字个682个字符,经过多年收录,在2000年GB18030 收录了27484个汉字,还包含了众多少数民族的文字,成为国家标准字符集编码

3.       万国码

由于每个国家都在编辑自己过加的字符集编码,而且编码格式五花八门,所以就出现了一种包含了众多字符与文字的编码,Unicode(万国码,统一吗),

每个字符站16个bit位,4个字节加大了硬盘的存储数据,所以对 Unicode 进行了压缩,优化。变成了现在大对数人在使用的UTF-8。他不在统一需要4个字节进行存储,在 ascii码 中的字符只占一个字节,其他的字符根据不同的文字进行字符的添加。

八:注释

1.  注释一行:# 被注释内容

     

2.  注释多行:""" 被注释内容 """

     

九:数据类型

  1.  数字:

     在变量中,不加引号的为数字,加引号的为字符

  2.  布尔值

       真:True :用 1 表示

假:False ;用 0 表示

判断条件状态时;只可能回复布尔值

如:

>> 5 + 7  > 12
True >> 5 + 7 > 22
False

    

  3.  字符串:

    1. 移除空白和特殊符号

      >>> age = "18  23  \n"
      >>> age.strip()
      '18 23' # //* 取消开头与结尾的空格和tab键、与\n  
    2. 拼接

      >>> a1 = "abc"
      >>> a2 = "def"
      >>> a1+a2 # 变量之间,使用 “ + ” 来进行拼接
      'abcdef'
    3. 取字符个数 (字符长度)

      name = "abc def"
      >>> len(name)
      >>> 7
    4. 取索引

      >>> name = "123456"
      >>> name[3] #输入你想取字符的索引值(就是字符所在位置)。
      '4'
      //* 默认从第0个开始
    5. 分割(切片)(只能从左向右数)(顾头不顾尾)

      >>> name = "123abcdef"
      >>> name[3]
      'a' >>> name[0]
      '1' >>> name[0:3]
      '123' # //* 切片时,如果切多个字符,最后一个不会显示(顾头不顾尾)默认从第0个开始 # //* 字符串是不能修改的,只能重新赋值

        

    6. :格式化输出

      #  1: 单行显示
      >>> name = "123"
      >>> name2 = "my name is %s"%name >>> print(name2)
      my name is 123   
      # 2: 多行显示
      name = "abc"
      name2 = 123
      name3 = 22
      name4 = "abc\n\t123" abc = '''
      name : %s
      name2 : %d
      name3 : %f
      name4 : %r
      name5 : %s
      '''%(name,name2,name3,name4,name4)
      print(abc) # 结果 name : abc
      name2 : 123
      name3 : 22.000000
      name4 : 'abc\n\t123'
      name5 : abc
      123 # 3: 占位符总结如下位
          %s : 输入字符串
          %d : 只能输出数字,否则会报错
          %f : 显示浮点数
          %r : 按原格式输出
    7. 字符串其他用法

      print(name.capitalize()),首字母大写
      print(name.casefold()),全变小写 print(name.center(10,'-')),凑足10个字符不够的按照 “-” 表示,如果不写默认以空格分割,字符串居中。
      print(name.encodswith()),打印真或假
      print(name.expandtabs)),加大字符串的空间
      print(name.find("lib")),找寻值,找到早了回复值,找不到回复 -1
      print(name.format()),与%s类似(照了相片看相片)
      print(name.isdigit()),判断是否是一个数字 ============================
      print("ad".isalpha()),只包含字母的,回复 真
      print("a2d".isalnum()),只包含字母和数组的组合,回复真
      print("2".isdecimal) ,值中有小数则返回 true age = "22"
      print(age.isdecimal()) print("2".isdigit()),只包含整正数
      print("al_ex".isdentifier()) # 是不是合法的变量名
      print("al_ex".isupper())
      print("2".islower())
      print("2".isumeric())
      print(float("3.1"),判断是否是浮点数,不是就报错
      print("3.1".isspase()),判断是否是空格
      print(",".join("alex")), 结果: a,l,e,x //*判断决定分割 print("alex".ljust(50,'-')),从左开始显示字符串,不足的用 “ - ”,
      print("alex".rjust(50,'-')),从右开始显示字符串,不足的用 “ - ”,
      =================== print("alex".translate(trantab)), print("alex".partition("1")), print("alex".replace("ex","123")), 结果:al123 //* 替换字符

十 :运算

  1.   与、或、非

    a = 60    #0 0 1 1 1 1 0 0
    b = 13 #0 0 0 0 1 1 0 1 # 1:与运算,两个数字的二进制值,必须全为 1 ,则结果才为1 a & b = 0 0 0 0 1 1 0 0 = 12 # 2:或运算,两个数字的二进制值,只要有一个为1 ,则结果为1 a / b = 0 0 1 1 1 1 0 1 = 49 # 3: 异或运算,两个数字的二进制值,上下对比不同则为1 a ^ b = 0 0 1 1 0 0 0 1 = 49

      

  2. 余数:可以用来判断奇偶数如下
    >>> 5%2
    1 >>> 6%2
    0 # //* 余 1 的话就证明是奇数,整除就证明是偶数
  3. 特殊运算符

          //* 在Python中 有时会用到计数器,计数器就会用到以上的算法

  4.  逻辑运算

      

  5.  成员运算

    # (1):  “in” 判断序列中是否有要搜索的值,有的话返回 True 没有返回 False
    >>> age
    [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> 8 in age
    True >>> 18 in age
    False # (2): “not in” 判断序列中是否有要搜索的值,有的话返回 False没有返回True >>> age
    [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> 8 not in age
    False >>> 18 not in age
    True

      

  6. 身份运算

    # 1:判断数据类型
    
    >>> type(8)
    <class 'int'> >>> type("a")
    <class 'str'> # //* 几种数据类型 int 数字类型,str 字符串,list 列表 # 2:判断字符类型,是的话返回 True不是返回False
    >>> type(8) is int
    True >>> type("abc") is str
    True >>> type([1,2,3]) is list
    True # 3:判断字符类型,是的话返回 False不是返回True >>> type(8) is not int
    False >>> type("abc") is not str
    False

  

十一:用户交互

  1.  用户输入

    >>> name = input("what is your name :  ")
    what is your name : abc >>> print(name)
    abc

      

  2. 输入输入用户名密码,并且格式化输出

      

十二:流程控制

 if 流程控制,是可以判断条件,正确则输出 A,错误则输出 B,可以根据不同的输出条件进行不同操作

  1. 判断用户输入的是否正确,正确打印正确,错误打印错误

        

  2. 判断 年龄大小 ,>、<、= 显示不同结果

        

十三:for 循环

  1. 循环的主要目的是,为了减少重复代码

   如例一:循环代码4次

age = 'abc123'

for i in range(4):
print("循环:", i ) # 结果 循环: 0
循环: 1
循环: 2
循环: 3

  

   例二:循环十次,只显示后6次

for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:", i ) # 结果 loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

十四:while 循环

  1.  死循环,会一直循环

    count = 0
    
    while True:
    print("开始啦...",count)
    count +=1

      

  2. while 限制次数循环,猜年龄:
    age = 18
    count = 0
    while count < 3:
    input_age = int(input("输入您的年龄:"))
    if input_age == age:
    print("猜对了!")
    break
    elif input_age < age:
    print("猜小了")
    else:
    print("猜大了!")
    count += 1 # 每次loop 计数器+1
    else:
    print("猜错3次了,退出.")

  

十五:三元运算

  就是将 多行打印的条件显示成一行:

#  例一:

a = 1
b = 2 if a > b:
c = a+b
else:
c = a-b
 
# 这么多的代码看起来是不是很烦啊,你也可以缩减为一行 c = a+b if a>b else a-b # 结果一样哟 # 格式为: # result = 值1 if 条件 else 值2
# 如果条件为真:result = 值1
# 如果条件为假:result = 值2

Python开发(一):Python介绍与基础知识的更多相关文章

  1. Android音频开发(1):基础知识

    Android音频开发(1):基础知识 导读 人的说话频率基本上为300Hz~3400Hz,但是人耳朵听觉频率基本上为20Hz~20000Hz. 对于人类的语音信号而言,实际处理一般经过以下步骤: 人 ...

  2. Python学习系列(二)(基础知识)

    Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...

  3. Python入门方法推荐,哪些基础知识必学?

    很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...

  4. python核心编程学习记录之基础知识

    虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...

  5. Python爬虫(1):基础知识

    爬虫基础知识 一.什么是爬虫? 向网站发起请求,获取资源后分析并提取有用数据的程序. 二.爬虫的基本流程 1.发起请求 2.获取内容 3.解析内容 4.保存数据 三.Request和Response ...

  6. Python开发GUI工具介绍,实战:将图片转化为素描画!【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  7. Python开发GUI工具介绍,实战:将图片转化为素描画!

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  8. Python开发【第一篇】基础题目二

    1 列表题 l1 = [11, 22, 33] l2 = [22, 33, 44] # a. 获取l1 中有,l2中没有的元素 for i in l1: if i not in l2: # b. 获取 ...

  9. Python开发【Django】:基础

    Django基本配置 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Se ...

随机推荐

  1. linux select函数

    /**两个线程一个负责监听客户端,一个负责读客户端请求. 服务器模型,*主控线程负责accept监听链接的客户端,*把客户端fd放入任务队列中(),分离子线程则从任务队列取出所有的*客户端描述加入se ...

  2. WPS隐藏文档修订显示的方法

  3. pytorch函数之nn.Linear

    class torch.nn.Linear(in_features,out_features,bias = True )[来源] 对传入数据应用线性变换:y = A x+ b 参数: in_featu ...

  4. poj-3658 Artificial Lake(模拟)

    http://poj.org/problem?id=3658 Description The oppressively hot summer days have raised the cows' cl ...

  5. O - Snacks(DFS序)

    百度科技园内有nn个零食机,零食机之间通过n−1n−1条路相互连通.每个零食机都有一个值vv,表示为小度熊提供零食的价值. 由于零食被频繁的消耗和补充,零食机的价值vv会时常发生变化.小度熊只能从编号 ...

  6. 博客框架 Hexo: 3.9.0 及主题 NexT 6.x.x 基本操作

    文章大纲 1. 不同代码仓库部署 coding 部署方式 项目名称 配置 SSH 公钥访问 git 仓库 github 码云 2. 手动cdn,智能解析 3. 添加评论系统 4. 博客置顶 5. 页脚 ...

  7. xmemcached过期时间

    最近项目中使用到了Memcached,而客户端选择了XMemcached ,在设置过期时间时,因对Memcached 不熟悉,将expire 设置为1000000000,本意表示尽量长的时间不要过期, ...

  8. GPIO-FPGA架构

    GPIO是一种软件运行期间能够动态配置和控制的通用引脚 有不同的GPIObank,每个GPIO口的bank都会有编号的区分, 每个GPIO口除了通用的输入输出功能以外,还有其他复用功能,例如GPIO5 ...

  9. 关于MyBatis的运行原理(转载)

    1.获取sqlSessionFactory对象: 解析文件的每一个信息保存在Configuration中,返回包含Configuration的DefaultSqlSessionFactory: 注意: ...

  10. http接口与webservice接口的区别

    常见的API接口有两类:http接口和webservice接口. http接口走http协议,通过路径来区分调用方法,请求报文一般是key-value形式的,返回报文一般是json串,常用的是get和 ...