python基础【金沙官网线上】

Mandatory conversion type

      作为稍有经验的运维人员,没听说python的恐怕是极少的,有很多做运维的同事已经将python应用到日常的维护工作中。为了赶上时代的步伐,我也开始学习python,并将学习过的知识稍作总结,一来在日后的复习过程中节省时间,二来分享给志同道合的朋友,以求共同进步。下面开始正题。

1 age = int(input("age:")) 

 目录:

    1.python简介

    2.编译器和解释器

    3.获取帮助

    4.字符编码

    5.变量和基本数据类型

    6.输入与输出

    7.条件判断与循环

    8.文件

打印出数据类型

第一部分:python简介

        python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum与1989年发明,并与1991年产生第一个公开发行版。python是一门优雅且健壮的编程语言,它易用且功能强大,只要你能想到的事情,python都可以做。

 

1 print(type(age))

第二部分:编译器和解释器

 

#raw_input 2.x input 3.x

第三部分:获取帮助

        python之所以非常强大,几乎可以做任何事情,和它拥有大量的内置模块和第三方外部模块是非常相关的.一个模块有很多相关的功能,我们引入该模块有就可以使用模块中的功能函数实现相关的操作.看下面的例子

 1 >>>import socket
 2 >>>dir(socket)
 3 ['AF_APPLETALK',...,'socker'....,'timeout']
 4 >>>help(socket.socket)
 5 Help on class socket in module socket:
 6 class socket(_socket.socket)
 7  |  A subclass of _socket.socket adding the makefile() method.
 8  |  
 9  |  Method resolution order:
10  |      socket
11  |      _socket.socket
12  |      builtins.object
13  |  
14  |  Methods defined here:
15 ......

        以上部分,第一行,我们导入了'socket'模块,这是一个使用socket传输数据相关模块.接着我们使用内置函数 dir(module_name) 来查看了socket模块包含的以一些功能,这些功能通俗的讲叫方法.我们发现了一个"socket"方法.我们还想继续了解如何使用"socket.socket".寻求某个方法的使用通过python内置函数 help(method_name)来实现.紧接着屏幕上打印了"socket.socket"的一些用法.这样我们就一步步的获取到了帮助文档。

        这里希望你对import 语句有一个大致的了解,知道它是干什么的.并且需要记住dir()和help()函数,并清除他们的用法。

   

输入的数据类型默认为string

第四部分:字符编码

        ASCII,单字节(8个二进制位),可以表示256个不同字符。可表示所有英文字符和许多控制符号。最开始发明计算机的时候,这些字符足够使用。

        UNICODE,计算机相对的普及后,256个字符不能够描述所有语言字符,因此国际组织制定了可以容纳世界上所有文字和符号的字符编码方案。这被称为UNICODE,UNICODE长度至少是2字节(16个二进制位),可变长度,因此在存放原来ASCII编码那一部分字符时浪费了空间。

        UTF-8,压缩版的UNICODE,兼容ASCII,可变长度,最少1字节,"UTF-8"中,一个中文至少需要3个字节表示。

        gbk,一种汉字编码标准,通常2个字节表示一个汉字。

        这里需要注意的是平时工作中,使用何种编码保存的文件需要使用何种编码打开,如果两个编码不同,一般会出现问题.比如我们写的程序中包含中文,并使用"UTF-8"编码存储。由上面的知识我们知道"UTF-8"中一个中文占3个字节。当我们再读取文件时使用的是"gbk"编码格式读取的,从上面我们知道gbk用2个字节表示一个中文,和"UTF-8"存储中文的字节数不想等,这样就造成了中文乱码的情况。

1 >>>name='齐得龙东强'
2 >>>name.encode(encoding='utf-8')
3 b'xe9xbdx90xe5xbex97xe9xbex99xe4xb8x9cxe5xbcxba'
4 >>>name.encode(encoding='gbk')
5 b'xc6xebxb5xc3xc1xfaxb6xabxc7xbf'

        上面举了个代码实现的例字,可以非常清楚的看出差异.

       

