zoukankan      html  css  js  c++  java
  • Python基础(二)

    一、格式化输出

    ------------ info of 张三 -----------
    Name : 张三
    Age : 22
    job : IT
    ------------- end -----------------

    1、第一种写法

    name = input("Name:")
    age = input("Age:")
    job = input("Job:")
    
    msg = '''
    ------------ info of %s --------------- # %s代表一个占位符
    Name : %s    #代表name
    Age :  %s    #代表age
    Job :  %s    #代表job
    ------------- end -----------------
    ''' % (name,name,age,job) # % 号把前面的字符串与后面变量关联起来
    print(msg)

    注:%s字符串的占位      %d 数字的占位     %f 浮点数        字符串 %(数据)

    2、第二种写法

    name = input("Name:")
    age = input("Age:")
    job = input("Job:")
    
    msg = '''
    ------------ msg of %s  -----------
    Name : {name}
    Age :  {age}
    Job :  {job}
    ------------- end -----------------
    '''
    print(msg)

    注:必须是python3.5以上版本才可以使用

    int(str)  #字符串转换成int                    str(int)  #int转换成字符串

    二、基本运算符

    1、算数运算

    2、比较运算

    3、逻辑运算

    and    并且, 左右两端同时为真, 结果才能是真.
    or 或者, 左右两端有一个是真, 结果就是真
    not 非, 非真即假, 非假即真

    优先级:      () > not > and > or

    4、赋值运算

    a=10,b=20

    5、成员运算

    in     是否在xxx里面
    content = input("请输入你的评论")
    if "张三" in content or '李四' in content:
    print('你输入的内容不合法')
    else:
    print("评论成功")
    not in  是否不在xxx里面

     三、基本数据类型

    1、int ==> 整数

            在python3中所有的整数都是int类型,但在python2中如果数据量比较大,会使用long类型,在python3中不存在long类型

    2、str ==> 字符串

            字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的

    在python中,凡是用引号引起来的数据都是字符串
    单引号,双引号,三引号引起来没有任何区别
    name = '张三'
    name = "张三"
    name = '''张三'''

    ①切片、索引

    索引:索引就是下标,下标从0开始

    s = "hello"
    
    # 从索引0开始取完字符串中每一个字符
    print(s[0])
    print(s[1])
    print(s[2])
    print(s[3])
    print(s[4])

    切片:

    字符串[start:end] 从start到end拿到数据 ,end取不到
    字符串[start:end:step] 从start到end拿数据,每step个拿出来一个

    step:   + 左到右     - 右到左

    s = "Java,Python,Php,C++"
    print(s[2:11:2])  #从第二个开始取,取到11,每两个取一个
    print(s[:4])       # Java  从开始切
    print(s[4:])       #  从4切到结束
    print(s[:])        # 从头切到尾

    ②字符串的操作

    upper()      转化成大写. 在忽略大小写的时候
    ###用户名密码登录应用场景###
    verify_code = "Axbn" 
    uv_code = input(f"请输入验证码{verify_code}:")
    if verify_code.upper() == uv_code.upper():  # 忽略大小写
         print("验证码正确")
    else:
         print("验证码错误")
    strip()      默认去掉左右两端的空白
    ###用户输入密码应用场景###
    uname = input("请输入用户名:").strip() # 用户输入的内容一定要过滤掉左右两边的空白
    upwd = input("请输入密码:").strip()
    if uname == "alex" and upwd == "123":
        print("登录成功")
    else:
        print("登录失败")
    replace()    字符串的替换
    msg = input("请输入你的信息:")
    if "黄赌毒" in msg:
        msg = msg.replace("黄赌毒", "***")
    print(msg)
    split()      字符串切割, 结果是列表
    s = "Hello Word Im superman"
    res = s.split() # 默认用空白切割
    print(res) 
    startswith() 判断是否以xxx开头
    s = "alex 特别喜欢他的特斯拉"
    print(s.startswith("alex")) # 判断是否以alex开头
    print(s.endswith("特斯拉")) # 判断是否以特斯拉结尾
    find()       查找字符串中xxx字符的位置. 如果找不到返回-1
    s = "Hello Word"
    print(s.find("z")) # 返回索引, 如果没有, 返回-1
    len()        内置函数,字符串长度
    s = "Hello Word"
    print(len(s)) # len叫内置函数.和print一样

    3、bool==>判断真假: True, False

    bool=>int       int(bool) True是1, False是0
    str => bool     bool(str) 空字符串串是False, 不空是True
    bool => str     str(bool) 把bool值转换成相应的""

    4、list==> 存储大量数据:用[ ]表示

    和字符串差不多. 也具有索引和切片

    ①增

    append()        追加,添加在列表的末尾

    l = ["张三", "李四"] 
    l.append("刘能")
    print(l)  #列表是可以发生改变的

    insert()          插入,在xxxx位置插入一个元素

    l = ["张三", "李四"]
    l.insert(1, "王五") #在索引1前面,也就是李四前面插入"王五"
    print(l)

    extend()       迭代新增,合并列表

    l = ["张三", "李四"]
    s1 = ["王五","赵六"]
    l.extend(s1)
    print(l)

    ②删

    pop()             删除,指定索引删除,默认删除最后一个

    l = ["张三", "李四","王五","赵六"]
    l.pop()
    print(l)

    remove()       删除某个指定元素
    del list[3]
    clear()            清空列表

    count()          计数

    ③改:使用索引去修改

    l = ["abc", "李四","王五","赵六"]   #把ABC变大写
    l[0] = l[0].upper()
    print(l)

    ④查:直接用索引查找,使用for循环可以遍历列表

    lst = ["abc", "李四","王五","赵六"]
    for n in lst:
        print(n)

    例题:让用户输入一个加法运算: 3+8+4+6+9 想办法完成数学运算

    s = input("请输入一个加法运算:")
    lst = s.split("+")
    print(lst)
    
    sum = 0
    # 开始循环
    for item in lst:
        sum += int(item)
    print(sum)

    5、tuple=> 元组:不可变列表,只读

    适用场景:放一些不进行修改的数据,元组用()表示,空元组必须用tuple()来创建

    注: 如果元组只有一个元素. 必须在末尾添加一个逗号

    6、dict==> 字典:在存储数据的时候必须使用key:value的形式进行存储

    注:key不可以重复,value没有要求,并且要求key必须可哈希-> 不可变(int, str, tuple, bool, float)

    ①增

    直接用新key添加

    dic = {}           # 空字典 dict()
    dic["1"] = "张三"
    dic["2"] = "李四"
    dic["1"] = "王五"   # key 不可以重复. 会把数据覆盖掉

    setdefault(key, value) 如果key存在, 不新增. 不存在, 新增. 最后都查询

    dic = {} # 空字典 dict()
    
    dic["1"] = "张三"
    dic["2"] = "李四"
    dic.setdefault("1","赵六")
    dic.setdefault("3","赵六")
    print(dic)

    ②删

    1. pop(key)       #指定key删除
    2. popitem()     #删除最后一个.
    3. del dic[key]  #指定key删除
    4. clear()           #清空字典

    ③改

    dic[老key] = 新value

    ④查

    get(key)      #使用key获取value
    dic[key]      #查询, 如果key不存在. 会报错

    循环:
    for k in dic:
    k
    dic[k]

    for k, v in dic.items():
    print(k)
    print(v)

    7、set==> 集合:保存大量数据. 不可以重复. 其实就是不保存value的dict

    类似dict存储,只放key,可哈希,不可变,不重复,无序 {}可以表示set集合
    set() 创建空集合,帮助我们去除重复

    ①添加:add()

    s = set()
    s.add("张三")

    ②删除:remove()

    s = set()
    s.add("张三")
    s.add("李四")
    s.remove("张三")

    ③列表去重

    lst = ["张三", "李四", "张三", "李四", '王五']
    s = list(set(lst))
    print(s)

    ④for循环

    lst = ["张三", "李四", "张三", "李四", '王五']
    
    new_lst = []
    for item in lst:
      if item not in new_lst:
             new_lst.append(item)
    print(new_lst)
  • 相关阅读:
    Silverlight 动态调用 WebService
    一步一步学Silverlight 2系列(28):图片处理
    一步一步学Silverlight 2系列(27):使用Brush进行填充
    HTML5 Web Applications
    分享31个非常有用的 HTML5 教程
    数学分析原理 定理 6.5
    数学分析原理 定理 6.9
    RiemannStieltjes积分存在的充分条件(按照Tom M.Apostol的《数学分析》上的定义)
    数学分析原理 定理 6.4
    数学分析原理 定理 6.8
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/10633802.html
Copyright © 2011-2022 走看看