iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 基础篇(一)
  • 630
分享到

python 基础篇(一)

基础python 2023-01-31 01:01:44 630人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

默认的python的文件为:文件名.py #!/usr/bin/env Python   # coding=utf-8     对中文的支持(切记:等号两边没有空格)执行python 文件:[root@localhost Desktop]#


默认的python的文件为:文件名.py

#!/usr/bin/env Python   
# coding=utf-8     对中文的支持(切记:等号两边没有空格)
执行python 文件:
[root@localhost Desktop]# python test1.py

[root@localhost Desktop]# chmod +x test1.py
[root@localhost Desktop]# ./ test1.py

变量: 指向内存的一个符号
不同文件系统也是属于不同的类型   它作用于磁盘
python:强类型的动态语言  “变量可以替换,包括变量的类型”

数据类型分为两大类: 数字类型和字符串类型
>>> a = 1
>>> type(a)
<type 'int'>
>>> a= 'str'
>>> type(a)
<type 'str'>
不同的数据类型时不能做变换的
>>> a='hello'
>>> b= 'world'
>>> a+b
'helloworld'
同其他语言一样 在python中: 从高精度向低精度转换时会存在数据损失,在低精度向高精度转换时不会存在

程序=数据结构+算法
优先级: 单目>双目  (单目:! 双目运算符:+ - * / ;在python里面没有三目运算符)
算术运算符 > 位操作运算符>比较运算符>逻辑运算符  
算术运算符: + - * / %
位操作运算符: << >> & ^ | ~
比较运算符: < <= > >= !=
逻辑运算符:and or not 赋值=

() 优先级最大  赋值= 优先级最小

表达式:
除法运算:
>>> 10/3
3
>>> 10/3.0
3.3333333333333335
>>> 10.0/3
3.3333333333333335
幂运算:
>>> 2**4
16
除法取整运算:
>>> 10//3.0
3.0
>>> 10.0//3
3.0
>>> 10//3
3

取模运算:
>>> 10%3
1
>>> 10%3.0
1.0


按位与   &   全为真则为真
或      |   有一个为真则为真
异或     ^   有两个不同时则为真,相同时则为假


>>> 2<<3  00010 左移3位 10 000=2**4
16
>>> 2>>3  00010 右移三位出界则为零
0
>>> 3&2   按位与:11&10 => 10
2
>>> 3^2      异或: 11^10 => 01
1
>>> 3|2   按位或:11|10 => 11
3



程序结构:
if 语句   只能进入一个分支执行且执行完跳出     在if语句中只有一个 else  可有多个 elif
分支语句只有一个if
循环语句:while   for     break continue   且循环里面可以有else
while condition:
    expression
for item in  迭代器(列表,元组等)
    expression
break     退出整个循环体
continue  退出当前循环

python的内置容器有: 列表,元组,字典,集和,

>>> a= [1,4,5,'lo']    ##定义一个列表   列表中的元素没有要求 且列表可以嵌套
>>> type(a)           ##type() 查看类型
<type 'list'>

range() 得到一个列表
>>> range(0,2)
[0, 1]
>>> dir(a)    ##可以查看对于一个容器能够执行的操作  
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__fORMat__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

>>> help (a.count)   ##查看帮助
>>> a.append(3)    
>>> a
[1, 3, [1, 2, 3], 3]
>>> a.count(3)    ##统计某个数在列表中出现的次数
2
>>> a.extend(b)   ##将两个容器追加到一个当中
>>> a
[1, 3, [1, 2, 3], 45, 3, 'hello', 'world', 23]

>>> b.insert(2,45)   在所个下标前插入所给的数
>>> b
['hello', 'world', 45, 23]

>>> b.index(23)     返回该数的下标
3

>>> b.remove(45)   删除一个数
>>> b
[666, 'hello', 'world', 23]


>>> b=[1,23,24,13,24,44,]   ##pop 删除一个下标为几的数 并将该数返回
>>> b.pop()   
44
>>> b
[1, 23, 24, 13, 24]
>>> b.pop(2)
24
>>> b
[1, 23, 13, 24]

>>> b.reverse()  将列表中的数逆序显示出
>>> b
[24, 13, 23, 1]

>>> b.sort()    将列表中的数按照大小排列出来
>>> b
[1, 13, 23, 24]
>>> 23 in a     ##判断某一个元素在列表中
True

