Python入门基础
Python入门基础

Python入门基础

基础语法

“shebang”声明、编码声明

声明一般都是写在文件最开头,用#注释的特殊行,有着特殊含义、用法。

#!/usr/bin/
# -*- conding: UTF-8

python标识符

在python里,标识符由字母、数字、下划线组成。但不能以数字开头。
以下划线开头的标识符有特殊含义。以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用form XXX import * 而导入。
以双下划线开头的__foo代表类的私有成员,以双下划线开头和结尾的__foo__代表python里的特殊方法专用标识,如__init__()代表类的构造函数。

行和缩进

python和其他语言最大的区别是:python的代码块不使用大括号{}来控制类、函数、以及逻辑判断。
python最具特色的就是使用缩进来写模块。

python引号

python可以使用引号(’)双引号(”)三引号(”’或”””)来表示字符串。
其中三引号可由多行组成,编译成多行文本的快捷语法,常用于文档字符串,在文件的特定位置,当作注释。

同一行显示多条语句

python可以在同一行中使用多条语句,语句之间用分号(;)分割。

#!/usr/bin/python
# -*- coding:UTF-8 -*-
import sys; x = 'abcde'; sys.stdout.write(x +'\n')

输入输出

格式化输出

格式化输出包括以下几种方法:

使用格式化字符串字面值,在字符串开头的引号/三引用号前添加fF。在这种字符串中,可以在{}字符串、之间输入引用的变量,或字面值的python表达式。

year = 2016
event = 'Referendum'
print(f'Result of the {year} {event}')

字符串的 str.format()方法需要更多的手动操作。仍可以使用{}来标记变量将被替换的位置并且可以提供详细的格式化指令、但需要提供待格式化的信息。

yes_votes = 42_572_654
total_votes = 85_705_149
percentage = yes_votes / total_votes
print('{:-9} YES votes {:2.2%}'.format(yes_votes,total_votes))

格式化字符串字面值(简称为f-字符串)在字符串前面加前缀fF,通过{expression}表达式,把python表达式的值添加到字符串内。

import math
print(f'The value of pi is approximately {math.pi:.3f}.')
#将pi舍入到小数点后三位

在’:’后传递整数,为该字段设置最小字符宽度,常用于列对其。

table={'Sjored':5954,'Jack':3524,'Dcab':3532}
for name,phone in table.items():
    print(f'{name:10}==>{phone:10d}')

#{name:10}表示设置10个字符长度。
#{phone:10d}表示设置10个字符长度,并且右对齐。

字符串format()方法

str.format() 基础用法

print('We are the {} who say "{}!"'.format('knights','Ni'))

We are the knights who say "Ni!"

花括号及之内的字符(称为格式字段)被替换为传递给str.format()方法的对象。话括号内的数字表示str.format()方法的对象所在位置。

print('{0} and {1}'.format('spam','eggs'))

spam and eggs

print('{1} and {0}'.format('spam','eggs'))

eggs and spam

读写文件

open() 返回一个file object,最常使用的是两个位置参数和一个关键字参数:
open(filename,mode,encoding=None)

第一个是文件名字符串。
第二个是包含描述文件使用方法的字符串。mode包括:

  • r,表示文件只能读取。
  • w,表示文件只能写入(现有同名文件会被覆盖)。
  • a,表示打开文件并追加内容,任何写入的内容都会自动添加到文件末尾。
  • r+,表示打开文件进行读写。
  • mode实参是可选的,省略时的默认是值’r’

六大数据类型

python基本数据类型:

  • Number(数字类型)
  • String(字符串类型)
  • Tuple(元组类型)
  • List(列表类型)
  • Set(集合类型)
  • Dictionary(字典类型)

(前三者为不可变数据,或三者为可变数据)

1.数字类型

python的数字类型包括整数类型(int)、浮点数类型(float)、复数类型(complex)、布尔类型(bool)

整数类型和数学中的整数概念相同。

浮点数对应数学中的实数,表示带有小数的数值。

复数类型对应数学中的复数。虚部用j或J表示。

布尔类型即True和False。

2.字符串类型

在python中用str表示字符串类型。
python提供了5个字符串基本操作符:

操作符描述
x+y连接两字符串
x*nx字符串复制n次
x in s (x not in s)判断x是否是s的子字符串,返回布尔值
str[i]索引,返回str字符串的第i个字符串
str[N:M:L]切片(从N到M,L为步长,可省略)【左闭右开】

