Python基础之day2

阅读: 评论:0

Python基础之day2

Python基础之day2

Python介绍

一、python对比其他语言
C,python,java,C#
 
C语言:代码编译得到机器码,机器码在处理上直接执行,每一条指令控制CPU工作其他语言:代码编译得到字节码,虚拟机执行字节码并转换成机器码再在处理器上执行python和C的对比,python是由C开发而来对于使用:python的类库齐全并且使用简洁,如果要实现同样的功能,Python用10行代码可以解决,C可能就需要100行甚至更多对于速度:Python的运行速度相较于C比较慢python对比Java,C#等
    对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持对于速度:Python在速度上可能稍显逊色所以,python和其他语言没有本质区别,其他区别在于:擅长领域,人才丰富,先入为主。

 

二、python的种类  
  • Cpython:Python的官方版本,使用C语言实现,使用最广,Cpython会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jython:Python的java实现,jython会将Python代码动态编译成java字节码,然后再JVM上运行
  • IronPython:Python的C#实现,IronPython将Python编译成C#字节码,然后在CLR上运行
  • PyPy:Python实现的Python,将Python的字节码编译成机器码(执行快)
  • ...

 

三、python入门 1.python内部执行过程 2.解释器 python文件必须在头部明确指明由python解释器来执行。 
#!/usr/bin/env python 
print("hello,world")

 

3.内容编码
 ascii:美国标准信息交换码(8位)unicode:万国码(至少16位),可以表示任何国家的语言utf-8: UTF-8是一种针对Unicode的可变长度字符编码,是对Unicode的包装
Python2.x在执行.py文件时默认使用的是ascii编码,如果不在头部指定utf-8编码,代码执行是可能会因为编码问题而报错。Python3.x里面默认使用utf-8读代码,可以忽略编码问题。

编码解码过程:
  

 

4.注释

单行注释如下:

#这一行被注释

多行注释用三个单引号(''' ''')或双引号(""" """)表示,如下:

'''
多行注释
多行注释
'''"""
多行注释
多行注释
"""
5.执行脚本传入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块
Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数 示例:创建一个index.py文件,内容如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-import sysprint(sys.argv) 

 

执行:
D:python>python index.py 0000
['index.py', '0000']

argv方法会把文件路径和传入参数组成一个列表

 

数据类型常用方法

整数常用方法:

 

     1.__abs__:取绝对值,n=-9,n.__abs__()或者abs(n)可以获得>>> n = -9>>> n.__abs__()9>>> abs(n)92.__add__:加法,用法x.__add__(y)<==>x+y>>> n = 9>>> n.__add__(9)18>>> n + 9183.int():创建一个整数(括号内可以指明创建的是几进制的),比如i=int('10',base=2),相当于创建一个整数2>>> int('10',base=2)2>>> int('100',base=2)4>>> int('100',base=8)644.__and__:位运算x.__and__(y)<==>x&y>>> n = 5>>> n.__and__(6)4>>> 5&645.__cmp__:比较两个数大小,返回0(相等),1(大于),-1(小于),用法x.__cmp__(y)<==>cmp(x,y)>>> n = 5>>> n.__cmp__(6)-1>>> cmp(5,6)-1>>> cmp(6,6)0>>> cmp(6,7)-16.__coerce__:强制生成一个元祖,用法x.__coerce__(y)<==>coerce(x,y)>>> n = 10>>> n.__coerce__(20)(10, 20)>>> coerce(10,20)(10, 20)7.__divmod__:相除得到的商和余数并组成一个元组,用法x.__divmod__(y)<==>divmod(x,y)>>> divmod(99,10)(9, 9)>>> n = 99>>> n.__divmod__(10)(9, 9)8.__div__:取商,x.__div__(y)<==>divmod(x,y)>>> n = 20>>> n.__div__(5)4>>> 20/549.__float__:把整数转成浮点数>>> n = 20>>> n.__float__()20.0>>> float(20)20.010.__floordiv__:取商,地板除>>> n = 5>>> n.__floordiv__(2)2>>> 5//2211.__hex__:将数字转换成16进制,用法x.__hex__()<==>hex(x)>>> n = 20>>> n.__hex__()'0x14'12.__oct__:八进制,用法同上>>> n = 20>>> n.__oct__()'024'>>> oct(20)'024'13.__mod__:取模(余数),x.__mod__(y)<==>x%y>>> n =11>>> n.__mod__(2)1>>> 11%2114.__neg__:正负数互转(正转负,负转正),用法x.__neg__()>>> n =-5>>> n.__neg__()5

 