>>> a
[1, 3, 'lo', [1, 2, 3]]
>>> len(a)   ##得到列表长度
4
>>> del a[2]  ##del 删除列表中下表为几的元素
>>> a
[1, 3, [1, 2, 3]]


列表切片:  ##列表切片不会改变列表的本身,
li[a:b:c]  从下标a开始,到下标b结束,但不会包含b,c表示为布长
>>> a
[1, 3, [1, 2, 3], 45, 3, 'hello', 'world', 23]

>>> a[1:7]
[3, [1, 2, 3], 45, 3, 'hello', 'world']

>>> a[:6]
[1, 3, [1, 2, 3], 45, 3, 'hello']
              
>>> a[:: -1]     ##实现逆序显示一个列表:
[23, 'world', 'hello', 3, 45, [1, 2, 3], 3, 1]

###
>>> a
[1, 3, [1, 2, 3], 45, 3, 'hello', 'world', 23]
>>> a1=a[:]
>>> a[2][1]=100
>>> a
[1, 3, [1, 100, 3], 45, 3, 'hello', 'world', 23]
>>> a1
[1, 3, [1, 100, 3], 45, 3, 'hello', 'world', 23]
#######注意: 列表赋值相当于引用 它与切片赋值不一样
>>> l2
[4, 5, 6]
>>> l5=l2
>>> id(l2)
11948832
>>> id(l5)
11948832
>>> l6=l2[:]
>>> id(l6)
11948976
 
 


元组: 元组是不可改变的对象,不能对元组的内容作修改。
>>> c=(1,23,45)
>>> type(c)
<type 'tuple'>

根据元组的不可改变的性质,元组只能执行:count,index 的操作,且元组支持下标和切片。
>>> c
([1.23, 34, 'hello'], [34, 54])
>>> c[0][2]=230
>>> c
([1.23, 34, 230], [34, 54])
表明了元组的不可改变是相对的。

集和:
>>> c
set([32, 1, 2, 'kitty', 21])      ##定义一个集和   
>>> type(c)
<type 'set'>

>> a = set()    ##定义一个空集和
>>> type(a)
<type 'set'>

>>> c={}      ##定义出来的为字典
>>> type(c)
<type 'dict'>


集和保持着数学中的集和性质: 无序性, 唯一性,
>>> d={1,3,1,2,'kitty',23,1,'hello'}
>>> d
set([1, 2, 3, 'kitty', 23, 'hello'])
集和不支持切片
>>> c.add(100)     ##集和元素的添加
>>> c
set([32, 1, 2, 100, 'kitty', 21])
>>> c.update([12,'world',78])    ##增加一个集和
>>> c
set([32, 1, 2, 100, 12, 'kitty', 78, 21, 'world'])


>> c.remove(12)     ##删除集和中一个元素   但该元素在集和中不存在时报错
>>> c
set([32, 1, 2, 100, 'kitty', 78, 21, 'world'])
>>> c.remove(43)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 43

>>> c.discard(43)    ##删除一个元素,没有该元素时不执行任何操作。
>>> c
set([32, 1, 2, 100, 'kitty', 78, 21, 'world'])

>>> c.pop()      ##随机的删除集和中的某个元素。
2
>>> c         ##清除某个集和
set([100, 'kitty', 78, 21, 'world'])
>>> c.clear()
>>> c
set([])
集和的运算:
差集:difference   ##求出差集    a-b
     difference_update    ##求出差集,但修改了原来的集和,不返回值
>>> c
set(['world', 2, 1, 45, 23])
>>> d
set([1, 2, 3, 'kitty', 23, 'hello'])
>>> c.difference(d)
set(['world', 45])
>>> c.difference_update(d)
>>> c
set(['world', 45])

交集:intersection
     intersection_update    
    &
>>> c.intersection(d)
set([1, 2, 23])
>>> c.intersection_update(d)
>>> c
set([1, 2, 23])
>>> c&d
set([1, 2, 23])

并集:uNIOn |
>>> c.union(d)
set([1, 2, 3, 'kitty', 45, 23, 'world', 'hello'])
>>> c|d
set([1, 2, 3, 'kitty', 45, 23, 'world', 'hello'])

判断是否有交集:isdisjoint 查看两个集和是否有交集,返回的为布尔值
>>> c
set(['world', 2, 1, 45, 23])
>>> d
set([1, 2, 3, 'kitty', 23, 'hello'])
>>> c.isdisjoint(d)
False
>>> e={'lll',666}
>>> c.isdisjoint(e)
True