1 >>>s='李'
2 #unicode  -->  encode  -->  utf-8(bytes)
3 #bytes(utf-8)  --> decode --->unicode
4 
5 >>>s.encode(encoding='utf-8')   
6 b'xe6x9dx8e'

 

       知识点:

        在python3 中,所有的字符串都被识别并编码成 unicode.在python3中共有两种形式的字符串: str 即 unicode  . bytes 即 str.encode()   的结果.

1 转义符:print 'It 's a dog'
2 输出:It's a dog
3 自然字符串:在字符串前加上r,字符串即使有转义符,也能原样保留
4 print r"hello boynhello boy"
5 输出:hello boynhello boy

1 字符串的重复:"hello"*20

第五部分:变量和基本数据类型

子字符串

        变量

        编程语言中,你能够把程序中准备使用的每一段数据都赋给一个简短、易于记忆的名字,这个名字统称变量,下面写个例子。

1 >>>x = 3
2 >>>y = x * 5
3 >>>y
4 15

        以上x和y就是一个变量,x,y叫做变量名,3,15是变量的值,以后可以用x来代替3,因此我们输入y=x*5 得到 3×5的结果 15。

        变量的值可以是任意可表达的数据类型,但是变量名就有限制了,python中的变量名需要遵循一下规则:

        1).变量名只能包含 字母、数字和下划线,且只能以字母或下划线开头,比如 strings、i、_name、try_3_time都是合法的变量,但 3times、5_trys就不是合法变量名,因为它们以数字开头了。

        2).不能和系统的内置关键字重名,内置关键字可以通过导入keyword模块获取,如下:

1 >>>import keyword                               #导入keyword模块
2 >>>_buildin_keyword=keyword.kwlist              #将关键字赋值给_buildin_keyword变量
3 >>>print(_buildin_keyword)                      #打印变量
4 ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def','del', 
    'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 
     'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']  

        变量代表的值有类型,可以通过python内置函数type()查看变量所代表的值的类型.      

1 x = 3              #type(x)=<class 'int'>     整形
2 y='hello,world'    #type(y)=<class 'str'>      字符串型
3 z=False            #type(z)=<class 'bool'>     bool型
4 h=None             #type(h)=<class 'NoneType'> NoneType

        变量赋值后就可以使用,如下:

1 >>>strings='hello,world'                        #将'hello,world'赋值给变量'strings'
2 >>>print('the output strings is :',strings)     #输出一段话,其中包含'strings'变量,python中的',(逗号)'可以起到连接两个字符串的作用.
3 the output strings is: hello,world
1 #索引运算符从0开始索引
2 #切片运算符[a:b]是指从第a下标开始到第b-1下标。第一位下标为0
3 c1="abcdefg"
4 c2=c1[0]
5 c3=c1[7]
6 c4=c1[:2]
7 c5=c1[2:]
8 c6=c1[4:7]
9 print (c1,c2,c3,c4,c5,c6)

        基本数据类型

        python的基本数据类型包括:字符串、布尔类型、数字类型、列表、元组、字典、集合和日期(之后的课程中讲)类型.下面分别举例字:

       

1 >>>Name=’maidangna’                                   #字符串型
2 >>>one_word=’a’                                       #字符串型,但是只有一个字符'a'
3 >>>count=3                                            #数字类型  整形
4 >>>price=3.50                                         #数字类型  浮点型
5 >>>login_state=False                                  #bool类型,是数字类型的一个子集
6 >>>goods=[‘apple’,’waltermellon’,’pear’,’peach’]      #列表
7 >>>params=(‘lina’,’123’,7)                            #元组
8 >>>Persion={‘name’:’lina’,age:23,‘address’:’BJ’}      #字典
9 >>>numbers={1,2,5,7,0}                                #集合

 

         字符串

         下面来看字符串的例子,并结合介绍一些常用的字符串的方法(功能):

 1 >>>string_example="this is a test string"       #给变量string_example赋值
 2 >>>string_example.title()                       #将string_example的各个单词首字母大写
   'This Is A Test String'
 3 >>>string_example.capitalize()                  #将string_example的第一个单词字母大写
   'This is a test string'
 4 >>>string_example.split(patten)                 #将string_example以"patten"分割开,如果"patten"为空,则成了['this','is','a','test','string'](一个列表)
   ['this','is','a','test','string']
 5 >>>string_example.index('a')             #在string_example中查找"new_string"中第一次出现的位置,若没有,则返回ValueError异常
   8
 6 >>>string_example.find('z')              #发现string_example中的"new_string"第一次出现的位置,若没有,则返回"-1"
   -1
 7 >>>string_example.count('s')                    #查找's'在string_example中出现的次数   
    4    
 8 >>>string_example.replace('a','A')              #将string_example中的'a'替换为'A'
   'this is A test string'
 9 >>>string_example.join('*-')                    #返回备'*'和'-'包围的string_example
    '*this is a test string-'
