Python 基础知识

一、简介
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

脚本运行:python test.py a b c,其中a、b、c为输入参数。

二、基本语法
2.1、print
        print用作py脚本打印输出注释和结果,为了方便输出效果,用户还可以对其字体进行设置,具体格式如下:

        1、输出字符串:

                print("hello world");

        2、输出变量结果:

                print("value: ", var); 其中var可以为数字或者字符类型

        3、输出字体颜色配置

               开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m

                print("\033[33m==========\033[0m"); 打印输出====为黄色,配置表如下:

        -------------------------------------------
        -------------------------------------------
        字体色     |       背景色     |      颜色描述
        -------------------------------------------
        30        |        40       |       黑色
        31        |        41       |       红色
        32        |        42       |       绿色
        33        |        43       |       黃色
        34        |        44       |       蓝色
        35        |        45       |       紫红色
        36        |        46       |       青蓝色
        37        |        47       |       白色
        ------------------------------------------
2.2 变量类型
        2.2.1、Numbers(数字)
                数字数据类型用于存储数值,当你指定一个值时,Number 对象就会被创建:var = 5

        2.2.2、String(字符串)
                字符串或串(String)是由数字、字母、下划线组成的一串字符,s="abcd"。

                python的字串列表有2种取值顺序:

                        1、从左到右索引默认0开始的,最大范围是字符串长度少1;

                        2、从右到左索引默认-1开始的,最大范围是字符串开头。

                即s[0] = a、s[-1] = d、s[1:2] = b、s[1:3] = bc、s[1:] = bcd

        2.2.3、List(列表)
                List(列表) 是 Python 中使用最频繁的数据类型,由字符,数字,字符串构成,符号为[ ] 。

                其中:list = [ 'hello', 123 , 1.2, 'word' ],即list[0] = ‘hello’,list[1:3] = [123,1.2],list[-1] = ‘word’,list元素个数为:len(list)。

        2.2.4、Tuple(元组)    
                元组是另一个数据类型,类似于 List(列表)。元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

                tuple = ('hello', 123 , 1.2, 'word'),只能赋值一次。

        2.2.5、Dictionary(字典)
                字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

                两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

                字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

                dict = {}

                dict['one'] = "This is one"

                dict[2] = "This is two" tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}

                print dict['one'] # 输出键为'one' 的值

                print dict[2] # 输出键为 2 的值

                print tinydict # 输出完整的字典

                print tinydict.keys() # 输出所有键

                print tinydict.values() # 输出所有值      

                结果为:

                This is one         

                This is two         

                {'dept': 'sales', 'code': 6734, 'name': 'runoob'}         

                ['dept', 'code', 'name']         

                ['sales', 6734, 'runoob']

        2.2.6、变量类型转换
函数    描述
int(x [,base]):将x转换为一个整数

long(x [,base] ):将x转换为一个长整数

float(x):将x转换到一个浮点数

complex(real [,imag]):创建一个复数

str(x):将对象 x 转换为字符串

repr(x):将对象 x 转换为表达式字符串

eval(str):用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s):将序列 s 转换为一个元组

list(s):将序列 s 转换为一个列表

set(s):转换为可变集合

dict(d):创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s):转换为不可变集合

chr(x):将一个整数转换为一个字符

unichr(x):将一个整数转换为Unicode字符

ord(x):将一个字符转换为它的整数值

hex(x):将一个整数转换为一个十六进制字符串

oct(x):将一个整数转换为一个八进制字符串

2.3、运算符
      2.3.1、算数运算符
运算符    描述    实例
+    加 - 两个对象相加    a + b 输出结果 30
-    减 - 得到负数或是一个数减去另一个数    a - b 输出结果 -10
*    乘 - 两个数相乘或是返回一个被重复若干次的字符串    a * b 输出结果 200
/    除 - x除以y    b / a 输出结果 2
%    取模 - 返回除法的余数    b % a 输出结果 0
**    幂 - 返回x的y次幂    a**b 为10的20次方, 输出结果 100000000000000000000
//    取整除 - 返回商的整数部分(向下取整)    
>>> 9//2
4
>>> -9//2
-5
      2.3.2、比较运算符     
运算符    描述    实例
==    等于 - 比较对象是否相等    (a == b) 返回 False。
!=    不等于 - 比较两个对象是否不相等    (a != b) 返回 true.
<>    不等于 - 比较两个对象是否不相等。python3 已废弃。    (a <> b) 返回 true。这个运算符类似 != 。
>    大于 - 返回x是否大于y    (a > b) 返回 False。
<    小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。    (a < b) 返回 true。
>=    大于等于 - 返回x是否大于等于y。    (a >= b) 返回 False。
<=    小于等于 - 返回x是否小于等于y。    (a <= b) 返回 true。
      2.3.3、赋值运算符     
运算符    描述    实例
=    简单的赋值运算符    c = a + b 将 a + b 的运算结果赋值为 c
+=    加法赋值运算符    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
**=    幂赋值运算符    c **= a 等效于 c = c ** a
//=    取整除赋值运算符    c //= a 等效于 c = c // a
      2.3.4、位运算符     
