python01

Python基础 (v3.6.6)
day01

pycharm相关设置:

1.左侧字体:设置- Appearance & Behavior- Appearance- Theme选择Intellij为白色,勾选第2个,选18号
2.代码大小:Editor - Colors & Fonts - Font - Scheme选择Default为白色,字号设置26
3.运行结果大小:Editor - Colors & Fonts - Console font ,字号设置26
4.解释器:Project xx - Project Interpreter 

国内源安装:pip install 包名 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
---------------------------------------------------------------------------------------------

1.基础知识

1-1. python安装
    1.注意环境变量的配置
    2.验证:DOS窗口输入:python -V
    3.python 文件格式为 .py

1-2. 注释:解释说明,不会被程序执行
    单行注释用#,正常是写在代码上方
    多行注释用一对三引号(单、双引号都可以)

1-3. 输出 print()
    print(666)
    print('hello, world')
    print("你好")
    
    print("hello", end =" ")    #不换行输出
    print()                #换行输出,空一行

1-4. 变量
    
    name = '小明'
    age = 20
    print('我叫',name,',今年',age)
    print('我叫' + name,',今年'+ str(age))

    1-4-1. 变量赋值:把等号右边的值赋给左边变量

        #普通赋值
        a = 666

        #链式赋值
        a = b = c  = 6
        print(a,b,c)

        #序列解包赋值
        a,b,c = 1,2,3

    1-4-2. 获取数据的内存地址: id()
        name = 'tom'
        print(id(name))

    1-4-3. 变量命名规则:
        1.变量必须赋值才能使用
        2.变量名可以包括字母、数字、下划线,但变量名不能以数字开头。
        3.字母可以是大写或小写,但大小写是不同的。
        4.等号(=)是赋值的意思,左边是名字,右边是值,不可写反咯。
        5.变量命名遵循驼峰命名法,如 userName,也可以user_name
        6.不要使用系统关键字命名,如 if、 class、 def……等

    练习. 练习:假设变量 a = 3, b = 4 如何将a,b两个变量的值互换
        a,b=3,4
        a,b=b,a
        print(a,b)

4. 输入input()

    name = input('input your name:')
    print('you are',name)
    注:凡是从键盘输入的数据,系统都默认为 字符串(str) 数据类型

5. 查看数据类型 type()
    
    int:整型(可以理解为整数),如123,20
    float:浮点型(可以理解为小数),如 3.14 
    str:字符串,如 'tom',"杰瑞"
    None:空值,如 a = None 
    True、False:布尔量,如 b = True

6. 数据类型转换:
    int(a) :把变量a转换成整型
    float(a) :把变量a转换成浮点型
    str(a):把变量a转换成字符串

    注意:字母是无法转换为整型和浮点型的数据类型的。

7. 常见的算术运算
    
    +:加法,拼接字符串
    -:减法
    *:乘法,字符串的倍数输出
    /:除法
    **:幂
    %:取商的余数部分
    //:取商的整数部分(地板除)

8. 逻辑操作符 
    and 、not、 or

    and操作符,and两边都为true时,返回true,否则返回false
    not操作符,取相反的,not true 就是false 
    or操作符,当两边有一边返回true,返回true

    name = 'tom'
    print('t' in name and 'o' in name)
    print(not 't' in name)
    print('tt' in name or 'o' in name)

9. 运算优先级

    幂 》正负号 》算术操作符(加减乘除、取余、取整)》比较运算符(>、<=、==、!=) 》逻辑运算符(and、or、not)

    9-1.练习:从键盘输入两个整数,然后计算出他们的和
        a= int(input('请输入第1个整数:'))
        b= int(input('请输入第2个整数:'))
        print('两个整数的和是:',a+b)

    9-2.练习:如何输出保留小数点后两位的数据? --> 使用print(‘%.2f’%变量),如:print(‘%.2f’%b)
        a,b = 5,3
        print(a/b)
        print('%.2f'%(a/b))