容器之间的转换:
元组与列表:
>>> t=(1,2,3)
>>> type(t)
<type 'tuple'>
>>> list(t)
[1, 2, 3]
>>> t1.append(24)
>>> t1
[1, 2, 3, 'hello', 24]
>>> t
(1, 2, 3, 'hello')



>>> t=tuple(t1)
>>> t1
[1, 2, 3, 'hello', 24]


列表与集和的转换
>>> l=[1,22,23,'hello']
>>> a=set(l)
>>> a
set([1, 'hello', 22, 23])
>>> a.add(45)
>>> a
set([1, 45, 'hello', 22, 23])
>>> l
[1, 22, 23, 'hello']
>>> l=list(a)
>>> l
[1, 45, 'hello', 22, 23]
>>> p=set(t)
>>> p
set([24, 1, 2, 3, 'hello'])

set,list,tuple,三个函数可以转换,但是由于集和的性质,在list或tuple转换成set时,有重复的元素,则进行删除。

字典:
d=dict();  d=("key":"value")
d 中key值是可hash 的。key是唯一的
>>> d
{'age': 100, 'name': 'tom'}

>>> d.keys()
['age', 'name']

>>> d.values()
[100, 'tom']

>>> it= d.iterkeys()   iterkeys 将字典的所有key作为一个迭代器返回
>>> it.next()
'age'
>>> it.next()
'name'

>>> it2=d.items()    items返回一个列表, 并用元组的形式成对输出
>>> it2
[('age', '23'), ('name', 'tom')]

>>> for i in d.keys():
...     print i,d[i]
...
age 23
name tom

>> for k,v in d.items():
...     print k, v
...
age 23
name tom
>>> d['sex']=2   ###给字典增加一个值
>>> d
{'age': '23', 'name': 'tom', 'sex': 2}

#############注意:引用传值与复制的区别:
>>> d
{'age': '23', 'name': 'tom', 'sex': 2}
>>> d1=d
>>> d1['age']=66
>>> d1
{'age': 66, 'name': 'tom', 'sex': 2}
>>> d
{'age': 66, 'name': 'tom', 'sex': 2}
>>> d2=d.copy()
>>> d2
{'age': 66, 'name': 'tom', 'sex': 2}
>>> d2['age']=99
>>> d2
{'age': 99, 'name': 'tom', 'sex': 2}
>>> d
{'age': 66, 'name': 'tom', 'sex': 2}
>>> id(d)
9777488
>>> id(d1)
9777488
>>> id(d2)
10605344

列表解析:
>>> li=[1, 2, 3, 4, 5]
>>> li1=[ i+1 for i in li]
>>> print li1
[2, 3, 4, 5, 6]


>>> l1=[1,2,3]
>>> l2=[4,5,6]
>>> l3=(i+1 for i in l1)
>>> l3
<generator object <genexpr> at 0x9b60f0>     ##返回的是一个迭代器
>>> l3.next()
2
>>> l3.next()
3
>>> l3.next()
4
迭代器(iterator):执行一次给一次结果《被动的》(他不相当于循环《主动的》) 它是一个惰性的



--结束END--

本文标题: python 基础篇(一)