10 >>>string_example.isupper()                     #返回string_example的全部大写字母形式
    False
11 >>>string_example.islower()                     #返回string_example的全部小写字母形式
    True
12 >>>string_example.center(50)                    #返回50个长度的字符串,string_example位于中间
    '              this is a test string               '
13 >>>string_example.strip()                       #如果字符两侧有空格,则去掉两端的空格
    'this is a test string'
14 >>>string_example.startswith('th')              #判断string_example是否以'th'开头
    True
15 >>>string_example.endswith('ing')               #判断string_example是否以'ing'结尾
    True
18 >>>string_example.upper()                       #将string_example的所有字母都大写
    'THIS IS A TEST STRING'
19 >>>string_example.lower()                       #将string_example的所有字母都小写
    'this is a test string'
20 >>>string_example.isalnum()                     #判断string_example是否都是可识别字符串
    True
21 >>>string_example.isalpha()                     #判断string_example是否是字母组成
    False
22 >>>string_example.isdigit()                     #判断string_example是否是数字组成
    False
23 >>>string_example.isspace()                     #判断string_example是否是空格组成
    False
24 >>>string_example.istitle()                     #判断string_example是否每个单词首字母大写
    False 

列表的符号是[]
元组的符号是()
元组不能修改
集合的格式是: set(元素)

         bool类型

        我们有时需要对结果进行"是"与"不是"的判断,比如,返回值等于10,5大于3等等.总之结果只有两种情况:"是"与"不是" ,在编程中我们将做"真"与"假", "是"的情况就是"真",程序中用"True"表示,相反的就"不是",是"假",程序中用"False"表示.如下面的例子:

 1 >>>5>3                 #5大于3,所以返回值为"真",即True
 2 True
 3 >>>1>10                #1小于10,所以返回是"假",即False
 4 False
 5 >>>2==2                #2等于2,所以返回值是"真",即True
 6 True
 7 >>>a=2                  #赋值,变量a赋值为2
 8 >>>b=2                  #赋值,变量b赋值为2
 9 >>>a == b               #a等于b,因为a,b都是2,所以返回"真",即True
10 True
11 >>>a != b               #a和b都是2,所以a不等于b是"假",即返回Flase
12 False

 

 1 if xx == xx :
 2 print()
 3 elif xx > xx:
 4 print()
 5 else:
 6 print()
 7 
 8 while True:
 9 print()
10 
11 for i in range(10): #i是临时变量;range(0,10,2)在0-10的范围内隔两个输出一次
12 print("loop ",i)

         数字

        相信数字大家最不陌生了,平时少不了和数字打交道.在计算机编程语言中,数字分为"整形","浮点型","科学型",下面举例字学习:

1 >>>a = 10                           #a赋值10
2 >>>b = 3                             #b赋值3
3 >>>a / b                            #a处以b
4 3.3333333333333335
5 >>>a//b                             #a除以b,只留下整数部分
6 3
7 >>>a%b                              #a与b取余数
8 1

        整数类型常用函数:bit_length()

1 >>>a = 37                            #将37 赋值给a
2 >>>a.bit_length()                    #a用至少多少个二进制位表示
3 6                                    #100101

 

本文由金沙官网线上发布于编程,转载请注明出处:python基础【金沙官网线上】

您可能还会对下面的文章感兴趣: