• 1 python基础


    一、变量和list

    1、定义一个变量,并赋值。

    days_1 = 365
    days_2 = 366
    
    #修改变量值
    number_of_days = 365
    print(number_of_days)   # 365
    number_of_days = 366
    print(number_of_days)  # 366
    
    #打印
    #print
    print(365)       # 365
    print("hello")   # hello
    • 1.1 数值型变量有float和integer两种
    • 1.2 非数值型变量通常为string
    str_test = "China"
    int_test = 123
    float_test = 122.5
    
    print(str_test)  # China
    print(int_test)  # 123
    print(float_test) # 122.5
    print(type(str_test))     # <class 'str'>
    print(type(int_test))     # <class 'int'>
    print(type(float_test))  # <class 'float'>

    2、类型转换函数

      str()    、  float()     、 int()

    查看变量的数据类型,函数:type()

    str_eight = str(8)
    #str_eight + 10  # 异常:TypeError: can only concatenate str (not "int") to str
    print(type(str_eight))        # <class 'str'>
    print(type(float(str_eight))) # <class 'float'>
    print(type(int(str_eight)))   # <class 'int'>
    print(str_eight + 'a')        # 8a
    
    print('---------')
    
    eight = 8
    str_eight_two = str(eight)
    print(type(eight))           # <class 'int'>
    print(type(str_eight_two))   # <class 'str'>

    二、注释

    单行注释、多行注释

    #单行注释
    #print test
    
    
    # 多行注释
    """
    Addition:+
    Subtraction:-
    Multiplication:*
    Division:/
    Exponent:**
    """

    三、数值运算

    china=10
    united_states=100
    china_plus_10 = china + 10
    us_times_100 = united_states * 100
    print(china_plus_10)
    print(us_times_100)
    print(china**2)  # 平方**

    四、list类型变量

    1、定义一个list类型变量

    #LIST
    months = []
    print(type(months))  # <class 'list'>
    print(months)        # []
    
    months.append("January")
    months.append("February")
    print(months)        # ['January', 'February']
    # 定义一个list,然后进行赋值
    months = []
    months.append(1)
    months.append("January")
    months.append(2)
    months.append("February")
    print(months)        # [1, 'January', 2, 'February']
    #定义并初始化list变量
    temps = ["China",122.5,"India",124.0,"United States",134.1]
    print(type(temps))  # <class 'list'>
    print(temps)        # ['China', 122.5, 'India', 124.0, 'United States', 134.1]
    # 获取list的某一elem元素
    print(temps[1])     # 122.5
    print(temps[2])     # India

    2、长度函数: len()

    int_months = [1,2,3,4,5,6,7,8,9,10,11,12]
    lenght = len(int_months) #Contains the integer value 12
    print(lenght)    # 12
    int_months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
    index = len(int_months) - 1     # 11
    # 通过索引寻址
    last_value = int_months[index]  # 12
    print(last_value)               # 12
    # 通过-1索引寻找队列最后一个值
    print(int_months[-1])           # 12

    3、list切片,分段,子集

    有头无尾:指定开始索引,不指定结束索引

    # 切片
    months = ["Jan","Feb","Mar","Apr","May","Jun","Jul"]
    #指定起止索引。Values at index 2,3, but not 4.  前闭后开区间
    two_four = months[2:4]
    print(two_four)      # ['Mar', 'Apr']
    
    
    # 指定开始索引,不指定结束索引
    three_six = months[3:]
    print(three_six)        # ['Apr', 'May', 'Jun', 'Jul']

    无头有尾:不指定开始位置,指定结束位置

    # 不指定开始位置,指定结束位置
    f = open('dq_unisex_names.csv','r')  # open()函数操作文件
    names = f.read()                     # 读取文件内容
    names_list = names.split('
    ')       # 将文件内容按换行符切分得到一个names_list
    first_five = names_list[:5]  # 等于names_list[0:5]
    print(first_five)  # ['Casey,176544.3281', 'Riley,154860.6652', 'Jessie,136381.8307', 'Jackie,132928.7887', 'Avery,121797.4195']
    转换为二维列表
    # 转换为二维列表
    f = open('dq_unisex_names.csv', 'r')
    names = f.read()
    names_list = names.split('
    ')
    nested_list = []
    for line in names_list:
        comma_list = line.split(',')
        nested_list.append(comma_list)
    print(nested_list[0:5])    #  [['Casey', '176544.3281'], ['Riley', '154860.6652'], ['Jessie', '136381.8307'], ['Jackie', '132928.7887'], ['Avery', '121797.4195']]

    将数值转换为float类型,遍历实现

    nested_list = [['Casey', '176544.3281'], ['Riley', '154860.6652'], ['Jessie', '136381.8307'], ['Jackie', '132928.7887'], ['Avery', '121797.4195']]
    numerical_list = []
    for line in nested_list:
        name = line[0]    # line是一个list
        count = float(line[1])
        num_list = [name, count]
        numerical_list.append(num_list)
        
    print(numerical_list)  # [['Casey', 176544.3281], ['Riley', 154860.6652], ['Jessie', 136381.8307], ['Jackie', 132928.7887], ['Avery', 121797.4195]]

    list函数,append() 将子元素添加到list

    从文件中读取不同日期的天气数据到list列表

    # 从文件中读取不同日期的天气数据到list列表
    
    weather_data = []
    f = open("la_weather.csv",'r')
    data = f.read()
    rows = data.split('
    ')
    # print(rows)
    for row in rows:
        split_row = row.split(',')
        weather_data.append(split_row)
    print(weather_data)  # [['1', 'Sunny'], ['2', 'Sunny'], ['3', 'Sunny'], ['4', 'Sunny'], ['5', 'Sunny'], ['6', 'Rain'], ['7', 'Sunny'], ['8', 'Sunny'], ['9', 'Fog'], ['10', 'Rain']]

    读出天气数据到weather列表

    # 读出天气数据到weather列表
    weather = []
    for row in weather_data:
        weather.append(row[1])
    print(weather) # ['Sunny', 'Sunny', 'Sunny', 'Sunny', 'Sunny', 'Rain', 'Sunny', 'Sunny', 'Fog', 'Rain']
    f.close()

    判断list中是否包含'cat' : 'cat'   in   xx

    # 列表中寻找值
    animals = ['cat','dog','rabbit']
    for animal in animals:
        if animal == 'cat':
            print('Cat found')
          
    # in 语句,判断是否在列表  
    cat_found = 'cat' in animals
    print(cat_found)

    4、读取文件,切分str得到list

    4.1 文件操作函数:open("file","op")

    # 读文件
    f = open("test.txt","r")
    
    g = f.read()
    print(g)
    
    f.close()
    # 写文件
    f = open("test_write.txt","w")
    
    f.write("123456")
    f.write("
    ")
    f.write("234567")
    
    f.close()
    # 切分string得到list.
    str_ex = "john,plastic,joe"
    split_list = str_ex.split(',')
    print(split_list)        # ['john', 'plastic', 'joe']
    
    string_two = "How much wood
    can a woodchuck chuck
    if a woodchuck
    could chuck wood?"
    list_2 = string_two.split('
    ')
    print(string_two)
    print(list_2) # ['How much wood', 'can a woodchuck chuck', 'if a woodchuck', 'could chuck wood?']
    4.2 读文件内容,得到string,split()函数切分string得到list
    # 读文件内容,得到string,split()函数切分string得到list
    f = open('test.txt','r')
    data = f.read()
    rows = data.split('
    ')
    print(rows)  # ['hello python', 'tangyudi 123', 'ML 456', 'DL 789', 'data 234']

    4.3 遍历 list  :  for  in

    # loop LIST:  for  in
    cities = ["Austin", "Dallas", "Houston"]
    for city in cities:
        print(city)
    print("123")
    Austin
    Dallas
    Houston
    123

    4.4 遍历list: while
    # loop  define:  while
    cities = ["Austin", "Dallas", "Houston"]
    i = 0
    while i < len(cities):
        print(cities[i])
        i += 1
        
    Austin
    Dallas
    Houston

     4.5 range(n)   、  range(start,end,step)

    rg = range(15)
    print(rg)
    for i in rg:
        print(i)
        
    
    # 设置起止和步长
    rg2 = range(0,20,5)
    print(rg2)
    for i in rg2:
        print(i)

    4.6 嵌套list的遍历

    cities = [["Austin","Dallas","Houston"],['Haerbin','Shanghai','Beijing']]
    print(cities)
    for lst in cities:
        for city in lst:
            print(city)
    [['Austin', 'Dallas', 'Houston'], ['Haerbin', 'Shanghai', 'Beijing']]
    Austin
    Dallas
    Houston
    Haerbin
    Shanghai
    Beijing

    五、布尔类型

    # Booleans
    cat = True
    dog = False
    print(type(cat))   # <class 'bool'>
    print(dog)         # False
    print(8 == 8) # True
    print(8 != 8) # False
    print(8 == 10) # False
    print(8 != 10) # True
    
    print("abc" == 'abc') # True
    print(["January","February"] == ["January","February"]) # True
    print(5.0 == 5.0) # True

    true等于1,false等于0

    rates = [10, 15, 20]
    
    print(rates[0] > rates[1]) # False
    print(rates[0] >= rates[0]) # True
    print(False == 0)  # True
    print(True == 1)   # True
    print(True == 3)   # False
    print(True == 'a') # False

    在 if 语句中,非0都为true

    # If Statements
    sample_rate = 700
    greater = (sample_rate > 5)
    if 'a':  # if条件中,值非0则为True
        print(sample_rate)
    else:
        print("less then")
    700
    t = True
    f = ''
    
    if t:
        print("Now you see me")
    
    if f: 
        print("Now you don't")
    Now you see me
    Now you don't

    六、dict 字典类型

    用于存储键值对,比如,学生成绩。

    定义一个字典,变量={ }。赋值新增一个元素,变量['元素名']=值。

    scores = {}  #定义一个scores字典
    print(type(scores))     # <class 'dict'>
    scores["Jim"] = 80      # 新增“Jim”的成绩80
    scores["Sue"] = 85
    scores["Ann"] = 75
    print(scores.keys())    # dict_keys(['Jim', 'Sue', 'Ann'])   获取字典的所有key
    print(scores.values())  # dict_values([80, 85, 75])          获取字典的所有value
    print(scores)           # {'Jim': 80, 'Sue': 85, 'Ann': 75}
    print(scores["Sue"])    # 85
    # 初始化
    # 方式1
    students = {}
    students["Tom"] = 60
    students["Jim"] = 70
    print(students)   # {'Tom': 60, 'Jim': 70}
    
    # 方式2
    students = {"Tom":60, "Jim":70}
    print(students)   # {'Tom': 60, 'Jim': 70}

    字典对象的增删改查

    # 增删改查
    students = {
        "Tom": 60,
        "Jim": 70
    }
    #
    students["Ketty"] = 80
    print(students)  #
    
    #
    students["Tom"] = 65
    print(students['Tom']) #
    students['Tom'] += 5   #
    print(students)        # 查 {'Tom': 70, 'Jim': 70, 'Ketty': 80}
    # 更新 update
    students.update({"mogen":77, "Tom":60})  # 新增mogen,修改Tom
    print(students)        #  {'Tom': 60, 'Jim': 70, 'Ketty': 80, 'mogen': 77}
    
    #
    del students['Tom']    #
    print(students)        # {'Jim': 70, 'Ketty': 80, 'mogen': 77}
    # 清空
    students.clear()
    print(students)        # {}

    判断字典是否包含对象: in语句# 遍历,字典

    # 判断字典中是否包含对象
    students = {
        "Tom": 60,
        "Jim": 70
    }
    print("mogen" in students)  # False
    print('Jim' in students)    # True
    
    
    # 遍历
    # 统计单词出现次数
    pantry = ["apple", "orange", "grape", "apple", "orange", "apple", "tomato", "potato", "grape"] pantry_counts = {} for item in pantry: if item in pantry_counts: pantry_counts[item] += 1 else: pantry_counts[item] = 1 print(pantry_counts) # {'apple': 3, 'orange': 2, 'grape': 2, 'tomato': 1, 'potato': 1}

     七、函数

    定义一个函数:无参数,无返回值

     函数
    # 无参数,无返回值
    def firFun():
        print("hello python")

    无参数,有返回None

    # 无参数,有返回None
    def numFun():
        for i in range(0, 10):
            i
        return

    有参数,有返回值

    # 有参数,有返回值
    def add(a, b):
        return a+b

    ---------------------------

    print(firFun())
    hello python
    None
    print(numFun())   # None
    print(add(3, 5))  # 8
  • 相关阅读:
    Python学习资料
    异常
    I/O
    Python3+迭代器与生成器
    python标准数据类型
    人工智能、机器学习和深度学习
    原地排序和复制排序
    序列化和Json
    登陆加密小程序
    hashlib模块加密用法
  • 原文地址:https://www.cnblogs.com/LIAOBO/p/15324128.html
Copyright © 2020-2023  润新知