学习笔记_58 python语法基础
1.python是解析型语言。
有点像javaScript在html运行一样,不需要mian函数入口,随时随地定义函数,执行函数,
执行语句,定义类型
2.python能面向对象
3.python使用地址计数器,如
a = 1
b = 1
ida = id(a)
idb = id(b)
ida是等于idb的,就是说他们的内存地址一致,指向1这个int变量
3.del语句可以直接释放资源,变量名删除,引用计数减1,
如 2 中,1这个int实际上是由a和b引用的,,即“1”由两个引用,del a ,则将a这个变量注销,然后1这个int的地址计数-1;
*如果del a 后,还使用a作为赋值,输出等,会引发错误。
*python有垃圾回收,如果地址计数为0,那么内存可能会被回收。
4.如果想要在python中使用中文字符,要
#coding=utf-8 //类似于xml文件的enconding
5.python注释使用#,不是//或/**/
6.函数定义
def add(x,y):
z =x+y
return z
def add2(x,y):
z =x+y
return z
调用
res = add(8,5)
//不需要 ; 不需要{}来包括函数体 ,不需要声明变量类型,不需要声明形参类型
需要严格的缩进来维护一个语句块,需要使用:
8.如果函数内,要改变全局变量的值,要使用global关键字,如:
def changeNum():
global num
num = 8
num=10
changeNum()
print num
#num此时是8了
10 a**b表示 a的 b次幂
#如果b的数值很大,python依然能输出来,不想其他语言,对数值大小有限制
11 判断a和b是否为同一对象,使用
a is b 或 a is not b ,c#为 a.equals(b) ,返回类型都为bool
**********三元运算 result = 值1 if 条件 else 值2 ,C# a = 条件?值1:值2
12
if a>b:
#aaaa
elif a==b:
#bbb
else:
#ccc
13.
while a!=b:
#xxxxx
14.
python 输入函数:
myname = raw_input("请输入您的名字:")
#这样,在控制台中,就能显示"请输入您的名字:",并且赋值到
myname变量当中
15.
for a in "aaaaa":
print a
for i in range(10)
#相当于 for(var i=0;i<10;i++)
16.
列表:list = [1,2,3,4]
list = [i+1 for i in range(10)] #特别适合初始化数组
list = map(lambda x:x+1, list) #通过map函数,和lambda x:x+1这个匿名函数,给list初始化
#相当于list<int>, 不同的是,可以del list[1] ,来删除列表中的"2",
这样列表就剩3个元素了
使用 list.Append(5)来追加元素
*****可以使用list.Append("aaaa"),来追加到里头,即使里面都是int类型的也行
****可以list.Append([2,3,6]),[2,3,6]作为其中一个元素
使用以下方法,达到C# 的list.Count, list.AddRange , list.Contains,



17.元组 --只读的列表
a = (1,2,3)
#元组是不能修改的,不能对里面的元素重新赋值
a[1] = 1 会报错
18 字典
dic ={"a":1,"b":2,"c":3} ,有点像json数据
keys = dic.keys()
values = dic.values()
value=dic["bb"]
//遍历
for key in dic:
print dic[key]
//删除元素
del dic["aa"]


18. 假如有aa .py
def method1:
#todo
def method2:
#todo
if __name__=='__main__'
#这句话的意思是,如果用python解析器直接执行这个文件,那么__name__就是__main__,这段代码就会被执行;如果是被import的话,这个__name__就是包名,所以这样写,可以单独为每个文件做调试
#todo
学习笔记_58 python语法基础的更多相关文章
- [Python学习笔记1]Python语言基础 数学运算符 字符串 列表
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
- Python Web学习笔记之Python多线程基础
多线程理解 多线程是多个任务同时运行的一种方式.比如一个循环中,每个循环看做一个任务,我们希望第一次循环运行还没结束时,就可以开始第二次循环,用这种方式来节省时间. python中这种同时运行的目的是 ...
- JavaSE 学习笔记之Java语法基础(二)
1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- 【学习笔记】JavaScript的基础学习
[学习笔记]JavaScript的基础学习 一 变量 1 变量命名规则 Camel 标记法 首字母是小写的,接下来的字母都以大写字符开头.例如: var myTestValue = 0, mySeco ...
- Noah的学习笔记之Python篇:装饰器
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 2
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 1----------------- ...
随机推荐
- redis常用笔记(第一版)
1.SINTER 说明:多key之间取交集数据 key1 = {a,b,c,d} key2 = {c} key3 = {a,c,e} SINTER key1 key2 key3 = {c} 2.sad ...
- 前端深入之css篇|你真的了解“权重”吗?
写在前面 权重这个概念,相信对许多进行过前端开发的小伙伴来说肯定并不陌生,有时候一个样式添加不上,我们就会一个 !important 怼上去,一切就好像迎刃而解了.但还有的时候,!important也 ...
- 自动下载zar配置管理
maven 下载: https://maven.apache.org/ 官网 download 下载:Binary zip archive apache-maven-3.6.2-bin.zip 免安装 ...
- <<Java并发编程的艺术>>-阅读笔记和思维导图
最近在坚持每天阅读<>,不但做好笔记(MarkDown格式),还做好思维导图. 如果大家感兴趣,可以可以到码云上阅读笔记和到ProcessOn上阅读思维导图. 码云:https://git ...
- 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )?
线程调度器是一个操作系统服务,它负责为 Runnable 状态的线程分配 CPU 时间. 一旦我们创建一个线程并启动它,它的执行便依赖于线程调度器的实现.同上一个问题,线程调度并不受到 Java 虚拟 ...
- MySQL8安装及使用当中的一些注意事项
前言 这两天构建新项目,在本地安装的mysql8(本地环境windows),期间忘了密码,又卸载重装了一番,然后捣鼓了一顿授权给别人访问,最后磕磕绊绊的搞好了,下面是在这过程中遇到的问题及解决办法小结 ...
- LeetCode_933-Number of Recent Calls
求最近3000毫秒内有多少次调用请求,每一次ping的时间一定比上一次的时间高:解法可以判断最后面一个数t1与最前一个数t2的差不大于3000毫秒,如果大于就直接舍弃,t1与t2之间的个数就是请求次数 ...
- metasploit(MSF)渗透平台命令大全
转自互联网 记录以备后用 show exploits 列出metasploit框架中的所有渗透攻击模块. show payloads 列出metasploit框架中的所有攻击载荷. show auxi ...
- 【Java必修课】ArrayList与HashSet的contains方法性能比较(JMH性能测试)
1 简介 在日常开发中,ArrayList和HashSet都是Java中很常用的集合类. ArrayList是List接口最常用的实现类: HashSet则是保存唯一元素Set的实现. 本文主要对两者 ...
- Python开发【第九篇】字典
字典 字典是一种可变的容器,可以存储任意类型的数据 字典中的每个数据都是用键进行索引,而不像序列容器(str,list,tuole)可以用整数进行索引 字典中的数据没有先后顺序,字典的存储是无序的 字 ...