zoukankan      html  css  js  c++  java
  • python3 基础语法

    # TODO注释 (pycharm)

           ## TODO(小明) 注释内容

    # shebang符合指定linux下的执行路径

      ##! /user/bin/python3

    # 基本运算符

    + - * / :加减乘除

    // :整除

    % :除余

    ** :乘方

    字符串*号拼接:“hello”*10

    赋值运算

    c=a+b

    c+=a  c=c+a

    c-=a   c=c-a

    c*=a   c=c*a

    c/=a   c=c/a

    c//=a   c=c//a

    bool值true在计算过程中等于1

    # 基本函数方法

    input()  输入函数,输入后获取的数据类型都是str

    type() 查看数据类型

    int() 转换数据为整数

    float() 转换数据为浮点小数

    # 格式化字符串输出

    语法如下

    name=“小明”

    print(“格式化字符串%s”%name)

    print(“格式化字符串”%(变量1,变量2,。。。))

    # if判断语句

    age = 18

    if age>=18:

           print(“go”)       #使用缩进控制if控制代码块

    else:

           print(“back”)

    elif 继续条件判断

    # 逻辑运算符

    or 或者

    and 并且

    not 非

    # 循环语句

    i=0

    while i<=10:

           i+=1

    if i==2:

           continue # 跳出本次循环,继续其他循环

           if i==6:

                  break  # 跳出所有循环

           print(“hello)

    for 变量 in 集合:

           循环代码

    else:

           循环全部结束后,执行代码,如果通过break退出循环则不执行

    # 函数基本使用

    ## 定义函数

    def say_hello(): #def 定义函数关键字

           print(“hello”)

    say_hello() # 调用函数

    ## 传参与返回值

    def sun_num(num1, num2):

        print("%d + %d = %d" % (num1, num2, num1 + num2))

        return num1 + num2

           #如果返回值是元组类型,小括号省略 return num1,num2

    print(sun_num(3, 5))

    ## 缺省参数使用

    def demo(name, title=””,gender=True):  # 通过形参赋值的形式给参数指定默认值,缺省承参数之后不能定义无默认值的参数,如需定义,写在缺省参数之前

        print(name)

        if not gender:

            print(gender)

    调用多个缺省参数函数时,可以通过对参数直接赋值调用

    demo(“小明”,gender=False)

    ## 多值参数使用

    def demo(num, *nums, **person):  #一个*接收元组,两个*接收字典

        print(num)  # 输出1

        print(nums)  # 输出 (2,3,4,5)

        print(person) # 输出 {'name': '小明', 'age': 16}

    demo(1, 2, 3, 4, 5, name="小明", age=16)

    ### 多值参数拆包输入

    def demo(*nums, **person):

        print(nums)

        print(person)

    demo(*(1, 2, 3), **{'name': '小明', 'age': 16}) # 一个*拆分元组,两个*拆分字典

    # 模块导入

    导入并使用模块,py结尾的文件都可以看做是一个模块,python模块名不能以数字开头

    tb_01_hello,py 中定义方法

    def mul_table():

        row = 1

        while row <= 9:

            col = 1

            while col <= row:

                print("%d * %d = %d" % (col, row, col * row), end=" ")

                col += 1

            print("")

            row += 1

    tb_02_mode.py 中引入模块并调用方法

    import tb_01_hello

    tb_01_hello.mul_table()

    # 列表数据类型

    name_list = ["aa", "bb", "cc"]

    print(name_list[1])

    可以使用list[0:0:1]进行切片

     

    ## 遍历列表使用for循环

    for item_name in name_list:

    print(item_name)

    # 元组数据类型(类似列表)

    元组中可以存储不同数据类型的数据,但是元组中的元素不能修改

    定义只包含一个元素的元组 single_tuple = (1,),需要在元素后输入, 因为缺少逗号,解释器会认为括号内元素就是需要的内容

    tuple() :转换列表为元组

    list() :转换元组为列表

    ## 使用,分割多个变量直接接受元组数据

    temp1,temp2=(23,56)

    a,b=(b,a) #a与b值交换

    # 字典数据类型(键值对)

    xiaoming = {

        "name": "xiaoming",

        "age": 18,

        "gender": "male"

    }

    h = "height"

    xiaoming[h] = "178"

    print(xiaoming["name"])

    print(xiaoming)

    ## 删除key:dict.pop(key)

    ## 合并字典

    xiaoming = {

        "name": "xiaoming",

        "age": 18,

        "gender": "male"

    }

    update_dict = {

        "height": "178",

        "age": 22

    }

    xiaoming.update(update_dict)

    合并时需要注意,如果原有字典中包含合并字典中的key则原有的value会被覆盖

    ## 遍历字典

    for key in xiaoming:

        print(key)

        print(xiaoming[key])

    # 字符串数据类型

    str = "这是个字符串"

    print(str[2])  # 打印对应索引的字符串

    ## 遍历字符串

    for itemStr in str:

        print(itemStr)

    ## 常用内置操作方法

    len() :统计字符串字节数

    str.count(“个”) :统计某个字符出现次数

    str.index(“个”) :查询某个字符对应的索引

    str.isspace() :判断字符是否为空,“ ”转义字符也都为空

    str.isdecimal() :判断是否为纯数字

    str.strip() :删除空白字符

    str.split(“,”) :按照输入字符,拆分字符串为列表,如果没有参数,则按照所有空白字符分割

    “ ”.join(list) :按照需求,合并字符串列表为字符串

    str[0:5:2] : 截取字符串,0为开始索引,5为结束索引,2为步长。如果索引为-1表示最后一个字符,也可为-2;如果步长为-1表示向左取值,简单实现字符串倒叙:str[-1::-1]或str[::-1]

    ### 字符串替换查找

    str = "hello world"

    print(str.startswith("hello")) #判断字符串是否以此开头

    print(str.endswith("world")) #判断字符串是否以此结尾

    print(str.find("ll")) #查找此字符在字符串中对应的索引值,如果不存在,返回-1并不报错

    print(str.replace("world","python")) #replace进行字符串替换,会返回一个新的字符串,久的不变

    # 内置方法

    Id(param) : 查看变量对应的内存地址

    print(“*”,end=“ ”) 默认换行,end指定替换换行的内容

    print中的转义字符

    # 保证输出内容在垂直方向对齐

    # 水平方向换行

    ”# 输出双引号

    print(“1 2 3”)

    print(“10 20 30”)

    random

    random.randint(1,10) 随机一个1-10的整数

    ## 所有数据类型包含的公共方法

    len() :返回列表元素数量

    del() :删除对应的数据

    max([1,2,3,8]) :返回列表中最大的值 ,统计字典时返回key,并不是key对应的值

    min([1,2,3,8]) :返回列表中最小的值 ,统计字典时返回key,并不是key对应的值

    ## 字符串,列表,元组通过+进行拼接

    “hello ”+“python”= “hello python”

    (1,2) + (3,4) = (1,2,3,4)

    [1,2] + [3,4]] = [1,2,3,4]  本质是调用extend方法

    ## 成员运算符 in , not in

    “a”in “abcd”

    ## pass关键字占位符,保证代码运行正确,不会有任何执行过程

    # 局部变量与全局变量

    ## 局部变量

    函数内部定义的变量,只能在函数内部使用

    ## 全局变量

    函数外部定义的变量,所有函数内部外部都能使用这个变量

    全局不变案例:

    num = 10

    def demo1():

        num = 99

    print(num) # 输出99 ,

    如果在函数中对全局变量进行修改,相当于重新声明了一个同名局部变量,全局变量不会变

    def demo2():

        print(num) # 输出10

    demo1()

    demo2()

    ### 全局变案例:

    1.赋值改变

    num = 10

    def demo1():

        global num  # 通过global关键字声明变量为全局变量,则可以在局部对其进行

        num = 99

        print(num) # 输出99

    def demo2():

        print(num) # 输出99

    demo1()

    demo2()

    2.可变数据类型,全局数据改变

    def demo(num_list):

        num_list.append(9) #因为是通过方法改变可变数据类型的值,其全局值也改变

        print(num_list) # 输出[1,2,3,9]

    gl_num_list = [1, 2, 3]

    demo(gl_num_list)

    print(gl_num_list) # 输出[1,2,3,9]

    3.列表+=操作

    def demo(num_list):

        num_list+=num_list #看似=赋值,其实列表+=时本质是调用extend方法

        print(num_list) # 输出[1,2,3,1,2,3]

    gl_num_list = [1, 2, 3]

    demo(gl_num_list)

    print(gl_num_list) # 输出[1,2,3,1,2,3]

  • 相关阅读:
    WebGIS中解决使用Lucene进行兴趣点搜索排序的两种思路
    WebGIS中兴趣点简单查询、基于Lucene分词查询的设计和实现
    手机端和网页端使用同一后台时进行会话控制的一种思路
    由项目浅谈JS中MVVM模式
    数字转换为汉字小算法
    6. GC 调优(工具篇)
    Android基础工具类重构系列一Toast
    <html>
    Android自己定义控件--圆形进度条(中间有图diao)
    jquery-ajax-php(内容点赞并进行cookie限制实现)
  • 原文地址:https://www.cnblogs.com/Tabb/p/10811632.html
Copyright © 2011-2022 走看看