この記事は最初の記事であり、Python の基礎を築くための記事は合計 4 つあります
Python には、整数、長整数、浮動小数点数、複素数の 4 つのタイプの数値があります。
String などの数値 (文字列)
'\'
r"これは \n"
を含む行です。その場合、改行ではなく \n
が表示されます。 u「これは Unicode 文字列です」
のように、u または U をプレフィックスとして付けた unicode
文字列を処理できます。 命名識別子の数
Python プログラムで使用される「もの」はすべて「オブジェクト」になります。
Python は、各物理行が論理行に対応すると想定します。例: print( "Hello World" ) は物理行であり、Python は各行に
物理行で複数の論理行を使用する場合は、セミコロン (;) を使用してこの使用法を明確に示す必要があります。セミコロンは終わりを示します。
例:
count = 5print ( "count" )复制代码
は次のステートメントと同等です:
count = 5;print ( "count" );复制代码
もちろん、次のように記述することもできます:
count = 5 ; print ( "count" );复制代码
は次のように書くこともできます:
count = 5 ; print ( "count" )复制代码
改行には \
を使用します
print \ ("Runsen")复制代码
空白は非常に重要ですPython では重要です, 行 先頭の空白スペースは最も重要であり、インデントとも呼ばれます。行の先頭の空白スペース (スペースとタブ) は、論理行、つまりステートメントのインデント レベルを決定するために使用されます。
演算子 | 名前 | 例 |
---|---|---|
2 つのオブジェクトを追加 | 加算 (3 5 は 8 になるなど)、文字「a」「」を追加することもできますb' は 'ab' を取得します。 | |
- | 1 つの数値から別の数値を引く | 5 - 2 は 3 |
#乗算 2 つの数値を乗算するか、複数回繰り返される文字列を返します。 | 2 * 3 は 6,'a' * 3 を取得します。'aaa' | |
** | power 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 |
Modulo 除算の余りを返します | 8%3 は 2 を取得します。 -25.5%2.25 は 1.5 | |
を取得します。左にシフトし、数値の 2 進法を一定量左にシフトします。つまり、次のように加算します。右側に多数の 0、 | たとえば、2 << 2 は 8 になり、バイナリ 10 は 1000 | |
数値のビットを右にシフトする 特定の数値を右にシフトします。つまり、右側の数字を削除します。 | 10>>2 を取得すると 2 になり、2 進数の 1010 は 10 になり、次の 2 を直接削除します。桁数 | |
ビット単位の AND | 9 と 13 のビット単位の AND は 9 を取得し、バイナリ 1001&1101 は 1001 になり、両方の値の対応する位置になります。が 1 の場合、結果は 1 になります。それ以外の場合は、0 | |
ビット単位、 | ビット単位、または 5 | 3 で 7 になります。 。 2 進数 101&11 は 111 になります。 2 つの値の対応する位置のいずれかが 1 の場合、結果は 1 になります。つまり、両方が 0 の場合、結果は 0 になります。 101 と 11 は両方とも 0 ではないので、 111 | |
#ビットごとの XOR | 数値 5 ^ 3 のビットごとの XOR は 6 になり、バイナリ 101&11 は 110 になり、2 つの値は対応します位置が同じ場合、結果は 0 になります。つまり、すべて 0 または両方 1 の場合、結果は 0、101、11 になります。最初の値は 1 なので、110 | ## ~ |
x のビット単位の反転は -(x 1) ~5 は 6 | < | |
すべての比較演算子は、true の場合は 1 を返し、false の場合は 0 を返します。 5 < 3 は 0 (つまり False) を返し、3 < 5 は 1 (つまり True) を返します。任意に接続することもできます: 3 < 5 < 7 は True を返します。 | > | |
5 >3 は True を返します。両方のオペランドが数字 | <= | |
以下であるかどうかを返します。 x = 3; y = 6; x <= y は True を返します | ##>= | |
!= | 等しくない 2 つのオブジェクトが等しいかどうかを比較します | |
#not | ブール値 "not" x が True の場合、False を返します。 | xx = True、y でない場合は False を返します。 |
or | Boolean "or" x が True の場合は True を返し、それ以外の場合は y の計算値を返します。 | x = True; y = False; x または y は True を返します |
##2.2 演算子の優先順位 | .演算子の優先順位 (低から高) | |
説明 |
and | ブール値 "および" |
---|---|
ブール値 "not" | |
member Test | |
識別テスト | ##<,<=,>,> =,!=,== |
##` | ##`|
#ビットごとの XOR | |
` | ` |
##& | ビット単位 AND |
<<, >> | シフト |
加算と減算 | |
乗算、除算、剰余 | |
正符号と負符号 | |
ビット単位の反転 | |
インデックス | |
ビット単位の反転 | |
属性参照 | |
サブスクリプト | |
アドレス指定セグメント | |
関数呼び出し | #(式,...) |
#[式,...] | |
##{key:datum,...} | 辞書表示 |
##'式,...' ######弦############2.3 输出python 控制台输出 使用print print ("abc" ) #打印abc并换行print ("abc%s" % "d" ) #打印abcdprint ("abc%sef%s" % ("d", "g") ) #打印abcdefg复制代码 ログイン後にコピー 3、控制流3.1 if 语句i = 10n = int(input("enter a number:"))if n == i: print( "equal")elif n < i: print( "lower")else: print ("higher")复制代码 ログイン後にコピー 3.2 while语句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语句; 3.3 break语句终止循环语句,如果从for或while中终止,任何对应循环的else将不执行。 3.4 continue语句continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。 下面就是 break 和 continue 主要的 区别:
希望大家牢记。 4、函数函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。 def sumOf(a, b): return a + b复制代码 ログイン後にコピー 4.1 函数形参函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’ 4.2 局部变量在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。
def func(): global x print( "x is ", x) x = 1x = 3func() print(x)#3#1 复制代码 ログイン後にコピー 4.3 默认参数通过使用默认参数可以使函数的一些参数是‘可选的’。 def say(msg, times = 1): print(msg * times) say("Runsen") say("Runsen", 3)复制代码 ログイン後にコピー 注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。 4.4 关键参数如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。 优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。 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复制代码 ログイン後にコピー 4.5 return 语句return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。 没有返回值的return语句等价于return None。None表示没有任何东西的特殊类型。 4.5 文档字符串
def func(): '''This is self-defined function Do nothing ''' passprint(func.__doc__)#This is self-defined function##Do nothing复制代码 ログイン後にコピー 5、模块模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’ 在python程序中导入其他模块使用'import', 所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串''即当前目录,所以程序中可导入当前目录的模块。 5.1 字节编译的.pyc文件导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。 pyc是一种二进制文件,是py文件经编译后产生的一种byte code,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于 java或.net虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。 5.2 from .. import如果想直接使用其他模块的变量或其他,而不加'模块名+.'前缀,可以使用from .. import。 例如想直接使用sys的argv,from sys import argv 或 from sys import * 5.3 模块的__name__每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;如果是__name__,说明这个模块被用户 (4) dir()函数
(5) del del -> 删除一个变量/名称,del之后,该变量就不能再使用。 6、数据结构python有三种内建的数据结构:列表、元组和字典。 6.1 列表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 の知識ポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。