一:语法规则
1.缩进统一
2.标识符规则与c一样。首字母不能是数字,等等。
3.对大小写敏感。
4.python单行注释 #,多行注释三个单引号 ,例如:'''要注释内容''' 和 三个双引号 例如:"""要注释内容""".
二:python变量和数据类型
1.python中变量不需要声明,每个变量在使用前必须赋值,变量赋值后变量才会被创建。
变量语法·:
变量名 = 变量的值
例如:
2.变量的命名和使用
(1)变量名只能包含字母,下划线,数字,且不能以数字打头。
2.变量名不能包含空格,但是可以用下划线分隔单词
3.不能将关键字和函数名用作变量名
4.变量名应该具有简单的描述性。
5.慎用小写字母i和大写字母O
三:python中的数据类型
标准数据类型
python2中有六个标准数据类型:
*Number(数字)
*Srting(字符串)
*List(列表)
*Tuple(元组)
*Sets(集合)
*Dictionary(字典)
1.数字
python支持 Int,float,bool,complex(负数)
整数int
在python2里只有一种整数类型 int ,表示为长整形.
(2)浮点数 float
浮点数就是小数,之所以被称为浮点数,是因为按照科学计数法表示时,
一个浮点数的小数点位置是可变的,对于很大或很小的浮点数,就必须用科学计数法表示,1.23*10的9次方就是
1.23e9,或者12.3e8等等。
(3)
数值运算(注明 “/”在2 ,3版本中不一样,2和c一样,3可以自动转换)
但是可以用另一个"//"
取余
自认为比较方便的 “**” 乘方 L**3 L的三次方
(3)布尔值 bool
布尔值和布尔代数的表示完全一致,一个布尔值只有 True ,Flase 两种值,要么是True,要么是False
3.字符串
一串字符就是字符串,可以用单引号表示,也可以表示双引号。
如上图。可以用str()转换数字使python知道它是字符
4.列表(list)(python中使用最频繁地一个数据种类)
列表可以完成大多数集合类的数据结构的实现,列表中元素的类型可以不同,它支持数字,字符串甚至可以包含列表
所谓的嵌套。
列表写在方括号之间,用逗号分割开的元素列表
列表赋值及其取值
还有一个更骚的操作
将M里的输出两次 L *2
另加:Python内置的dir()函数是干什么用的,及使用方法是本文主要为大家讲解的内容。
dir()内置函数作用
python内置方法有很多,无论是初学还是经通python的程序员都不能全部记住所有方法,这时候dir()函数就非常有用了。使用dir()函数可以查看对像内所有属于及方法,在python中任何东西都是对像,一种数据类型,一个模块等,都有自己的属性和方法,除了常用方法外,其它的你不需要全部记住它,交给dir()函数就好了。
dir()函数使用方法
dir()函数操作方法很简单,只需要把你想要查询和对像添写到( )括号中就可以使用了。
例如你想查看列表都有哪些方法,你可以在( )中直接传入空列表对像[ ]或是一个列表数据类型的变量名,像下边这样操作:
>>>dir([ ])
或
x = ['a','b']
>>>dir(x)
两种操作方法所得结果一样,都是查看列表都有哪些操作方法及属性的。如果你想查字符串,只要把()中的参数变量名或空字符串' '就可以了。
如何用dir()函数查看模块属性和方法
要查看python某个模块可以干什么,先要导入模块,之后用上面讲过的方式查看就可以。比如要查看sys模块都可以干什么,可以像下边这样操作:
dir() 函数算得上是Python比较常用也很好用的一个函数。它返回包含要查询对象的所有属性名称的列表。
5.运算符
1.算术运算符
上面已写过
2.比较运算符
与c语言相同
3.赋值运算符
与c相似:
=,+=,*=,/=,%=,**=,//=;
在python中是可以使用连续赋值的方式来一次为多个变量进行赋值的,比如:
- 1
- 2
- 3
这些都可以完成变量的赋值,但是就有一个问题了,比如:
- 1
- 2
- 3
如果按照正常的思维逻辑,先进行a = 1,在进行b = a,最后b应该等于1,但是这里b应该等于3,因为在连续赋值语句中等式右边其实都是局部变量,而不是真正的变量值本身,比如,上面例子中右边的a,在python解析的时候,只是把变量a的指向的变量3赋给b,而不是a=1之后a的结果,这一点刚开始学python的人可能容易误解,再举一个Leetcode里链表的例子理解就更深了。
注意:
4.逻辑运算符
a为10,b为20;
(1)and 布尔"与",如果x为False,x and y返回false,否则它返回y的计算值。(a and b)返回 20
自我认为,与&&功能是一样的,当两边为真才为真,比方说:a为假,则直接假,a为真,b为假,仍为假。只有都真才为真
(2)or 布尔“或”,如果x是True,它返回True,否则它返回Y的计算值。 (a or b) 返回10
同上:两边一边为真则真,a真b假返回a,b真a假返回b。同时真返回第一个
not 布尔“非”,如果x为True,返回False,如果x为False,他返回True。not(a and b)返回 false。
其实就是取反
用比较时更容易理解
5.位运算符
Python语言中的按位运算
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
转载请注明出处和作者.
位操作是程序设计中对位模式或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算).
简单来说,字转按位运算就把数换为机器语言——二进制的数字来运算的一种运算形式。在计算机系统中,数值一律用补码来表示(存储)。
Python中的按位运算符有:左移运算符(<<),右移运算符(>>),按位与(&),按位或(|),按位翻转(~)。这些运算符中只有按位翻转运算符是单目运算符,其他的都是双目运算符。
按位与 &
举例:
3&5
解法:3的二进制补码是 11, 5的是101, 3&5也就是011&101,先看百位(其实不是百位,这样做只是便于理解) 一个0一个1,根据(1&1=1,1&0=0,0&0=0,0&1=0)可知百位应该是1,同样十位上的数字1&0=0,个位上的数字1&1=1,因此最后的结果是1.(这之后本来应该还有一步,因为我们现在得到的数值只是所求答案的补码,但是因为正数的补码即是它本身,所以就省略了。不过,下面的例子就不能省略最后这一步了).
-1&-2
-2&6
解法:-2的补码是11111110, 6的补码是110, 11111110&110,也就是11111110&00000110(这样写的目的是让初学者能够更好理解按位运算),按照上面的方法得到的结果是:110,转化位十进制就是6.
小技巧:利用按位与可以将任意二进制数的最后一位变为0,即就是X&0.
按位并 |
举例:
4|7
解法:按位并的计算规律和按位与的很相似,只不过换了逻辑运算符,并的规律是: 1|1=1 ,1 |0=1, 0|0=0. 4|7转换位二进制就是:100|111=111. 二进制111即为十进制的7.
方法: 对位相加,特别要注意的是不进位.
解释如下:
异或运算符(^)
参加运算的两个数据,按二进制位进行“异或”运算。
运算规则:0^0=0;
“异或运算”的特殊作用:
(1)使特定位翻转 找一个数,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可。
例:X=10101110,使X低4位翻转,用X ^ 0000 1111 = 1010 0001即可得到。
(2)与0相异或,保留原值 ,X ^ 0000 0000 = 1010 1110。
从上面的例题可以清楚的看到这一点。
-3^4解法: -3的补码是11111101,4的补码是100 (也即00000100),11111101^00000100=11111101,补码 11111101转为原码是1000111,即十进制的-7.
~ 举例: ~5 = -6 解释: 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110
按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了
解法:3的二进制是11, -(11+1)=-100B=-4D. (注:B和D分别表示二进制和十进制).
举例:
右移动运算符 >>
6.成员运算符
7.身份运算符(截图有误,仔细看)
8.运算符优先级