• Python第一模块


    一、Python简介

    二、Python种类

    三、Python环境 

      windows:

      1.需要配置环境变量

      2.更新:卸载重装 

      linux:1.常用命令: 查看默认Python版本 Python -V

          2.安装:yum install 某某某

    四、Hello World 程序:

       Windows: 

    print("Hello World!")

       linux: 

          >>vim hello.py 

          >> python hello.py 

          Hello World!

    五、变量

      声明变量:

          #_*_coding:utf8_*_ 

          name = "Alex Li"

      变量定义的规则:

              1.变量名只能是字母、数字或者下划线的任意组合

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

              3.不能为关键字:

              如 ‘and’,'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global',

              'if', 'import','in', 'import','in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return','try','while','with','yield'

      name = "Alex Li"
    
      name2 = name
    
       print(name,name2)
    
      name = "Jack"
    
      print("What is the value of name2 now?")

    六、字符编码

      ASCAII码最多只能表示255个符号 显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,

    即:Unicode # -*- coding: utf-8 -*- print "你好,世界“

    七、注释:

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

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

    八:用户输入

      Python2: name = raw_input("What is your name?")

      Python3:

      name = input ("What is your name?")

      print("Hello "+ name )

      getpass中的getpass方法: 输入密码时,想设置不可见 ```

    1 #!/usr/bin/env python
    2 # -*- coding: utf-8 -*-
    3 import getpass # 将用户输入的内容赋值给 pwd 变量
    4 pwd = getpass.getpass("请输入密码:") # 打印输入的内容
    5 print(pwd) ```

    九、模块初识**#不懂

      Python强大之处在于有丰富的标准库和第三方库

    sys:

    #-*-coding:utf8-*-

    import sys 

    print(sys.argv)

    结果:['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到了

    os:

    import os

    os.system("df -h") #调用系统命令

    结合:

    import os,sys

    os.system(''.join(sys.argv[1:])) #把用户的输入参数当做一条命令交给os.system来执行

    十、pyc是什么

    Python是先编译后解释的语言

    Python的运行过程: PyCodeObject pyc文件 Python运行时,编译的结果保存在位于内存中的PyCodeObject中,当Python程序运行结束时,

    Python解释器则将PyCodeObject写回到pyc文件中 当程序二次运行的时候,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就

    重复上面的过程 所以说:pyc文件其实是PyCodeObject的一种持久化保存方式

    十一、数据类型

    1.数字 int(整型)

      32位系统:-2**31 ~ 2**31-1

      64位系统:-2**63 ~ 2**63-1 long(长整型)

    如果整数发生溢出,则Python自动将整型数据转换为长整数 float(浮点型) 代表小数 占8个字节(64位),

    其中52位表示底,11位表示指数,剩下1位表示符号

    complex(复数) x+yi x,y都是实数 注:Python中讯在小数字池:-5~257

    2.布尔值 真或假 1或0

    3.字符串 

    “hello world”

    字符串拼接:Python中的字符串在C语言中体现为是一个字符数组,每次创建字符串的时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,

    就需要再次开辟空间,万恶的+号每出现一次就会在内存中重新开辟一块空间

    字符串格式化输出:

    name = 'alex'

    print ("i am %s" %name) 

    输出: i am alex

    name = "alex"

    print ("i am "+name) #

    输出: i am alex

    注意: 字符串: %s 整数: %d 浮点数: %f

       字符串常用

    功能: 移除空白 分割 长度 索引 切片

    4.列表

       列表基本操作: 索引 切片 追加 删除 长度 循环 包含

    索引: 

    name1, name2, name3 = "minghu","minglong","minghao"

     以上可用列表来代替: 

    age = 1 

    name = ["minghu", "minglong", "minghao", 123, age] 

    for i in range(10) 其中 i 是从0 开始算起的 

    同样列表的索引值也是从 0 开始的 

    如:

    name[1] = "minglong" name[-1] = 1 

    一次取出多个数据(列表多次取值顾头不顾尾) 

    name[0:2] = "minghu","minglong" 列表取值的顺序是从左往右

     1 name = ["minglong","minghu","Jack", 22 , 9 , 23 , 3 , 5 ,7] 
     2 >>name[2:5] 
     3 ["Jack",22,9] 
     4 
     5 >>name[-5:-1] 
     6 [9,23,3,5] 
     7 
     8 >>name[-1:-5] 
     9 [] 
    10 
    11 >>name[-5:] 
    12 [9,23,3,5,7] 
    13 
    14 >>name[0:6] 
    15  ["minglong","minghu","Jack", 22 , 9 , 23] 
    16 
    17 >>name[:6] 
    18  ["minglong","minghu","Jack", 22 , 9 , 23] 
    19 
    20 >>name[:] 
    21 ["minglong","minghu","Jack", 22 , 9 , 23 , 3 , 5 ,7] 
    22 
    23 >>name 
    24 ["minglong","minghu","Jack", 22 , 9 , 23 , 3 , 5 ,7] 
    25 
    26 >>name[:6][2:4] 
    27 ["Jack",22]
    28 
    29 >>name[:6][2:4][0]
    30 Jack
    31 
    32 >>print(name[:6][2:4][0:1]) 
    33 ["Jack"]
    34 
    35 >>print(name[:6][2:4][0][1])
    36 a

    切片:

    1 >>name[1] = "Wangminghu"
    2 >>name
    3 ["minglong","Wangminghu","Jack", 22 , 9 , 23 , 3 , 5 ,7]

    插入:

    name.insert

    >>name.insert(2,"MingGou")
    >>name
    ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]

    追加:

    name.append()

    1 >>name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]
    2 >>name.append("gaoqiao") print(name)
    3 ['minglong', 'Wangminghu', 'MingGou', 'Jack', 22, 9, 23, 3, 5, 7, 'gaoqiao']

    删除:

    name.remove() 、del

    1 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]
    2 del name[0]
    3 print(name)
    4 >>['Wangminghu', 'MingGou', 'Jack', 22, 9, 23, 3, 5, 7]

    name.extend()

    1 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,7]
    2 name.extend('ga')
    3 print(name)
    4 >>['minglong', 'Wangminghu', 'MingGou', 'Jack', 22, 9, 23, 3, 5, 7, 'g', 'a']

    name.count()

    1 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,22,7]
    2 print(name.count(22))
    3 >>2

    name.reverse()

    1 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,22,7]
    2 name.reverse()
    3 print(name)
    4 >>[7, 22, 5, 3, 23, 9, 22, 'Jack', 'MingGou', 'Wangminghu', 'minglong']

    name.sort()

      name.sort()只能排序同种数据类型的列表

    1 name = ["minglong","Wangminghu", "MingGou" ,"Jack", 22 , 9 , 23 , 3 , 5 ,22,7]
    2 name.sort()
    3 print(name)
    4 >>Traceback (most recent call last): >> File "D:/codes/python/day3/test10.py", line 5, in <module> name.sort() TypeError: unorderable types: int() < str

    name.pop() 除掉某个元素

    1 name = ["minglong","Wangminghu", "MingGou" ,"Jack",3,4,5,6,7,8,9,10]
    2 name.pop(4)
    3 print(name)
    4 >>['minglong', 'Wangminghu', 'MingGou', 'Jack', 4, 5, 6, 7, 8, 9, 10]

    name.copy() = copy.copy()

    注:只copy第一层(见笔记),如果是完全克隆的话,则用copy.deepcopy()

    Copy只copy第一层的数据,如果第二层及以下层的值改变后,那么copy过后的数据的第二层及以下也会改变,这是因为copy只是copy了第二层的地址,但是没有copy里面的内容

    ,当地址指向的内容改变之后则整体也会改变

    程序见笔记

    index 指出位置

    name.len() 算出列表的长度

    5.元组(不可变列表)

    创建元组:

    1 ages = (11, 22, 33, 44, 55)

    2

    3 ages = tuple((11, 22, 33, 44, 55)) 

    6.字典(无序)

    创建字典:

    person = {"name": "mr.wu", 'age': 18}
    或
    person = dict({"name": "mr.wu", 'age': 18})

    字典常用操作:

       索引 新增 删除 键、值、键值对 循环 长度

    十二、数据运算

    算数运算:+,-,*,/,%,**,//

    比较运算:==,!=,>,<,>=,<=

    赋值运算:=,+=,-=,*=,/=,%=,**=,//=

    逻辑运算: and ; or ; not

    成员运算: in ; not in

    身份运算: is ; is not

    位运算: & 按位与

        | 按位或

        ^ 按位异或

        ~按位取反

        >>右移

        <<左移

    运算符优先级

    十三、表达式if...else

    例一:用户登录

    # 提示输入用户名和密码
      
    # 验证用户名和密码
    #     如果错误,则输出用户名或密码错误
    #     如果成功,则输出 欢迎,XXX!
     
     
    #!/usr/bin/env python
    # -*- coding: encoding -*-
      
    import getpass
      
      
    name = raw_input('请输入用户名:')
    pwd = getpass.getpass('请输入密码:')
      
    if name == "alex" and pwd == "cmd":
        print("欢迎,alex!")
    else:
        print("用户名和密码错误")
    View Code

    例二:猜年龄游戏,如果猜错要提示猜大了还是猜小了

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
     
    my_age = 28
     
    user_input = int(input("input your guess num:"))
     
    if user_input == my_age:
        print("Congratulations, you got it !")
    elif user_input < my_age:
        print("Oops,think bigger!")
    else:
        print("think smaller!")
    View Code

    外层变量,可以被内层代码使用

    内层变量,不应被外层代码使用

    十四、表达式for loop

    for i in range(10)

    #_*_coding:utf-8_*_
    __author__ = 'gqq'
     
     
    for i in range(10):
        print("loop:", i )

    输出: 

    loop: 0
    loop: 1
    loop: 2
    loop: 3
    loop: 4
    loop: 5
    loop: 6
    loop: 7
    loop: 8
    loop: 9

    continue:退出当次循环进入下一循环

    break:退出循环

    例:

    for i in range(10):
        if i<5:
            continue #不往下走了,直接进入下一次loop
        print("loop:", i )
    for i in range(10):
        if i>5:
            break #不往下走了,直接跳出整个loop
        print("loop:", i )

    十五、while loop

    死循环:

    count = 0
    while True:
        print("你是风儿我是沙,缠缠绵绵到天涯...",count)
        count +=1
    count = 0
    while True:
        print("你是风儿我是沙,缠缠绵绵到天涯...",count)
        count +=1
        if count == 100:
            print("去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人..")
            break
    View Code

    回到猜年龄的例子,最多给三次机会,才不读就退出程序

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
     
     
    my_age = 28
     
    count = 0
    while count < 3:
        user_input = int(input("input your guess num:"))
     
        if user_input == my_age:
            print("Congratulations, you got it !")
            break
        elif user_input < my_age:
            print("Oops,think bigger!")
        else:
            print("think smaller!")
        count += 1 #每次loop 计数器+1
    else:
        print("猜这么多次都不对,你个笨蛋.")
  • 相关阅读:
    生成word附件和word域动态赋值
    查询结果用Object类或其数组的List接收
    mustache多次渲染和多个赋值
    规范必备:枚举类型
    使用HttpClient发送请求、接收响应
    java接口对接——别人调用我们接口获取数据
    java接口对接——调用别人接口推送数据
    mustache语法
    Confluence 6 空间标识
    Confluence 6 从一个模板中创建一个空间
  • 原文地址:https://www.cnblogs.com/gqq-0504/p/6095886.html
Copyright © 2020-2023  润新知