10. 字符串相关
    特点:字符串可以用一对单引号、双引号或三引号括起来(三引号里面的内容可以直接换行而不会报错)
        
    10-1. 拼接 +    适用于字符串,中间不会有空格
        a='hello'
        b='world'
        print(a+b)  →:helloworld

    10-2. 缩进 \t
        print('qqq\thaha')

    10-3. 换行  \n
        print('qqq\nhaha')

    10-4. 转义符 \  将特殊字符失去原有意义
        print('let\'s go')
        print("let's go")

    10-5. 原始字符串
        在字符串前面加r或R
        c = R'C:\now'
        print(c)        

        d = 'C:\\now'
        print(d)

    10-6. 格式化输出方法1-----------------

        %s:字符串
        %d:整型
        %f:浮点型

        name = '小明'
        age = 20
        weight = 55.56789        

        print('我叫%s'%name)
        print('我叫%s,今年%d,体重%.2f'%(name,age,weight))

    10-7. 格式化输出方法2----------------

        print('我是{},今年{}岁,体重{}公斤'.format(name,age,weight))

        print('我是{aa},今年{bb}岁,体重{cc}公斤'.format(aa=name,bb=age,cc=weight))

        print('我是{0},今年{1}岁'.format(name,age))        
        print('我是{1},今年{0}岁,体重{2}公斤'.format(age,name,weight))        


        补充: f'{变量}'
            name = 'tom'
            print(f'我的名字是{name}')    →: 我的名字是tom

    10-8. 判断变量类型的内置函数 isinstance()

        isinstance(aa,m)     其中aa是变量,m是数据类型,如果一致就是True

        name = 'tom'
        print(isinstance(name,str))   →: True

    10-9. 字符串的复制

        print("_"*5)

    10-10. 字符串的索引访问 [] ,下标从0开始

        name = 'xiaoming'
        print(name[2])        →: a

        切片访问 [a:b:m]  起始值a,结束值为b-1,步长为m(默认为1)

        print(name[2:5])    →: aom  ,取第2、3、4位,不包括第5位
        print(name[2:7:2])    →: amn  ,取第2~6位,且步长为2

    10-11. 反转输出
        name = 'xiaoming'
        print(name[::-1])   →:gnimoaix
        print(c[-1:-4:-1])    → dlr   从倒数第1位开始,到倒数第3位结束

        1.练习:分别打印name的前3位、后3位
            print(name[:3:])        →:xia
            print(name[-3::])        →:ing


    10-12. 统计字符串长度 len()
        print(len(name)) 

    10-13. 查看字符串的内置函数:dir() , 如 dir(str) , dir('tom')

            注:其他数据类型也能用dir(),如列表等

    # 练习:编写一个函数处理金额类的字符串,保留小数后两位,如输入5元,
            返回5.00元,输入5.1元,返回5.10元,输入5.12元,返回5.12元,
            输入5.123元,返回5.12元

                def money(num):
                    return '%.2f元'%num
                a = float(input("请输入金额:"))
                print(money(a))


10. 字符串常用的函数

    name = 'xiaoming'

    11-1. find() 查找字符是否存在字符串中

        #如果在,就返回第一个该字符的索引位
        print(name.find('a'))        →: 2

        #如果不存在,就返回-1
        print(name.find('b'))        →: -1

    11-2. split()  将字符串按照指定分割符切割,并将切割后的数据保存为列表

        print(name.split('m'))    →: ['xiao', 'ing']

    11-3. count() 统计指定字符出现的次数

        print(name.count('i'))    →: 2

    11-4. replace(“a”,“b”)  将字符串中的a替换为b

        print(name.replace('ming','hong'))    →: xiaohong
        print(name.replace('i','6'))        →: x6aom6ng

    11-5. strip()  移除字符串头尾的指定字符,不能删除中间的字符

        aa = '  tom123 '

        #默认移除头尾部的空格
        print(aa.strip())        →: tom123

        bb = 'tom123t'
        print(bb.strip('t'))    →: om123
        
        练习:移除"hel  lo ,wor ld"中的空格
            cc = "hel  lo ,wor ld"
            print(cc.replace(' ',''))        →: hello,world

    11-6. isdigit()  判断字符串是否由纯数字组成

        num1 = '666'
        num2 = '3.14'
        num3 = 'asd666'
        print(num1.isdigit())    →: True
        print(num2.isdigit())    →: False
        print(num3.isdigit())    →: False

    11-7. lower()、upper() 将所有字母改成小写、大写

        name = "xIaOMinG"
        print(name.upper())        →: XIAOMING
        print(name.lower())        →: xiaoming

        #将首字母改成大写
        print(name.title())        →: Xiaoming

    11-8.  in 、 not in 判断字符串是否在另一个字符串中

        print('ao' in 'xiaoming')        →: True
        print('66' in 'xiaoming')        →:     False


