zoukankan      html  css  js  c++  java
  • Python3 学习基础知识

    python是动态语言(对象属性可以动态改变,删除添加..),不是强类型语言,所以和java,c/c++等强类型静态语言有不一样地方需要注意。

    一:基本数据类型

    变量

    counter = 1   # 整型变量
    miles = 1.0  # 浮点型
    name = "John,h"   # 字符串
    str = 'Hello World!' #字符串(支持双引号,也可使用单引号)

    counter=’111‘ #此时counter为string类型

    从例子可以看出,python使用变量可以直接赋值使用,不需要先声明类型,在使用,同时一个变量可以指向多种类型数据,即变量在使用中在确定。

    (pytthon中变量可以看作一个引用,没有类型概念。类型只是针对对象而言,变量只是对象的引用而已)

    布尔类型:True、False两种值
    逻辑符: and、or和not
    空值:None是一个特殊的空值

     常量
    在Python中,通常用全部大写的变量名表示常量
    但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法

    字符串格式化:

    s1 = 'Hello {}! I am is {}.'.format('World', 'Python')
    s2 = 'Hello {name1}! I am is {name2}.'.format(name1='World', name2='Python')
    
    str = ("My name is %s and age is %d !" % ('Tom', 18))
    

    运算符
    a = 2,b = 3
    c = a**b //2的3次方幂运算

    /除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数
    10/5 ->2.0

    //表示整除运算
    a = 10,b = 5
    c = a//b

    对象类型

    list
    list数据类型是列表:是一种有序集合,可动态add,delete,motify其中的元素

    tinylist = ['123', 'john','lll','poi']
    tinylist.append('haha')
    tinylist.insert(2,'cba')
    tinylist.remove('john')
    tinylist.pop(1) # 删除索引为1位置元素
    tinylist.pop() # 删除list末尾的元素
    len(tinylist) #计算元素个数,len()函数可以由于任何对象
    



    tuple
    元组:tuple和list非常类似,但是tuple一旦初始化就不能修改,在定义的时候,tuple的元素就必须被确定下来
    tu=(1, 2,3,4,5,6)
    注意,tt=(1)不表示元组,因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义
    只有1个元素的tuple定义时必须加一个逗号,,来消除歧义,例:tt = (1,)

    dict
    字典:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储
    如果key不存在,dict就会报错 KeyError: 'xxx'

    tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
    
    print(dict['one'])  # 输出键为'one' 的值
    print(dict[2])  # 输出键为 2 的值
    print(tinydict)  # 输出完整的字典
    print(tinydict.keys())  # 输出所有键
    print(tinydict.values())  # 输出所有值
    print([value for value in tinydict.values()])
    for k, v in tinydict.items(): # 同时迭代key和value
        print('key='+k+'value='+v)
    

     
    tinydict.get('1')
    tinydict.get('1',-1)

    set
    set和dict类似,也是一组key的集合,但不存储value
    s = set([1, 2, 3])

    条件判断

    num = 3
    if num >= 10:
        print('more than 2 bit num')
    else:
        print('1 bit num')
        
    num = 3
    if num >= 100:
        print('3 bit num')
    elif num >= 10:
        print('2 bit num')
    else:
        print('1 bit num')
    

    # 循环
    for letter in 'Python':  #遍历字符串内每个字符
        print ('current letter :'+letter)

    fruits = ['banana', 'apple', 'mango']
    for fruit in fruits:  # 通过直接取值输出
        print ('fruit name :'+fruit)


    for index in range(len(fruits)):#通过遍历索引输出
        print ('fruit name :'+ fruits[index])

    数据集(一定范围内的数值)
    通过range()生产数据集

    for num in range(10,50): 
       for i in range(2,num):
          if num % i == 0:      
             j = num / i         
             print ('%d = %d * %d' % (num,i,j))
             break            
       else:                  
          print(num+'是一个质数')
    

    切片[]应用

    1,用于string
    str = 'Hello World!'
    print(str[0])    # 输出字符串中的第一个字符
    print(str[2:5])  # 输出字符串中第三个至第五个之间的字符串
    print(str[2:])   # 输出从第三个字符开始的字符串

    2,用于list
    lst = ['hello', 88, 2.23, True, 10]
    lst[1:3]  # 取出第二个至第三个的元素
    lst[2:]  # 取出从第三个开始至列表末尾
    lst[-2:]  #倒数第二个,后2个元素
    lst[::5]  #每隔5个元素取一个,正序
    lst[::-2] #倒序每隔2个元素取出一个

    列表生成式:    
     
    # 筛选出仅偶数的平方
    [x * x for x in range(1, 11) if x % 2 == 0]
    # 输出[4, 16, 36, 64, 100]

    # 两层循环,生成全排列
    [m + n for m in 'ABC' for n in 'XYZ']
    # ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']

     
  • 相关阅读:
    移动开发 Native APP、Hybrid APP和Web APP介绍
    urllib与urllib2的学习总结(python2.7.X)
    fiddler及postman讲解
    接口测试基础
    UiAutomator2.0 和1.x 的区别
    adb shell am instrument 命令详解
    GT问题记录
    HDU 2492 Ping pong (树状数组)
    CF 567C Geometric Progression
    CF 545E Paths and Trees
  • 原文地址:https://www.cnblogs.com/happyxiaoyu02/p/6820851.html
Copyright © 2011-2022 走看看