本文链接: https://www.lsjlt.com/news/183880.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 基础篇(一)
    默认的python的文件为:文件名.py #!/usr/bin/env python   # coding=utf-8     对中文的支持(切记:等号两边没有空格)执行python 文件:[root@localhost Desktop]#...
    99+
    2023-01-31
    基础 python
  • python之基础篇(一)
    防伪码:忘情公子著一、python介绍  python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。  python语法简洁明晰,特色之一是强制用空白符...
    99+
    2023-01-31
    基础 python
  • Python学习基础篇(一)
    Python简介和入门Python简介走进Pythonpython的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一...
    99+
    2023-01-31
    基础 Python
  • Python基础篇-Python基础语法
    为什么学习pythonhttp://www.apelearn.com/bbs/thread-7739-1-1.html Python的安装 getconf LONG_BIT     查看系统版本多少位 rpm -q python uname...
    99+
    2023-01-31
    基础 语法 Python
  • python之基础篇(二)
    防伪码:忘情公子著一、面向过程与面向对象  面向过程:    以指令为中心,由指令去处理数据    只要考虑如何组织代码去解决问题  面向对象:    以数据为中心,所有的处理代码都围绕数据展开    要考虑如何设计数据结构组织数据,并且提...
    99+
    2023-01-31
    基础 python
  • python之基础篇(四)
    防伪码:忘情公子著本篇我们来说说python的内置对象类型及其运算。  python有许多的内置类型,我们为什么要使用内置类型呢?python编程时是尽量去使用自定义类型还是尽可能多的使用内置类型呢?  内置类型对python本身来讲它的理...
    99+
    2023-01-31
    基础 python
  • python之路-基础篇
    python基础第一章1、python介绍python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。  ...
    99+
    2023-01-31
    之路 基础 python
  • python之基础篇(三)
    防伪码:忘情公子著python编程基础及编程风格:  语句和语法    注释:      #:可以从一行的任何地方开始    续行:      \:只能在行尾      ''':闭合操作符,单一语句跨多行。实现多行注释、内置文档等功能   ...
    99+
    2023-01-31
    基础 python
  • python之路,Python基础篇2(
    一、.pyc是个什么鬼: pyc文件其实是PyCodeObject的一种持久化保存方式。 二、数据类型 1、数字: 2 是一个整数的例子。 长整数 不过是大一些的整数。 3.23和52.3E-4是浮点数的例子。E标记表示10的幂...
    99+
    2023-01-31
    之路 基础 python
  • Python之路,Python基础篇(第
    一、Python介绍: python的创始人为吉多·范罗苏姆(Guido van Rossum),俗称龟叔。在圣诞节期间为打发无聊而开发得语言。 Python是一门什么语言: Python是一门解释性的语言 Python的优缺点: Py...
    99+
    2023-01-31
    之路 基础 Python
  • python之路-基础篇3
    作业:1、每周写一篇博客2、编写登录接口     输入用户名密码     认证成功后显示欢迎信息     输错三次后锁定3、多级菜单     三级菜单     可依次选择进入各子菜单     所需新知识点:列表、字典data = { "水...
    99+
    2023-01-31
    之路 基础 python
  • python之路-基础篇2
    10、if else 流程判断举例说明1:import getpass  #引用getpass这个模块 _username = "kk" _password = "123456" username = input("username:") ...
    99+
    2023-01-31
    之路 基础 python
  • python之路,Python基础篇3
    1、set 无序,不重复序列、可嵌套 2、函数 ==》 定义函数,函数体不执行,只有调用函数时,函数体才执行 1、def 2、名字 3、函数体 4、返回值 5、参数 普通参数 指定参数 默认参数 动态参数 ...
    99+
    2023-01-31
    之路 基础 python
  • python之路-基础篇5
    1、字符串常用操作#字符串操作 name = "my name is kk" print(name.capitalize())   #>>>My name is kk #capitalize()  #首字母大写 pri...
    99+
    2023-01-31
    之路 基础 python
  • Python面试题 基础篇
    最近,整理了一些python常见的面试题目,语言是一种工具,但是多角度的了解工具能帮助我们更好的工作。 从很多国内网站以及一些国外论坛翻译过来的,虽然本文标注为"原创",但是仅仅是自己日常整理的材料,文章后面会附上参考来源。 第一部分:...
    99+
    2023-01-31
    面试题 基础 Python
  • python基础篇--python脚本头
    在python开发的过程中,脚本开头非常重要。 第一行:告诉操作系统python装在哪里(是通过env中查询,然后再调到对应的解析器完成运行)。 第二行:是声明文件的编码格式以utf-8. 其他则为这个文件信息,和脚本内容 #!/usr/...
    99+
    2023-01-31
    脚本 基础 python
  • [Python]学习基础篇:字典
    字典字典这个数据结构的功能和它的名字一样,根据key得到value值。字典的定义 方法: dict={‘key1’:value1,’key2’:value2……..} 对于字典,key值在字典中不能重复,若出现重复,将更改原有的key对应的...
    99+
    2023-01-31
    字典 基础 Python
  • 一篇文章带你了解python字典基础
    目录1. 字典基础知识字典的基本格式表示字典的键、值设置要求1)键的设置要求2)值的设置要求2. 字典元素增加1.利用赋值给字典增加元素2.利用setdefault()方法给字典增加...
    99+
    2024-04-02
  • 一篇文章带你了解python异常基础
    目录1. 程序中的问题1.1 低级语法错误1.2 中介错误:代码存在隐性错误1.3 高级错误:软件面对不确定性的异常错误2. 捕捉异常2.1 基本异常捕捉语句2.2 带finally...
    99+
    2024-04-02
  • python基础篇之bool类型
    Python中布尔类型 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True。 True and T...
    99+
    2023-01-31
    类型 基础 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作