python基本语法笔记(完结)

2024-05-12 17:18

本文主要是介绍python基本语法笔记(完结),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.python的文件类型有三种分别是源代码,字节代码和优化代码,源代码扩展名是py,python语言的代码可以不需要编译成二进制代码直接运行源代码;字节代码扩展名是pyc,是编译过的字节文件,具有平台无关性;经过优化的源文件生成扩展名为pyo的文件。pyc和pyo文件都不能通过文本编辑工具打开和修改。

2.python使用冒号和代码缩进来区分代码的层次,最佳的代码缩进长度是4个空格。当程序出现错误的时候有可能就是因为代码缩进出现了错误

3.模块导入有两种方式,

第一种是import 语句导入模块中的所有,,

import  sys

print sys.path

第二种是from。。import。。语句导入模块中的一部分

from sys import path

print path

4.python 中的分号可以省略,使用换行来识别语句的结束。要在一行中写多条语句就必须要使用分号分隔开,分号不是python推荐的使用的语句结束的符号,最好是直接换行结束语句

5.一条语句写在多行

string="shixiaotian\

xiaoningyuan\

love"或者

string="shixiaotian"\

"xiaoningyuan"\

"love"

6.变量名可以是字母数字下划线的组合 但是首字符必须是字母和下划线

7.p'ython中的变量不需要声明,变量的赋值就是声明和定义的过程,可以给多个变量同时赋值(x,y,z)=(1,2,3)

8.python创建的变量就是一个对象,python会管理变量的生命周期,对变量的回收采用的也是垃圾回收机制

9.定义了全局变量之后,引用全局变量要使用global关键字 之前定义了一个全局变量a=2,现在需要引用和修改 global a=3

10.python中并没有定义常量的关键字,但是可以自己实现

class _const:

    class constError(TypeError):pass

    def __setattr__(self,name,value):

        if self.__dict__.has_key(name):

            raise self.constError,"can not rebind const"

        self.__dict__[name]=value

import sys

sys.modules[_name_]=_const()     最后这两行的意思是将const注册到sys.modules这个全局字典中

定义一个常量:

import const

const.magic=20

11.数据类型包括数字,字符串,元组,列表和字典

12.数字类型和java基本一样,还特殊支持复数7+8j。python中的浮点型只有双精度

13.在python中所有的变量其实都是对象,如下定义的变量a,修改a的时候其实本质是又定义了一个变量

a=10

print a

a=20

print a

14.python中标识字符串类型的方式有三种,单引号,双引号,三引号。单引号和双引号的作用是一样的,三引号比较厉害了,三引号中可以出入单引号,双引号和换行符。三引号还能制作文档字符串,python中每一个对象都有一个__doc__属性,这个属性用来描述对象的作用

class  hello:

    '''hello class'''

    def printhello(self):

        '''''print hello class'''

        print "this is hello class"

print hello.__doc__                          

print hello.printhello.__doc__

15.特殊符号的输出需要转移字符print ' he\'s  apple',但是使用双引号和三引号可以直接输出含有特殊字符的字符串不需要使用转义符print '''he's apple'''

16.python 中运算符使用和java一样,特殊的幂运算2的三次幂,2**3

17.python中的关系运算也和java一样,但是类似12<=a<=18也是支持的

18.python的逻辑运算使用and,or,not

19.运算的优先级肯定是算术运算大于关系运算大于逻辑运算

20.python中的控制台输入有两种,input()和raw_input(),前者支持输入数字和表达式不支持字符串,后者捕获用户的原始输入,返回的是字符串,输入的是数字返回的还是字符串,需要用int()转换成数字。括号中用来显示输入时候的提示信息。

x=input("x=")

print x

y=raw_input(''x='')

print y

numbers=raw_input(''输入5个数字用逗号隔开: '').spilt(",")

print numbers

21.python中的if语句和java很相似,但是条件语句中并没有switch语句,可以用字典来实现,但是并不推荐这种做法。

22.while..else..循环语句,当条件真的时候执行while循环内部的片段,当条件不成立之后执行else中的片段

23.range函数返回一个递增或者递减的数字列表,range(5,-1,-1)返回一个列表[5,4,3,2,1,0],最后一个参数是步长,默认是1。和range相比和有xrange,基本用法和参数是一样的,不同的是,range直接返回一个列表,但是xrange返回的是一个xrange对象,通过对象得到各个值。

x=xrange(0,10)

print x      结果是xrange(10)

print  x[0]     0

print  x[5]      5

24.for...in...循环语句,for x in range(1,10)  也有for...in....else..语句和22中的意义一样

25.break的含义和java中相同,continue也和java相同

26.python内置的数据结构有四种,元组,列表,字典和序列

27.元组创建的时候多有元素包含在一对圆括号中,,创建的时候可以不指定元素的个数,相当于不定长数组,但一旦创建之后就不能修改元组的长度。test=("aaa","bbb","ccc","dddd"),当一个元组只有一个元素的时候test=("aaa",)不要忘了那个逗号,要不然python解释器无法识别这个元组,以为是一个表达式。空元组test=()。元组的索引是从0开始的,因此获取元组的一个元素的时候为test[0],依此类推,其他的数据结构也是同样的。元组创建之后元素的值是不能修改的,也不能添加或者删除元素。