字符串常用方法:

1.capitalize方法,把字符串首字母变为大写:>>> name = 'akon'>>> name.capitalize()'Akon&#方法,把字符串放中间(两边可填充其他字符):>>> name = 'akon'>>> (20,'=')'========akon========&#unt方法,寻找子序列在字符串中出现个数(可指定起始结束位置):>>> name = 'akonakonakonakon'>>> unt('k')4>>> unt('a',0,10)3>>> name = 'akonakonakonakon'>>> unt('a',5,10)14.编码与解码(Python3.5里只能编码不能解码)decode解码:>>> str1 = '有'>>> str1'xe6x9cx89'
encode编码:>>> str1 = '有'>>> str1'xe6x9cx89'>>> str2 = str1.decode('utf-8')>>> str2u'u6709'>>> de('gbk')'xd3xd0'
5.expandtabs,将tab键转换成空格,默认情况下1个tab等于8个空格,用法如下:>>> name='      akon'>>> pandtabs()'        akon'>>> pandtabs(4)'    akon'6.find方法,可以查单个字符在字符串中的位置[索引](从左到右,rfind为从右到左),如果没找到则返回-1,用法如下:index(rindex从右到左)方法的用法跟find一样,只不过用index方法如果找不到会报错find(rfind):>>> name = 'akonbkonakon'>>> name.find('n')3>>> name.find('c')-1>>> name.rfind('n')11index(rindex):>>> name = 'akonbkonakon'>>> name.index('o')2>>> name.rindex('o')10>>> name.index('c')Traceback (most recent call last):File "<stdin>", line 1, in <module>ValueError: substring not found>>>7.字符串的格式化>>> name = 'I am {0},age{1}'>>> name.format('akon','26')'I am akon,age26'>>> name = 'I am {b},age {a}'>>> name.format(a=16,b='akon')'I am akon,age 16'列表传参数:>>> name = 'I am {0},age{1}'>>> list1 = ['akon',26]>>> name.format(*list1)'I am akon,age26'字典传参数:>>> name = 'I am {a},age {b}'>>> dict1 = {'a':'akon','b':27}>>> name.format(**dict1)'I am akon,age 27'8.字符串首字母如果为大写则为标题,用title方法可以把字符串变成标题>>> name = 'akon hello'>>> name2 = name.title()>>> name2'Akon Hello'>>> name2.istitle()True9.ljust和rjust(跟center用法相同)填充数据并把字符串放到左边和右边10.lower(casefold)/upper方法把字符串全部变成小写/大写>>> name = 'Akon Hello'>>> name.upper()'AKON HELLO'>>> name.lower()'akon hello'11.swapcase大小写对换>>> name = 'Akon Hello'>>> name.swapcase()'aKON hELLO'>>>12.partition把字符串分割成3部分(以括号内字符串为分割点)>>> name = 'AkonIsGood'>>> name.partition('Is')('Akon', 'Is', 'Good')>>>  
13.replace方法替换(会找到所有符合的字符替换)>>> name='abcdefgabcdabc'>>> place('cde','CCC')'abCCCfgabcdabc'>>> place('c','KKK')'abKKKdefgabKKKdabKKK'>>> place('abc','a',1) #指定转换个数'adefgabcdabc&#ains包含>>> name = 'abcdefg'>>> name.__contains__('ab')True>>> 'ab' in nameTrue15.format格式化>>> name = 'abc{0}'>>> name.format('abc')'abcabc&#dswith判断字符串(或子序列)是否以指定字符结尾>>> n = 'dfsdfsdfsd'>>> n.endswith('d')True>>> n.endswith('d',0,5)False17.join把列表拼接成字符串>>> li = ['you','are','fool']>>> ' '.join(li)'you are fool'18.split以指定字符分割字符串,并组成一个列表>>> name='abcdefgabcdabc'>>> name.split('b')['a', 'cdefga', 'cda', 'c']19.maketrans对应表,与translate一起用

 

