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. spring+mybatis配置多个数据源

    http://www.cnblogs.com/lzrabbit/p/3750803.html

  2. pytorch函数之nn.Linear

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

  3. 面试常见二叉树算法题集锦-Java实现

    1.求二叉树的深度或者说最大深度 /* ***1.求二叉树的深度或者说最大深度 */ public static int maxDepth(TreeNode root){ if(root==null) ...

  4. Office 365 共享邮箱/日历

    一.共享邮箱 Office 365共享邮箱对于客户通过电子邮箱提出的问题,共享邮箱是一个很好的处理方式,组织中的多人可以分担监控邮箱和回复的责任,使得客户的问题更快地得到答复,而相关电子邮件都存储在一 ...

  5. 利用离散 Fourier 变换解一元二次方程

    设二次方程$$x^2+bx+c=0$$的两个根分别为 $x_1,x_2$.则$$(x-x_1)(x-x_2)=x^2+bx+c.$$因此$$\begin{cases}  x_1+x_2=-b\\x_1 ...

  6. 奇点云数据中台技术汇(四)| DataSimba系列之流式计算

    你是否有过这样的念头:如果能立刻马上看到我想要的数据,我就能更好地决策?   市场变化越来越快,企业对于数据及时性的需求,也越来越大,另一方面,当下数据容量呈几何倍暴增,数据的价值在其产生之后,也将随 ...

  7. spring cache问题记录

    1.是否可以设置过期时间 timeout ttl 对于单个key设置过期时间 需要自定义CacheManager, 见3中的问题 spring boot 1版本可以重写RedisCacheManage ...

  8. spring boot 测试插件使用及result风格实例1&打包启动

    本节主要内容: 1:spring boot 小插件使用 2:构建第一个简单的result风格的实例并访问 3:将项目打成jar包后启动并访问. 一:添加boot devtools插件: 执行完成后,查 ...

  9. webservice入门程序学习中经验总结

    ***第一步:创建客户端服务 1)创建一个服务接口 2)创建一个实现类实现接口 3)创建一个方法开启服务 这三步注意点:::实现类上必须添加@WebService标签 :::发布服务的时候用到的函数是 ...

  10. sql 优化之8个尽量

    查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的索引,避免全表扫描,从而提高查询效率.最近在对项目中的一些sql进行优化,总结整理了一些方法. 1.在表中建立索引,优先 ...