• 初识Python


    初识Python

    计算机基础

    计算机的组成:

    输入输出设备、存储器、主板、CPU、硬盘、内存、显示器、电源、显卡。

    CPU:中央处理器 Central Processing Unit 处理各种数据 相当于人的大脑

    内存:储存数据 临时数据 断电丢失

    硬盘:存储数据的 断电不丢失

    什么是操作系统:

    控制计算机的工作流程

    什么是应用程序:

    安装在操作系统之上的软件

    总结:CPU~人的大脑、内存~人的临时记忆、硬盘~人的永久记忆、操作系统~控制计算机硬件工作的流程、应用程序~安装在系统之上的软件。

    Python简介

    1989年诞生,作者龟叔

    领域:云计算、web开发、人工智能、系统运维、爬虫、金融。

    python 2 和python 3 区别:

    python 2 源码不统一(c、java都有)重复代码

    python 3 源码统一 无重复代码

    Python是什么编程语言:

    解释型语言,

    编译型:开发效率慢,运行速度快。

    解释型:开发效率块,运行速度慢。

    Python种类:

    Cpython、Jpython、IronPython、PyPy

    现在从官网下载的就是cpython,现在主流使用Cpython。
    • Cpython
    Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件) 转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
    • Jython
    Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
    • IronPython
    Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
    • PyPy(特殊)
    Python实现的Python,将Python的字节码字节码再编译成机器码。

    python的字节码是pyc,会消失(编译时第一次会编译代码,第二次就直接使用pyc,不去编译代码了),上图中虚拟机在python中指的是python的解释器,虚拟机在Java中指jvm(Java写的代码在jvm中运行)。

    变量:

    a=1       #声明变量
    a           #变量的名字
    =           #赋值
    1           #值

    什么是变量?

    变量在程序中会频繁使用。

    常量:

    常量就是不变的量,常量不建议修改。
    其实没有常量,但是认为自定义字母全部大写为常量(有下划线也算)。
    例:ID = 11012013014066



    变量命名规则:

    1. 变量由数字,字母,下划线组成(不能加空格): a a_1 a1
    2. 不能以数字开头
    3. 不能使用python中的关键字(写的时候变蓝了)
    4. 不能使用中文和拼音
    5. 区分大小写
    6. 变量名要具有描述性
    7. 推荐写法:
    - 驼峰体(大峰、小峰):Ageofoldboy = 98
    - 下划线 age_of_old_boy = 98 (官方推荐)

    变量的小高级

    age = 18
    age1 = 19
    age2 = age        # age2 = 18
    age = 20
    print(age,age1,age2) #打印多个值用逗号隔开
    # 结果:20 19 18

    a = 4
    b = a + 6 #在声明变量的时候先执行等号右边的内容
    print(b)
    #结果:10
    注:在声明变量的时候先执行等号右边的代码
    注:变量赋值从右往左执行

    注释

    单行注释(当行注释) : #用井号在前面即可,不能换行,在行首添加一个#该行就会被注释,编译时会跳过,不去编译这一行.

    多行注释:第一种 """ """ 第二种 ''' '''(三个双引号或者三个单引号就是多行注释)特别说明:开头的三个引号一定要顶格写,要不无效

    """

    我请您吃

    蒸羊羔

    蒸熊掌

    蒸鹿尾儿

    烧花鸭

    烧雏鸡

    烧子鹅

    """

    引号的使用:
    三个单引号也可做多行字符串使用,一个print输出时就是多行字符串,而不是一行.

    而单引号和双引号一个print只能输出一行,而且每一行后必须加才行

    后面的符号和每一行前面的双引号是回车后自动添加,自己手动添加会报错

    双引号同上,一个print只能打一行,除非加。
    注:开头的" ' 必须顶格写,前面不能有空格,结尾的" ' 可以在任意位置。

    数据类型初识

    整形、数字、字符串、汉子、列表、布尔值、对错

    "字符串"

    '字符串'

    """字符串"""

    "I'am boy" (双引号内可以包含单引号)

    a='alex'

    b='wusir'

    print(a+b) = alexwusir (字符串拼接)注:只能和同类型(字符串)相加可以相乘(只能和数字相乘),但是不能相减

    a='坚强'

    print(a*8) 字符串相乘 注意:只能和数字相乘

    ## 布尔值(就是对和错)

    true false

    1 0

    用户交互(input)

    输入 输出

    input(“提示语句”)

    type 类型

    str 字符串

    int 整形

    bool 布尔值

    1.数字(整型):用于计算和比较(int)integer。
    2.字符串:在python中只要是用引号引起来的就是字符串(str)string。(单引双引三引都有)
    ​ 加法--两种都是字符串才能相加。
    ​ 乘法--只能和数字进行相乘。
    #加法
    a="黑大个"
    b="白小个"
    print(a+b)
    输出: 黑大个白小个

    #乘法
    a="黑大个"
    print(a*2)
    输出: 黑大个黑大个

    '''my name's "meet"''' 引号配合使用
    '''为引号,具体内容为:my name's "meet"
    3.布尔值:返回真假值,用于判断(bool)
    True 真 (true首字母必须大写)
    False 假 (fasle首字母必须大写)
    输入
    注意:
    l input获取到的内容全都是字符串(str)
    l int() -- 将字符串中的数字转换成整型
    l type() -- 查看数据类型

    int("5") 将字符串5转换成整型
    str(5) 将整型转换成字符串
    a="黑大个"
    print(type(a))
    输出: <class 'str'> (类型为字符串)

    a="23"
    print(type(a))
    输出: <class 'str'> (类型为字符串)

    a="23"
    a=int(a)
    print(type(a))
    输出: <class 'int'> (类型为整型或数字)
    and的用法: and前后的内容都得为真时条件才能通过
    user = input("请输入账号:")
    pwd = input("请输入密码:")
    if pwd == "alexdsb" and user == "alex":
    print("alex就是一个dsb")
    else:
    print("密码或账户错误!")
    注意: == 用来判断前后是否相等,=是用来赋值。

    list tuple list(tuple)

    tuple list tuple(list)

    str list 字符转列表 split

    name = "alex" print(name.split())

    list str# lst = ["1","2","3"] 列表转字符用join

    print(''.join(lst))

    dict -- str 字典转字符串 str()

    dic = {"1":2}

    print(str(dic),type(str(dic)))

    print(dict("{1:1}")) 字符串转字典

    set - list 集合转列表 list(set)

    list - set 列表转集合 set(list)

    列表转成元组 : tuple(list)

    元组转成列表: list(tuple)

    字符串转成列表: list("abcd")→[a,b,c,d]

    ​ "abc".split()→['abc']

    列表转成字符串: b="".join(lst)

    字典转成字符串: str(dic) (字典的格式不变,类型变了)

    字符串转成字典: a="{1:2,3:4}" print(eval(a))

    集合转成列表: a=set("bcdef") list(a)

    列表转成集合: a=['s','d','f'] set(a)

    流程控制语句

    if 如果

    单if:

    if 关键字 空格 条件 冒号 缩进 结果。

    if 嵌套

    if 条件:

    ​ 结果

    if 条件:

    ​ 结果

    if条件:

    ​ 结果

    **if**

    表示:如果。在python中是关键字。

    if True 如果是真的,告诉大家这是真的

    1.单if

    格式:

    如果 空格 条件 冒号

    缩进 结果

    2.if else (必须二选一)

    格式:

    如果 空格 条件 冒号

    缩进 结果

    否则 冒号

    缩进 结果

    ```python
    n = input("请输入数字:")

    if 3<int(n):

    print(1)

    else:

    print(2)

    print(6)
    ```

    3.if elif elif (多选一或零)

    格式

    如果 空格 条件 冒号

    缩进 结果

    再如果 空格 条件 冒号

    缩进 结果

    再如果 空格 条件 冒号

    缩进 结果

    ```python
    print(110)
    if 3<2: # 如果
    print("A")
    elif 3>8: # 再如果
    print("B")
    elif 5<0:
    print("C")
    print(112)
    #输出 110 112

    ```

    4.if elif else (多选一)

    格式

    如果 空格 条件 冒号

    缩进 结果

    再如果 空格 条件 冒号

    缩进 结果

    否则 空格 条件 冒号

    缩进 结果

    ```python
    if 3 == 2:
    print(1)
    elif 3<2:
    print(3)
    elif 3>10:
    print(4)
    else:
    print(9)
    #输出 9

    ```

    5.if if if (多选)

    格式:

    如果 空格 条件 冒号

    缩进 结果

    如果 空格 条件 冒号

    缩进 结果

    如果 空格 条件 冒号

    缩进 结果

    ```python
    if 3>2:
    print("A")
    print(456)
    if 3<6:
    print("B")
    # 输出 A 456 B
    ```

    6.if 嵌套

    格式:

    如果 空格 条件 冒号

    缩进 如果 空格 条件 冒号

    缩进 结果

    伸出 否则 冒号

    缩进 结果

    伸出 伸出 否则 冒号

    缩进 结果

    ```python
    sex = "女"
    age = 35
    if sex == "女":
    if age == 35:
    print("进来坐一坐")
    else:
    print("你去隔壁找春生")
    else:
    print("你去对门找alex")
    ```

    while循环

    跟if有点像

    基本结构:

    **while** 条件 :

    缩进 循环体

    还有个for else 当for执行完了,才会跳到else上

    ```python
    if 条件:
    结果
    while 条件:
    循环体
    while True:
    print("痒")
    print("鸡你太美")
    print("卡路里")
    print("好运来")
    print("小三")
    print("小白脸")
    print("趁早")
    print("过火")
    ```

    下面这几个歌名会一直重复循环,不会停止,成为死循环.

    总结:

    打断循环的方式:

    1.修改条件

    2.break

    - continue --跳出当前循环继续下次循环(将continue伪装成循环体中的最后一个行代码)
    - break -- 打破当前循环 (终止当前循环)

    continue和break的相同之处:他们以下的代码都不执行

    ```python
    while else
    while True:
    print(111)
    break
    else:
    print(222)
    输出 111
    ```

    字符串格式化(三种 %s %d  f { } )

    第一种表示方式:

    ```python
    a = "------------- info -------------"
    b = "name:"
    c = "age:"
    d = "job:"
    e = "-------------- end -------------"
    name = input("name")
    age = input("age")
    job = input("job")
    print(a + " " + b + name + " " + c + age + " "+ d + job + " " +e)
    ```

    输出: 通过字符串加字符串的方式,把name和alex加一起,加 用来换行.

    输出结果
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814225909690-1521499591.png)
    第二种:%s

    ```python
    a = """ ------------- info -------------
    name:%s
    age:%s
    job:%s
    -------------- end -------------
    """
    name = input("name")
    age = int(input("age"))
    job = input("job")
    print(a%(name,age,job))
    ```

    输出:
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814230005694-1329355788.png)
    a变量中的%s是占位用的,而print中的%是用来补位的,补位顺序要和变量a中的一致,不能多,也不能少.
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814230125248-460922536.png)
    ```python
    num = input('学习进度:')
    b = "大哥黑的学习进度为:%s%%"
    print(b %(num))
    ```
    输出:
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814230356716-1627442170.png)

    b中的%%为意译,不是表示什么功能而是仅仅表示一个%,会显示在结果中,如果在%%前加空格,输出的数字在%前也会有空格.

    第三种: f"{ }"

    用f " { } "的方式,{}中是需要填的,把他空出来,双引号也可换成单引号

    注:只能在python3.6版本以上才可使用.

    ```python
    e = input("今天天气如何:")
    s= f"今天是什么天气啊:{e}"
    print(s)
    输出:
    ```
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814230542300-921208021.png)
    ```python
    s = f"今天下雨了,你心情如何:{input('心情如何:')}"
    print(s)
    输出:
    ```
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814230712462-306111634.png)
    ```python
    e = "晴朗"
    d = "阴天"
    f = "刮风"
    s= f"今天是什么天气啊:{e}或者{f}又或者是{d}"
    print(s)
    输出:
    ```
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814230927029-2052433003.png)
    ```python
    s = f"{1}{2}{3}"
    print(s)
    输出:
    ```
    ![](https://img2018.cnblogs.com/blog/1730011/201908/1730011-20190814231019597-1351039823.png)
    总结:

    - %s 是占的字符串类型的位置(现在%s用的还是少)
    - %d(%i和d一样)是占的数字类型的位置
    - %% 转换成普通的%号
    - 按照位置顺序传递,占位和补位必须要一一对应.

    运算符:

    算术运算符:

    加(+),减(-),乘(*),除(/),整除(//)除完取整数,幂/次方(**)

    模(%)除完取余数.

    其中除(/)在python2中是除完取整数,,在python3中除完会出现小数.

    比较运算符:

    大于 > , 小于 < , 等于 == , 不等于 != , 大于等于 >= , 小于等于 <= .

    赋值运算符:

    = 赋值

    += 自加 a = a + 1 等于 a += 1

    -= 自减

    *=自乘

    /=自除

    //=自整除

    **=自幂

    %=自取余

    逻辑运算符:

    and (与/和)

    or (或)

    not (非)

    成员运算符:

    in 存在
    not in 不存在

    总结:

    and前后都为真时取后面的值
    and前后都为假时取前面的值
    and前后一真一假时取假的值
    or 前后都为真时取前面的值
    or 前后都为假时取后面的值
    or 前后一真一假时取真的值

    pass或...表示占位,有些程序需要后期补充完整,就先用pass或...占位
    or从左往右第一个为真就是他,不看别的了
    and从左往右第一个为假就是他,不看别的了
    运算优先级为: () > not > and >or
    从左向右的顺序执行
    not True就等于是False

    s = "abcde"
    for x in s :
        pass
    print(x)
    # 输出为e
    if 后并没有输出,只有pass占位
    print(9 and 1 or not False and 8 or 0 and 7 and False)
    输出为 1
    print(3 and 4)
    print(0 and 4)
    print(0 and False)
    输出为 4 0 0
    s = "alexdsb"
    if "sb" not in s:    
    print(True)
    else:    
    print(False)
    输出结果为False

     编码初始 (编码集)密码本

     今 01010110001000011001
     便 100001001111


    ASCII (美)不支持中文, 用于pyhton2版本

    gbk (国标) 英文用8位 中文16位

    unicode (万国码) 英文16位 中文32位

    utf-8 (可变长编码)英文8位 欧洲文16位 亚洲24位

    linux -- utf-8

    mac-- utf-8

    windows--gbk

    单位转换:

    1字节=8位 (1Bytes = 8 bits)

    1024Bytes =1KB

    1024KB=1MB

    1024MB=1GB

    1024GB=1TB (常用到TB就够了)

    1024TB=1PB

    1024PB=1EB

    class A:
    
        company_name = '老男孩教育'  # 静态变量(静态字段)
        __iphone = '1353333xxxx'  # 私有静态变量(私有静态字段)
    
    
        def __init__(self,name,age): #特殊方法
    
            self.name = name  #对象属性(普通字段)
            self.__age = age  # 私有对象属性(私有普通字段)
    
        def func1(self):  # 普通方法(实例方法)
            pass
    
        def __func(self): #私有方法
            print(666)
    
    
        @classmethod  # 类方法
        def class_func(cls):
            """ 定义类方法,至少有一个cls参数 """
            print('类方法')
    
        @staticmethod  #静态方法
        def static_func():
            """ 定义静态方法 ,无默认参数"""
            print('静态方法')
    
        @property  # 属性
        def prop(self):
            pass
  • 相关阅读:
    fopen
    C++ list的基本操作和使用
    lua调用有返回值的c++
    Duplicate methods named spliterator with the parameters () and () are inherited from the types Colle
    Android手机联网状态、GPS
    c风格字符串的标准库函数
    Filter in Servlet
    Annotation 注解
    container injection——容器技术
    windows上安装Maven与Gradle
  • 原文地址:https://www.cnblogs.com/shengjunqiye/p/11632172.html
Copyright © 2020-2023  润新知