列表常用方法:

 

1.append往列表尾部添加一个元素>>> name = ['abc','akon','ak',]>>> name.append('cloris')>>> name['abc', 'akon', 'ak', 'cloris']
2.clear清空列表>>> name = ['abc','akon','ak',]>>> name.clear()>>> name[]
3.count查看元素出现的次数>>> name = ['abc','akon','ak',]>>> unt('ak')1
4.extend扩展,把列表拼接>>> name = ['abc','akon','ak',]>>> name2 = ['cloris']>>> d(name2)>>> name['abc', 'akon', 'ak', 'cloris']
5.index查看索引>>> name = ['abc','akon','ak',]>>> name.index('akon')1
6.pop删除指定元素(索引)并返回这个元素,默认删除最后一个>>> name = ['abc','akon','ak',]>>> name.pop(1)'akon'>>> name['abc', 'ak']
7.remove删除指定元素>>> name = ['abc','akon','ak',]>>> ve('abc')>>> name['akon', 'ak']
8.reverse反转列表>>> name = ['abc', 'akon', 'ak', 'cloris']>>> verse()>>> name['cloris', 'ak', 'akon', 'abc']
9.sort排序name = ['abc', 'akon', 'ak', 'cloris']>>> name['abc', 'ak', 'akon', 'cloris']

 

元组

 

 

字典

 

字典的创建>>> dic = dict(k1='v1',k2='v2')>>> dic{'k2': 'v2', 'k1': 'v1'}>>> dic2 = {'k3':'v3','k4':'v4'}>>> dic2{'k3': 'v3', 'k4': 'v4'}
字典常用方法
1.fromkeys方法>>> dic = dict(k1='v1',k2='v2')>>> dic2 = dic.fromkeys(['k1','k2'],'v10')>>> dic2{'k2': 'v10', 'k1': 'v10'}
2.get方法,获取指定key的值,如果key不存在,默认返回一个空,可以指定返回什么信息>>> dic = dict(k1='v1',k2='v2')>>> ('k1'))v1>>> ('k3'))None>>> ('k3','nothing'))nothing
3.items,keys,values方法>>> dic2 = {'k3':'v3','k4':'v4'}>>> dic2.items()[('k3', 'v3'), ('k4', 'v4')]>>> dic2.keys()['k3', 'k4']>>> dic2.values()['v3', 'v4']4.pop删除指定元素并返回元素的值>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}>>> dic.pop('k2')'v2'>>> dic{'k3': 'v3', 'k1': 'v1'}
5.popitem()方法,随机删除一个元素,并返回>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}>>> dic.popitem()('k3', 'v3')>>> dic{'k2': 'v2', 'k1': 'v1'}6.update方法,遍历字典key,如果存在则更新对应的value,如果不存在则创建并添加到字典中>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}>>> dic.update({'k3':'v33'})>>> dic{'k3': 'v33', 'k2': 'v2', 'k1': 'v1'}>>> dic.update({'k4':'v4'})>>> dic{'k3': 'v33', 'k2': 'v2', 'k1': 'v1', 'k4': 'v4'}7.setdefault方法,相当于往字典添加一个元素>>> dic = {'k1':'v1','k2':'v2','k3':'v3'}>>> dic.setdefault('k4','v4')'v4'>>> dic{'k3': 'v3', 'k2': 'v2', 'k1': 'v1', 'k4': 'v4'}

 

转载于:.html

本文发布于:2024-02-01 21:14:45,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679328539463.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:基础   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23