运算符    描述    实例
&    按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0    (a & b) 输出结果 12 ,二进制解释: 0000 1100
|    按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。    (a | b) 输出结果 61 ,二进制解释: 0011 1101
^    按位异或运算符:当两对应的二进位相异时,结果为1    (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~    按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1    (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<<    左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。    a << 2 输出结果 240 ,二进制解释: 1111 0000
>>    右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数    a >> 2 输出结果 15 ,二进制解释: 0000 1111
      2.3.5、逻辑运算符     
运算符    逻辑表达式    描述    实例
and    x and y    布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。    (a and b) 返回 20。
or    x or y    布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。    (a or b) 返回 10。
not    not x    布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。    not(a and b) 返回 False
2.4、控制语句
        2.4.1、条件语句
                1、if语句

                        if 判断条件 :

                                print ("hello word")

                        else :

                                print("welcome")

                2、elif语句

                        if 判断条件1 :

                                print ("hello word")

                        elif 判断条件2 :

                                print ("welcome")

                        else :

                             print ("bye bye")   

        2.4.2、循环语句
                2.4.2.1 for循环
                        str_len = 9

                        for i in range(str_en) :

                                print("num: ",i) #输出num 0~8

                2.4.2.2 while循环
                        num = 0

                        while (num < 9):

                                print("num: ", num)   #输出num 0~8

                                num = num + 1

                # continue 和 break 用法

                        i = 1

                        while i < 10:

                                i += 1

                                if i%2 > 0: # 非双数时跳过输出

                                        continue print i # 输出双数2、4、6、8、10

                        i = 1

                        while 1: # 循环条件为1必定成立

                                print i # 输出1~10

                                i += 1

                                if i > 10: # 当i大于10时跳出循环

                                        break

2.5、函数
        2.5.1、常用系统函数
                2.5.1.1、pass函数
                        空函数:pass,执行该函数输出结果为空;

                2.5.1.2、split函数
                        划分函数:split("a"),结果:将字符串按“a”字符划分n段,并保存为列表。

                        例如:str="bacadfarf", str.split("a")结果:["b", "c", "df", "rf"]

                2.5.1.3、replace函数
                        替换函数:repace("a", "A"), 将字符串中“a” 替换我“A”

                        例如:str="bacadfarf",str.repace("a", "A")结果:"bAcAdfArf"

                2.5.1.4、del函数
                        删除函数:del str_list[index],index为指定列表中指定元素的位置,即删除str_list列表中第index个元素,列表长度-1.

                        例如:str_list  = ["a", 1, "b", "c"],del str_list[1],输出str_list  = ["a", "b", "c"]

                2.5.1.5、append函数
                        加入元素函数:str_list.append(“d”),即向列表最后一个元素后插入一个新元素,列表长度+1.

                        例如:str_list  = ["a", 1, "b", "c"],str_list.append(“d”),输出str_list  = ["a", 1, "b", "c", "d"]

                2.5.1.6、pop函数
                        提取元素函数:str_list.pop(),即提取str_list列表第一个元素,列表长度-1.

                        例如:str_list  = ["a", 1, "b", "c"],str_list.pop(),输出str_list  = [1, "b", "c", "d"]

                2.5.1.7、upper/lower函数
                        字母大小写转换函数:str.upper(),将str字符小写转换成大写;str.lower(),将str字符大写转换成小写。

                        例如:str=“aBcD”,str.upper()输出ABCD,str.lower()输出abcd。

                2.5.1.8、sort函数
                        排序函数:str_list.sort(),将str_list的元素按ascii码表值进行从小大小排序。

                        例如:str_list=["b", "A", "B", "a"],str_list.sort()输出str_list=["A", "B", "a", "b"]。

                2.5.1.9、getcwd函数
                        获取path函数,该函数在os系统函数下,故先import os,然后path=os.getcwd(),即可得到work path。

        2.5.2、自定义函数
                2.5.2.1、def函数
                        def function_name( parameters ):  #"函数_文档字符串"

                                function_suite

                                return [expression]

                2.5.2.2、自动对齐函数
                        def align_word(in_name,size) :
                            in_name_str = ''
                            in_name_len = 0

                            in_name_str = str(in_name)
                            in_name_len = len(in_name)

                            if in_name_len < size :
                                for i in range(size-in_name_len) :
                                    in_name_str += " "

                            return in_name_str

                        例如:str =align_word("abc",5),结果:str=“abc  ”,自动向后增加两个空格。

三、总结
python脚本适合处理文本文件,可以很方便的修改文件内容,按关键字统计等功能。python基本语法与c语言类似,方便大部分程序员的二次开发,问题定位也相对简单。通过此次学习得知,如果需要快速提升代码能力,首先大概了解基本语法,然后强迫自己动手编写一个自动化脚本,以边写代码边学习的状态完成脚本编写,代码能力自然提升,自我自信程度有很大提高。

posted @ 2021-11-28 00:04  威龙王子  阅读(116)  评论(0)    收藏  举报