28.python中有两个索引的特殊用法,负数索引和分片索引。

29.负数索引从元组的尾部开始计数,最后一个元素的索引是-1,倒数第二个是-2,test[-1],test[-2]

30.分片索引格式为test[a:b],意思是a到b之间的元素,包含a,不包含b。a,b可以是0,正整数或者负整数。test[1:5]输出从第二个到第五个元素组成的元组,test[1:-1]那就是第二个元素到倒数第二个元素

31.二元元组,test((a,b),(c,d))访问的时候test[x][y],可以理解成是二维数组

32.元组的创建过程叫做打包,还可以执行解包,将元组的各个元素分别赋值给多个变量a,b,c,d=(1,2,3,4)

33.对二元元组的遍历小代码:

test=((''a'',''b''),(''aa'',''bb''),(''aaa'',''bbb''),(''aaaa'',''bbbb''))

for i in range(len(test)):

    print ''test[%d]: ''% i,

    for j in range(len(test[i])):

        print test[i][j]

    print

34.列表是很重要的一种数据类型,通常作为函数的返回类型,列表和元组相似,也是一组元素形成,但是列表可以添加删除和查找操作,元素的值可以被修改。

35.列表的创建,test[''a'',''aa'',''aaa''],列表的添加使用append(object),添加新元素到列表的尾部,添加的对象可以是元组,列表,字典或任何对象,列表的删除调用remove(value),删除value元素,如果元素不存在将出现异常。

test[''a'',''aa'',''aaa'']

test.append(''b'')

test.insert(1,''bb'')  在指定的位置添加元素,此处索引是1,就是第二个元素的位置

test.remove(''a'')

print test.pop(0)   弹出第一个元素,并返回这个元素,输出a

36.remove删除列表中的元素的时候,如果该元素有多个,那么只能删除位置靠前的那一个

37.列表的使用和元组的使用很相似,同样支持负数索引,分片索引,多元列表等特性,但是列表的元素是能修改的,有一个处理列表的方法。

38.列表的连接,一种是调用extend()连接两个不同的列表,另一种是使用运算符+或者+=。

list1=[''a'',''b'']

list2=[''c'',''d'']

list1=list1+list2    

list1.extend(list2)

list2+=[''cccc'']*2    连接了两个同样的列表

39.list.index(value)返回value元素在列表中的位置,list.sort()对列表进行排序,默认是首字母升序,降序为sort(reverse=True),list.reverse()实现序列的颠倒

40.字典是一系列键值对组成的集合,用逗号隔开,包含在一堆大括号中test={"a":"shixiaotian","b":"xiaoningyuan"}。字典元素的value值可以是很多数据类型,还可以是元组,列表和字典等。字典的访问test[''a''],创建一个空的字典就是test={}。代码中书写的字典的中元素的顺序并不是实际存储的顺序,字典将更具元素的hashcode值进行存储。字典的键是区分大小写的,同时还可以采用数字作为键。

41.print输出字典,print ''%s,%(a)s,%(b)s''% {''a'':''apple'',''b'',''banana''}。最后输出的结果是{''a'':''apple'',''b'',''banana''},apple,banana。在代码中%s输出字典原型内容,%(a)s输出字典中对应的key值a的value,下一个同理。

42.

haha={a':'shixiaotian','b':'xiaoningyuan'}
haha['love']='ilovoyou'    创建一个元素
print haha                      输出三个元素的字典
del(haha['love'])             删除对应的元素
print haha
print haha.pop('a')        删除一个指定元素
print haha
haha.clear()                 清空字典

43.字典的遍历

haha={'a':'shixiaotian','b':'xiaoningyuan','love':'ILoveYou'}
for k in haha:
print '%s,%s'%( k ,haha[k])

#输出结果是 a,shixiaotian
# b,xiaoningyuan
# love,ILoveYou

print haha.items()                            #输出了一个列表,列表元素为元组 [('a', 'shixiaotian'), ('b', 'xiaoningyuan'), ('love', 'ILoveYou')]
for k,v in haha.items():
print '%s,%s'% (k,v)     输出结果和上面的循环输出一样


print haha.iteritems()        #这三行返回的结果是一样的,都是返回了字典的遍历器对象,
print haha.iterkeys()          #具体的遍历方式是如下
print haha.itervalues()      #<dictionary-itemiterator object at 0x0000000002D89EA8>

for k,v in haha.iteritems():
print '%s,%s' % (k,v)
for k,v in zip(haha.iterkeys(),haha.itervalues()):
print '%s,%s' % (k, v)        上面两个循环返回的结果是一样的

44.字典的方法dict.keys()返回字典的key组成的列表,dict.values()返回字典value组成的列表,dict.get('c','apple')访问字典中的元素,如果key值为c的元素存在,那么直接返回其value值,如果不存在返回预设值apple。dict1.setdefault('a','mm')给字典添加一个元素&

这篇关于python基本语法笔记(完结)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/983244

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',