12. 列表相关 list

    python的数据结构有列表、元组、字典、集合。

    列表:列表是以方括号[] 包围,元素以逗号分隔的序列,数据结构之一。
         在Python中,列表可以存放任何东西,甚至可以存放另一个列表。

    特点:    a) 有序;
            b) 可变;
            c) 可以存储不同的数据类型和数据结构

    12-1. 定义列表

        list1 = []                 #空列表
        list1 = ['asd',666,'橘子']    #非空列表

    12-2. 列表的访问

        list2 = [666,'hello','杰瑞',[777,'tom'],55,66,7]

        print(list1,'\n'+str(list2))   #换行打印list1、list2

        print(list2[2]) #列表的访问,下标从0开始,取下标2
        
        print(list2[1:3]) #切片访问

        print(list2[::]) #打印所有 
        
        print(list2[::2]) #以步长2打印所有  
        
        print(list2[1:5:2]) #以步长2打印下标1到5-1  
        
        print(list2[::-1]) #反转输出  

        print(list2[3][1])  #嵌套访问, →: tom

        print(list2[-3:])    #打印后3位

        print(list2[-1])    #打印最后1位

    12-3. 列表最大值、最小值

        list3 = [8,50,888,69]

        print(max(list3))        →: 888
        print(min(list3))        →: 8

        练习:已知a、b为整型,求出最大值c

            a= 8
            b = 888
            c = max([a,b])    #或 c = max(a,b)
            print(c)

    12-4. 查看列表的内置函数 dir()

    12-5. 列表元素的增,删,改

        list2 = [666,'hello','杰瑞',[777],55]

        list2.append('橘子')  #在列表尾部增加元素

        #在列表指定位置增加元素
        list2.insert(3,'tom')  #在原下标3的位置增加元素
        
        list2[1] = 'world' #修改元素
        
        del list2[5]  #删除指定元素
        del list2[-2::]  #删除最后2个元素
        
        del list2  #删除整个列表,删除后无法访问

        list2.remove(666)   #删除列表指定第一个元素
        list2.remove('tom') #删除列表指定第一个元素

        list2.pop()            #删除列表最后一个元素

    12-6.列表元素升序

        list3 = [66666,55,3.14,66,7]

        # sort()方法会改变原列表顺序
        list3.sort() 
        print(list3)
         
        # sorted不会改变原列表顺序
        print(sorted(list3)) 
        print(list3)


        如果降序呢?-------------- 

        # 可以使用字符串的反转输出,不改变原顺序
        list5 = list3[::-1]

        # sort()方法会改变原列表顺序,reverse=True表示降序
        list2 = [55,666,9,30,20]
        list2.sort(reverse=True)
        print(list2)
        
        # reverse()将原来的列表反转,并且无法恢复

        list2 = [55,666,9,30,20]
        list2.reverse()
        print(list2)

    12-7. 列表其他操作

            list2 = [55,666,'hello','杰瑞',666,[777],55]

        1)统计列表内某个元素的个数  count()

            print(list2.count(666))        →: 2

        2)计算列表内元素的个数 len()

            print(len(list2))

        3)根据元素值,返回首个元素所在的下标值 index()

            print(list2.index(55))        →: 0

        4)将列表的元素以指定的字符连接,生成一个新的字符串

            list3 = ["hello","world"]
            new = ",".join(list3)
            print(new)                →: hello,world    

            注意:join方法只能连接字符串。

        5) 将两个列表组合成一个新的列表

            list1 = [1,2,3]
            list2 = [4,5,6,"tom"]
            list3 = list1 + list2

            print(list3)        →: [1, 2, 3, 4, 5, 6, 'tom']

        6) 判断元素是否在列表中

            list2 = [55,666,'hello','杰瑞',666]

            print('hello' in list2)        →: True
            print(666 not in list2)        →: False
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值