本文是第一篇,共四篇打下Python基礎
python中數有四種:整數、長整數、浮點數和複數。
#字串(字元的序列)
'\'
u"this is an unicode string"
。字串是不可變的。標識符的命名
第一個字元必須是字母表中字母或底線'_'。標識符的其他的部分有字母、數字和底線組成。標識符對大小寫敏感。1.4 物件
python程式中用到的任何「東西」都成為「物件」。1.5 邏輯行和物理行
count = 5print ( "count" )复制代码###與下面的語句等同:###
count = 5;print ( "count" );复制代码###當然也可以寫成下面這種:###
count = 5 ; print ( "count" );复制代码# ##甚至可以寫成這樣:###
count = 5 ; print ( "count" )复制代码###我們使用###\###的換行###
print \ ("Runsen")复制代码###1.6 縮排######空白在python是非常重要的,行首的空白是最重要的,又稱為縮排。行首的空白(空格和製表符)用來決定邏輯行的縮排層次,從而決定語句。###
#運算子 | 名稱 | 範例 |
---|---|---|
兩個物件相加 | 加法,如3 5得到8,字元也可以相加'a' 'b'得到'ab' | |
- | 一個數減去另一個數 | #5 - 2得到3 |
* | 乘 兩個數字相乘或是回傳一個重複若干次的字串 | 2 * 3得到6,'a' * 3得到'aaa' |
** | #冪 返回x的y次冪 | 3 ** 4得到81(即3 * 3 * 3 * 3) |
/ | 除 x除以y | 4/3得到1(整數的除法得到整數結果)。 4.0/3或4/3.0得到1.3333 |
// | 取整除 返回商的整數部分 | 4 // 3.0得到1. |
% | 取模 傳回除法的餘數 | 8%3得到2。 -25.5%2.25得到1.5 |
<< | 左移,把一個數的二進位左移一定數目,也就是在右邊補多少個0, | 如 2 << 2得到8,二進位10變成1000 |
>> | 右移 把一個數的位元向右移一定數目,也就是在右邊刪除位數 | 10>>2得到2,二進位1010變成10,直接刪除後面2位 |
& | 按位與 | 數的位元與 9 & 13得到9,二進位1001&1101,變成1001,兩個值對應的位置都為1,那麼這個結果就是1,不然就是0 |
| | 按位或 | 數的位元或 5 | 3得到7。二進位101&11,變成111,如果兩個值對應的位置有一個是1,那麼該結果就是1,也就是如果都是0,該結果就是0,101和11沒有都是0,所以111 |
^ | 按位異或 | 數的位元異或 5 ^ 3得到6,二進位101&11,變成110,兩個值對應的位置相同,那麼該結果就是0,也就是如果都是0或都是1,該結果就是0,101和11,第一個都是1,所以110 |
~ | 按位翻轉 | x的位元翻轉是-(x 1) ~5得到6 |
< | 小於 返回x是否小於y。 | 所有比較運算子回傳1表示真,回傳0表示假。 5 < 3返回0(即False)而3 < 5返回1(即True)。也可以被任意連接:3 < 5 < 7返回True。 |
> | 大於 回傳x是否大於y | 5 > 3回傳True。如果兩個運算元需要都是數字 |
<= | 小於等於 回傳x是否小於等於y | ##x = 3; y = 6; x <= y返回True|
大於等於 返回x是否大於等於y | x = 4; y = 3; x >= y返回True | |
#等於 比較物件是否相等 | ##x = 2; y = 2; x = = y回傳True | |
不等於 比較兩個物件是否不相等 | x = 2; y = 3; x != y返回True。 | |
布林「非」 如果x為True,回傳False | x = True; not y回傳False。 | |
布林「或」 如果x是True,它會傳回True,否則它會傳回y的計算值。 | x = 真; y = False; x or y傳回True |
描述 | |
---|---|
or | |
##and | |
布林「與」 | |
非」 | |
成員測試 | |
#同一性測試 | |
比較 | |
#` | ##^ |
` | |
& | |
& | |
#<<,>> | |
,- | |
*,/,% | |
x,-x | |
~x | |
** | |
以位元翻轉 |
python 控制台输出 使用print
print ("abc" ) #打印abc并换行print ("abc%s" % "d" ) #打印abcdprint ("abc%sef%s" % ("d", "g") ) #打印abcdefg复制代码
i = 10n = int(input("enter a number:"))if n == i: print( "equal")elif n < i: print( "lower")else: print ("higher")复制代码
while True: passelse: pass#else语句可选,当while为False时,else语句被执行。 pass是空语句。复制代码
for 循环 for..in
for i in range(0, 5): print (i)else: pass# 打印0到4复制代码
注:当for循环结束后执行else语句;range(a, b)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);
终止循环语句,如果从for或while中终止,任何对应循环的else将不执行。
continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。
下面就是 break 和 continue 主要的 区别:
希望大家牢记。
函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。
def sumOf(a, b): return a + b复制代码
函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’
在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。
global语句, 为定义在函数外的变量赋值时使用global语句。
def func(): global x print( "x is ", x) x = 1x = 3func() print(x)#3#1 复制代码
通过使用默认参数可以使函数的一些参数是‘可选的’。
def say(msg, times = 1): print(msg * times) say("Runsen") say("Runsen", 3)复制代码
注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。
如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。 优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。
def func(a, b=2, c=3): print ("a is %s, b is %s, c is %s") % (a, b, c) func(1) #a is 1, b is 2, c is 3func(1, 5) #a is 1, b is 5, c is 3func(1, c = 10) #a is 1, b is 2, c is 10func(c = 20, a = 30) #a is 30, b is 2, c is 20复制代码
return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。 没有返回值的return语句等价于return None。None表示没有任何东西的特殊类型。
__doc__
(文档字符串)
def func(): '''This is self-defined function Do nothing ''' passprint(func.__doc__)#This is self-defined function##Do nothing复制代码
模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’(import)
以便利用它的功能。
在python程序中导入其他模块使用'import', 所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串''即当前目录,所以程序中可导入当前目录的模块。
导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。
pyc是一种二进制文件,是py文件经编译后产生的一种byte code,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于
java或.net虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。
如果想直接使用其他模块的变量或其他,而不加'模块名+.'前缀,可以使用from .. import。
例如想直接使用sys的argv,from sys import argv 或 from sys import *
每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;如果是__name__,说明这个模块被用户
(4) dir()函数
(5) del
del -> 删除一个变量/名称,del之后,该变量就不能再使用。
python有三种内建的数据结构:列表、元组和字典。
list是处理一组有序项目的数据结构,列表是可变的数据结构。列表的项目包含在方括号[]中,
eg: [1, 2, 3], 空列表[]。判断列表中是否包含某项可以使用in,
比如 l = [1, 2, 3]; print 1 in l; #True;
支持索引和切片操作;索引时若超出范围,则IndexError;
使用函数len()查看长度;使用del可以删除列表中的项,eg: del l[0] # 如果超出范围,则IndexError list函数如下:
append(value) ---向列表尾添加项value l = [1, 2, 2] l.append(3) #[1, 2, 2, 3]count(value) ---返回列表中值为value的项的个数 l = [1, 2, 2] print( l.count(2)) # 2extend(list2) ---向列表尾添加列表list2 l = [1, 2, 2] l1 = [10, 20] l.extend(l1)print (l ) #[1, 2, 2, 10, 20]index(value, [start, [stop]]) ---返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError l = [1, 2, 2] a = 4try: print( l.index(a))except ValueError, ve: print( "there is no %d in list" % a insert(i, value)) ---向列表i位置插入项vlaue,如果没有i,则添加到列表尾部 l = [1, 2, 2] l.insert(1, 100)print l #[1, 100, 2, 2]l.insert(100, 1000)print l #[1, 100, 2, 2, 1000]pop([i]) ---返回i位置项,并从列表中删除;如果不提供参数,则删除最后一个项;如果提供,但是i超出索引范围,则异常IndexError l = [0, 1, 2, 3, 4, 5] print( l.pop()) # 5print( l) #[0, 1, 2, 3, 4]print( l.pop(1)) #1print( l) #[0, 2, 3, 4]try: l.pop(100)except IndexError, ie: print( "index out of range") remove(value) ---删除列表中第一次出现的value,如果列表中没有vlaue,则异常ValueError l = [1, 2, 3, 1, 2, 3] l.remove(2)print (l )#[1, 3, 1, 2, 3]try: l.remove(10)except ValueError, ve: print ("there is no 10 in list") reverse() ---列表反转 l = [1, 2, 3] l.reverse()print (l) #[3, 2, 1]sort(cmp=None, key=None, reverse=False) ---列表排序 l5 = [10, 5, 20, 1, 30] l5.sort() print( l5) #[1, 5, 10, 20, 30]l6 = ["bcd", "abc", "cde", "bbb"] l6.sort(cmp = lambda s1, s2: cmp(s1[0],s2[1])) print( l6) #['abc', 'bbb', 'bcd', 'cde']l7 = ["bcd", "abc", "cde", "bbb", "faf"] l7.sort(key = lambda s: s[1])print (l7) #['faf', 'abc', 'bbb', 'bcd', 'cde']复制代码
相关免费学习推荐:python视频教程
以上是給小白整理的第一篇Python知識點的詳細內容。更多資訊請關注PHP中文網其他相關文章!