>백엔드 개발 >파이썬 튜토리얼 >초보자를 위해 편집된 최초의 Python 지식 포인트

초보자를 위해 편집된 최초의 Python 지식 포인트

coldplay.xixi
coldplay.xixi앞으로
2020-10-30 16:58:054448검색

python 비디오 튜토리얼이 기사는 오늘 Python 지식 포인트를 배우는 데 도움이 될 것입니다.

초보자를 위해 편집된 최초의 Python 지식 포인트

이 기사는 첫 번째 기사입니다. Python의 기초를 다지는 기사는 총 4개입니다.

1. 기본 개념

1.1 네 가지 유형

Python에는 정수, 긴 정수의 네 가지 유형이 있습니다. , 부동 소수점 숫자 및 복소수.

  • 1과 같은 정수
  • 긴 정수는 비교적 큰 정수입니다.
  • 1.23, 3E-2와 같은 부동 소수점 수
  • 1 + 2j, 1.1 + 2.2j와 같은 복소수

1.2 문자열

문자열(문자열) ​

  • 파이썬에서 작은따옴표와 큰따옴표의 사용법은 똑같습니다.
  • 삼중 따옴표(''' 또는 """)를 사용하여 여러 줄 문자열을 지정합니다.
  • 이스케이프 문자 ''''
  • 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with n"n会显示,并不是换行。
  • python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"
  • 字符串是不可变的。
  • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

1.3 标识符的命名

标识符的命名

  • 第一个字符必须是字母表中字母或下划线'_'。
  • 标识符的其他的部分有字母、数字和下划线组成。
  • 标识符对大小写敏感。

1.4 对象

 python程序中用到的任何“东西”都成为“对象”。

1.5 逻辑行和物理行

  • 物理行:就是程序员所写代码的所在行。
  • 逻辑行:是指源代码经过预编译后,代码所在的那一行。

Python假定每个物理行都对应着一个逻辑行。例如:print( "Hello World" ) 就是一个物理行,Python希望每行只有一个语句,因为这样看起来更加易读。

如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(; )来特别地标明这种用法。分号表示一个逻辑行/语句的结束。

例如:

count = 5print ( "count" )复制代码

与下面的语句等同:

count = 5;print ( "count" );复制代码

当然也可以写成下面这种:

count = 5 ; print ( "count" );复制代码

甚至可以写成这样:

count = 5 ; print ( "count" )复制代码

我们使用

문자열 R 앞에 r 또는 r을 추가하는 자연 문자열입니다. 예를 들어, r"this is a line with n"은 개행 문자가 아닌 n을 표시합니다.

Python은 unicode 문자열 처리를 허용합니다. 접두사 u 또는 U를 추가하세요(예: u"이것은 유니코드 문자열입니다")

문자열은 변경할 수 없습니다. 🎜🎜문자 그대로 문자열을 연결합니다(예: "this" "is "는 자동으로 변환됩니다. 🎜🎜

1.3 식별자 이름 지정🎜🎜식별자 이름 지정🎜🎜🎜첫 번째 문자는 알파벳 문자 또는 밑줄 '_'이어야 합니다. 식별자의 다른 부분은 문자, 숫자 및 밑줄로 구성됩니다. 🎜🎜식별자는 대소문자를 구분합니다. 🎜🎜

1.4 Object🎜🎜 python. 🎜

1.5 논리 라인과 물리적 라인 🎜🎜🎜물리 라인: 프로그래머가 코드를 작성하는 라인입니다. 🎜🎜논리 라인: 라인을 말합니다. 🎜🎜🎜Python은 각 물리적 줄이 논리적 줄에 해당한다고 가정합니다. 예를 들어 print("Hello World")는 더 많이 보이기 때문에 한 줄에 하나의 명령문만 선호합니다. 읽기 가능 🎜🎜실제 줄에 두 개 이상의 논리 줄을 사용하려면 세미콜론(;)을 사용하여 이 사용법을 구체적으로 표시해야 합니다. 🎜🎜For. 예: 🎜
print \
("Runsen")复制代码
🎜는 다음 명령문과 동일합니다. 🎜
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 i in range(0, 5):    print (i)else:    pass# 打印0到4复制代码
🎜1.6 들여쓰기 🎜🎜 공백은 파이썬에서 매우 중요하며 줄 시작 부분의 공백이 가장 중요합니다. 들여쓰기(공백 및 탭)라고도 하며 논리적 줄의 들여쓰기 수준을 결정하는 데 사용됩니다. 🎜.

2. 연산자 및 표현식

2.1 연산자 및 사용법

&|^~<><=같지 않음을 비교합니다. 두 객체가 동일하지 않습니다Boolean "not" x가 True이면 False를 반환합니다.Boolean "or" x가 True이면 True를 반환하고, 그렇지 않으면 계산된 y 값을 반환합니다. Lambda 표현식and

Boolean "and"

OperatorNameExample
+2개의 객체 추가덧셈, 예: 3 + 5 8개를 얻으려면, 문자를 'a' + 'b'에 추가하여 'ab'를 얻을 수도 있습니다
-한 숫자에서 다른 숫자를 빼기5 - 2를 사용하여 3
*두 숫자 곱하기 또는 여러 번 반복되는 문자열을 반환합니다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은 1을 얻습니다.
%modulo는 나머지를 반환합니다. 나누기8% 3은 2를 얻습니다. -25.5%2.25는 1.5
<<왼쪽으로 이동하고 숫자의 이진수를 일정량만큼 왼쪽으로 이동합니다. 즉, 오른쪽에 0을 최대한 많이 추가합니다. 예: 2 < ;< 2는 8, 이진수 10은 1000이 됩니다
>> 오른쪽 시프트 숫자의 비트를 특정 숫자만큼 오른쪽으로 이동합니다. 즉, 오른쪽의 숫자를 삭제합니다. >2를 사용하면 2가 되고 이진수 1010은 10이 됩니다. 마지막 2자리를 직접 삭제하면
bitwise AND 숫자와 9 & 13을 사용하면 9가 되고 이진수 1001&1101은 1001이 됩니다. 두 값의 해당 위치입니다. ​​1이면 결과는 1이고, 그렇지 않으면 0
bitwise or number bitwise 또는 5|3이 되어 7이 됩니다. 바이너리 101&11은 111이 된다. 두 값의 해당 위치 중 하나가 1이면 결과는 1, 즉 둘 다 0이면 결과는 0이다. 101과 11은 둘 다 0이 아니므로 결과는 1이다. 111
비트별 XOR 숫자 5^3의 비트별 XOR은 6을 얻고 이진수 101&11은 110이 되며 두 값의 해당 위치는 ​​​​동일하고 결과는 0입니다. 즉, 둘 다 0이거나 모두 1이면 결과는 0, 101, 11이고 첫 번째는 모두 1이므로 110
bitwise Flip x의 비트 반전은 -(x+1)입니다. ~5에서 6
less than x가 y보다 작은지 여부를 반환합니다. 모든 비교 연산자는 참이면 1, 거짓이면 0을 반환합니다. 5 < 3은 0(즉, False)을 반환하고 3 < 5는 1(즉, True)을 반환합니다. 임의로 연결할 수도 있습니다. 3 < 5 < 7은 True를 반환합니다.
greater than x가 y보다 큰지 여부를 반환합니다. 5 > 3은 True를 반환합니다. x가 y보다 작거나 같은지 여부를 반환하기 위해 두 피연산자 모두
작거나 같아야 하는 경우 x = 3; x <= y는 True를 반환합니다 >= 보다 크거나 같음 x가 y보다 크거나 같은지 반환합니다.
x = 4; x == y는 True !=
x = 2; y = 3; x != y는 True를 반환합니다. not
x = True, not y는 False를 반환합니다. or
x = True; y = False; lambda
or Boolean "or"
xin, not in회원 테스트신원 테스트comparison`bitwise 독점 OR`bitwise AND shift 더하기 및 빼기 곱하기, 나누기 및 나머지 양수 및 음수 기호 비트 단위 반전indexbitwise 반전속성 참조아래첨자 addressing segment 결합 또는 튜플 디스플레이 목록 표시사전 표시String
부울이 아님 "not"
is, is not
<, <=,>,>=,!=,==
`
^
`
&
<<,>&g t;
+, -
*, /, %
+x, -x
~x
**
~x
x.attribute
x[색인]
x [index : index]
f (Arguments ...) functionct 콜 콜 (Experession, ...)
[ 표현식,...]
{키:데이텀,...}
'표현식,...'

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语句;range(a, b)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);

3.3 break语句

终止循环语句,如果从for或while中终止,任何对应循环的else将不执行。

3.4 continue语句

continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。

下面就是 break 和 continue 主要的 区别:

  • break:跳出整个循环
  • continue:跳出本次循环,继续执行下一次循环

希望大家牢记。

4、函数

函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。

def sumOf(a, b):
    return a + b复制代码

4.1 函数形参

函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’

4.2 局部变量

在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。

global语句, 为定义在函数外的变量赋值时使用global语句。

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 文档字符串

__doc__ (文档字符串)

def func():
    &#39;&#39;&#39;This is self-defined function
	Do nothing
	&#39;&#39;&#39;
    passprint(func.__doc__)#This is self-defined function##Do nothing复制代码

5、模块

模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’(import)以便利用它的功能。

在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()函数

  • dir(sys)返回sys模块的名称列表;如果不提供参数,即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视频教程

위 내용은 초보자를 위해 편집된 최초의 Python 지식 포인트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.im에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제