内置字符串处理函数

函数描述
len(x)返回字符串长度
str(x)返回任意类型所对应的字符串形式(转换为字符串)
chr(x)返回Unicode所对应的单字符
ord(x)返回单字符对应的Unicode编码
hex(x)返回整数x对应十六进制数的小写形式字符串
oct(x)返回整数x对应的八进制的小写形式字符串

字符串常用处理方法(只列出部分)

方法描述
str.lower()返回字符串副本,全部字符小写
str.upper()返回字符串副本,全部字符大写
str.islower()当字符串都是小写时,返回True,否则返回False
str.isprintable()当字符串都是可打印的时,返回True,否则返回False
str.isnumeric()当字符串都是数字时,返回True,否则返回False
str.isspace()当str所有字符都时空格,返回True,否则返回False
str.endswith(a,start,end)在[star,end]区间(可省略),以a结尾返回True,否则False
str.startswith(a,start,end)在[star,end]区间(可省略),以a开头返回True,否则False
str.split(sep=None,maxsplit=-1)对str分割,用sep为分隔符,分割前maxsplit个字符
str.count(sub,start,end)返回str中sub在区间中出现的次数,[star:end]区间可省略
str.replace(old,new,count)(替换)返回str副本,old-new替换前count次,count可省略
str.center(width,fillchar)字符串居中,fillchar为宽度不足时的填补字符,可省略
str.strip([chars])返回副本,在其左右两侧去掉chars中列出的字符,默认去掉两端空格
str.zfill(width)返回副本,长度为width,不足的长度左侧用0填补
str.format()返回字符串排版格式(format)
str.join(iterable)返回一个新字符串,用str把iterable拼接起来

3.元组类型

元组(Tuple)是数据类型中较为特殊的一种,创建后不能修改,只能被重新创建。
创建元组时使用小括号,元素之间用逗号分隔(小括号可以省略)。

构造包含0个或1个元素的元组语法比较特别

tup1 = ()     #空元组
tup2 = (20,)  #一个元素的元组,末尾要加一个逗号,用于区分这是一个元组,而不是一个普通的值。

4.列表类型

列表(list)是包含0个或多个对象引用的有序序列。

列表常用处理方法(只列出部分)

函数或方法描述
ls[i]=x列表ls的第i项替换为x
del ls[i:j]删除列表ls区间数据(左闭右开),等于ls[i:j]=[]
ls.append(lt)将列表lt作为一个元素增加到列表ls中
ls.extend(lt)将列表lt的元素增加到列表ls中,等效ls+=lt
ls.append(x)在ls列表最后增加元素x
ls.clear()删除ls中全部元素
ls.insert(i,x)在列表的第i位置插入元素x
ls.pop(i)将ls列表的第i项取出
ls.remove(x)删除列表中第一次出现的x元素
ls.reverse()ls列表倒序排列,并保存在ls中
ls.sort(reverse=False)排序(默认False表示升序)

5.集合类型

集合类型中的元素无序,不可重复,元素类型是能是固定数据类型。
集合使用大括号{}表示,元素之间用逗号,分隔。
可以使用set()函数创建集合。

注意:创建一个空集合必须使用set()而不是{},因为{}是创建空字典。

6.字典类型

字典时另一种可变容器模型,且可存储任意类型对象。
字典的每个键值对key=>value用冒号分割,每对键值对之间用逗号分割,整个字典用花括号{}括起来。

创建字典:

mydict = {} #用花括号创建一个空字典
mydict = dict()  #用dict()函数创建空字典
mydict = {'Name':'Wang','Age':18,'Class':'First} #创建一个字典,写入键值对
mydict['Tel']=848482 #给mydict字典增加一个键值对
del mydict['Age'] #清除'Age'对应的键值对
del mydict  #删除整个字典

字典的函数与方法:

函数描述
len(dict)计算字典元素个数
str(dict)输出字典
type(dict)返回dict的类型
dict.clear()删除字典内所有元素
dict.copy()返回一个浅拷贝
key in dict如果 键在字典中返回True,否则返回False
dict.keys()返回所有的键
dict.values()返回所有的值
dict.items()返回所有的键值对
dict.update(dict2)把dict2的键值对更新到dict中(存在风险)

以上是python最基础的语法和数据类型。
python还有条件控制、循环、推导式、函数、模块、类、包、数据库、面向对象编程等等很多内容。这里不再一一介绍。
具体详细内容建议参考python官方手册文档进一步学习。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注