python入门

一:语法规则

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()函数是干什么用的,及使用方法是本文主要为大家讲解的内容。

python dir函数使用方法

dir()内置函数作用

python内置方法有很多,无论是初学还是经通python的程序员都不能全部记住所有方法,这时候dir()函数就非常有用了。使用dir()函数可以查看对像内所有属于及方法,在python中任何东西都是对像,一种数据类型,一个模块等,都有自己的属性和方法,除了常用方法外,其它的你不需要全部记住它,交给dir()函数就好了。

dir()函数使用方法

dir()函数操作方法很简单,只需要把你想要查询和对像添写到( )括号中就可以使用了。

例如你想查看列表都有哪些方法,你可以在( )中直接传入空列表对像[ ]或是一个列表数据类型的变量名,像下边这样操作:
>>>dir([ ])

x = ['a','b']
>>>dir(x)
dir函数操作方法
两种操作方法所得结果一样,都是查看列表都有哪些操作方法及属性的。如果你想查字符串,只要把()中的参数变量名或空字符串' '就可以了。

如何用dir()函数查看模块属性和方法

要查看python某个模块可以干什么,先要导入模块,之后用上面讲过的方式查看就可以。比如要查看sys模块都可以干什么,可以像下边这样操作:
dir()查看模块内置方法

dir() 函数算得上是Python比较常用也很好用的一个函数。它返回包含要查询对象的所有属性名称的列表。

5.运算符

1.算术运算符

上面已写过



2.比较运算符

与c语言相同



3.赋值运算符

与c相似:

=,+=,*=,/=,%=,**=,//=;


在python中是可以使用连续赋值的方式来一次为多个变量进行赋值的,比如:

a = b = c = 1
a, b, c = 1, 1, 1

 
 
  • 1
  • 2
  • 3

这些都可以完成变量的赋值,但是就有一个问题了,比如:

a = 3
a, b = 1, a

 
 
  • 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语言中的按位运算

原创  2011年07月27日 21:04:31

   本作品采用知识共享署名-非商业性使用-相同方式共享 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

                   解法:-1的补码是11111111,  -2的补码是11111110, 11111111&11111110得到的结果是:11111110,这个是补码,再转化位原码为100000010 (负数转换位原码的方法是减一取反)  (也有另一种说法,取反加一,尝试过,都可以),最后转换为十进制是 -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.

         小技巧:利用按位并可以将任意二进制数的最后一位变为1,即就是X|1.

        

         按位异或    ^

          方法:  对位相加,别要注意的是不进位. 

解释如下:

异或运算符(^)

参加运算的两个数据,按二进制位进行“异或”运算。

运算规则:0^0=0;   0^1=1;   1^0=1;   1^1=0;

   即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

 

“异或运算”的特殊作用:

(1)使特定位翻转 找一个数,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可。

例:X=10101110,使X低4位翻转,用X ^ 0000 1111 = 1010 0001即可得到。

 

(2)与0相异或,保留原值 ,X ^ 0000 0000 = 1010 1110。

从上面的例题可以清楚的看到这一点。

     

          举例: 

                   2^5

                   解法:10^101=111,二进制111得到十进制的结果是7.
                   

                   1^1

                   解法:1+1=0.(本来二进制1+1=10,但不能进位,所以结果是0) 

                   -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就出错了


          方法:     将二进制数+1之后乘以-1,x的按位翻转是-(x+1) . 注意,按位运算符是单目运算符.  -9 ,  1+~4是正确的,5~3就不对了.

          举例:
                  ~3

                  解法:3的二进制是11, -(11+1)=-100B=-4D. (注:B和D分别表示二进制和十进制).

                  ~-2

                   解法:   -  (-10+1)  =1

       左移运算符  << 

           

           方法:    X<<N 将一个数字X所对应的二进制数向左移动N位.

           举例:

                 3<<2
   
                 解法:11向左移动两位变为1100,即12 .

        右移动运算符  >>

             

           方法:    X>>N 将一个数字X所对应的二进制数向右移动N位.

             

           举例:

 
         
                       3>>2
   
                       解法:11向右移动两位变为0.

                        10>>1
          
                        解法:10的二进制是1010,向右边移动一位是101,即5.
     
                                                

          

              

        


6.成员运算符


7.身份运算符(截图有误,仔细看)


8.运算符优先级

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值