Python基础入门


title: Python语法基础入门

date: 2020-09-30 17:44:18

tags:

     - Python
     - 基础语法 

一、基础

1. Python3 基础数据类型:

1.1 标准数据类型:

Python3 中有六个标准的数据类型:

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

Python3 的六个标准数据类型中:

  • **不可变数据(3 个):**Number(数字)、String(字符串)、Tuple(元组);
  • **可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)。

1.2 Number(数字):

Python3 支持 int、float、bool、complex(复数)

在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

可以使用type() 、isinstance() 函数来查询变量所指的对象类型,不同的是type() 不会认为子类是一种父类类型,而 isinstance() 会认为子类是一种父类类型。

!注意:

  • 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
  • 2、一个变量可以通过赋值指向不同类型的对象。
  • 3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
  • 4、在混合计算时,Python会把整型转换成为浮点数。

1.3 String(字符串):

Python中的字符串用单引号 或双引号 " 括起来,同时使用反斜杠 ** 转义特殊字符。

  1. 字符串的截取的语法格式: 变量[头下标:尾下标]

在这里插入图片描述

  1. Python 使用反斜杠 \转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
>>>
  1. Python字符串格式化输出

方式(1):在Python中,采用的格式化方式和C语言是一致的,用 %实现,举例如下:

>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

在这里插入图片描述

方式(2):format()

在这里插入图片描述

方式(3):f-string

在这里插入图片描述

  1. Python中的字符串处理函数:

find():检测字符串是否包含特定字符,如果包含,则返回开始的索引;否则,返回-1。

## find()函数
str = 'hello world'
# 'wo'在字符串中
print( str.find('wo') )
# 'wc'不在字符串中
print( str.find('wc') )
## 输出:
##     6
##     -1

index():检测字符串是否包含指定字符,如果包含,则返回开始的索引值;否则,提示错误。

## index()函数
str = 'hello world'
# 'wo'在字符串中
print( str.index('wo') )
# 'wc'不在字符串中,程序报错ValueError,终止运行
print( str.index('wc') )
## 输出:
##     6
##     ValueError: substring not found

count():返回str1在string中指定索引范围内[start, end)出现的次数。

str = 'hello world'
# 统计str中全部字母l的个数
print( str.count('l') )
# 统计str中从第5+1个字母到最后一个字母中,字母l的个数
print( str.count('l', 5, len(str)) )

replace():str.replace(str1,str2, count) ----- 将str中的str1替换成str2,如果指定count,则不超过count次。

str = 'hello world hello world'
str1 = 'world'
str2 = 'waltsmith'
# 将所有的str1替换为str2
print( str.replace(str1, str2) )
# 只将前1个str1替换为str2
print( str.replace(str1, str2, 1) )
## 输出:
##     hello waltsmith hello waltsmith
##     hello waltsmith hello world

split():str.split(‘分界符’, maxSplit)

print(str3.split(' ', 3))
# 以字母o作为分界符,指定最大分割为2,将返回最大分割+1个元素的列表

capitalize():将字符串的首字母大写,其余字母全部小写

str.capitalize()

title():将字符串中的所有单词的首字母大写,其余字母全部小写;值得注意的是,这里单词的区分是以任何标点符号区分的

str.title()

startswith():检查字符串str是否 以字符串str1开头,若是,则返回True;否则,返回False;

str.startswith(str1)

lower():将字符串的所有字母转换为小写;

str.lower()

upper():将字符串的所有字母转换为大写;

str.upper()

endswith():检查字符串str是否 以字符串str1结尾,若是,则返回True;否则,返回False;

str.endswith(str1)

ljust():将字符串左对齐,并使用空格填充至指定长度len;

str.ljust(len)
同理右对齐 :str.rjust(len)  
居中对齐:str.center()

lstrip():去掉字符串左边的空白字符

str.lstrip()
同理去除右边的:str.rstrip()
去除两边的:str.strip()

partition():根据str中的第一个str1,将字符串str分割为str1之前,str1和str1之后三个部分;若str1不存在,则将str作为第一部分,后面两个元素为空;返回元组;

str.partition(str1)
str14 = "Are you believe in yourself?"
# "yourself"在字符串中
print(str14.partition("yourself"))
# "you"在字符串中有两个
print(str14.partition("you"))
# "walt"不在字符串中
print(str14.partition("walt"))
## 输出:
##     ('Are you believe in ', 'yourself', '?')
##     ('Are ', 'you', ' believe in yourself?')
##     ('Are you believe in yourself?', '', '')

join():将iterable中每两个相邻元素中间插入字符串str,返回形成的新的字符串;

str.join(iterable)
str15 = "walt"
print(str15.join("ABC"))
iterable = ['YOU', 'THEY', 'WE']
print(str15.join(iterable))
## 输出:
##     AwaltBwaltC
##     YOUwaltTHEYwaltWE

isspace():如果字符串str中只包含空格,则返回True;否则,返回False;

isdigit():如果字符串str中只包含数字,则返回True;否则,返回False;

isalpha():如果字符串str中只包含字母,则返回True;否则,返回False;

  1. 字符编码:
    在这里插入图片描述

!注意:

  • 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
  • 2、字符串可以用+运算符连接在一起,用*运算符重复。
  • 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
  • 4、Python中的字符串不能改变。

1.4 List(列表):

列表和字符串一样都能进行截取和索引,不同的是列表中的元素是可以改变的

  1. 列表的截取:
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']

print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

结果:
['abcd', 786, 2.23, 'runoob', 70.2]
abcd
[786, 2.23]
[2.23, 'runoob', 70.2]
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']

# !注意:Python列表可以截取接收第三个参数,参数作用是截取的步长,如果第三个为负数,表示逆向截取
inputWords=input()
inputWords=inputWords[-1::-1]
print(inputWords)
  1. 改变列表中的元素:
>>> a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 将对应的元素值设置为 []
>>> a
[9, 2, 6]
  1. 常用函数:
(1). 用len()函数获取list集合的元素个数:   len(classmates)

(2). 将元素添加到List尾部: classmates.append('asdfa')
     删除list末尾的元素: classmates.pop()

(3). 把元素插入到指定的位置: classmates.insert(1,'jack')
     删除指定位置的元素:classmates.pop(i)  ------i是索引的位置
     删除具体的元素值:classmates.remove(value) -----value是具体的元素值

(4). 把某个元素换成别的元素,直接赋值给对应的索引位置:  classmates[1] = 'ssfa'

1.5 Tuple(元组):

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')

print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

# 结果:
('abcd', 786, 2.23, 'runoob', 70.2)
abcd
(786, 2.23)
(2.23, 'runoob', 70.2)
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')

在这里插入图片描述

!注意:

  • 1、与字符串一样,元组的元素不能修改。
  • 2、元组也可以被索引和切片,方法一样。
  • 3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
  • 4、元组也可以使用+操作符进行拼接。

1.6 Set(集合):

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

  1. 创建格式:
parame = {value01,value02,.....}
# 或者

set(value) -----这个value可以是list集合:
例如:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
  1. set进行集合运算:
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')

print(a)

print(a - b)     # a 和 b 的差集

print(a | b)     # a 和 b 的并集

print(a & b)     # a 和 b 的交集

print(a ^ b)     # a 和 b 中不同时存在的元素
  1. 常用方法:
(1):add(key)方法添加元素到set中----    s.add(4)

1.7 Dictionary(字典):

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"

tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}


print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
dict.pop('one')           # 删除dict中对应键的值

'''
输出结果
1 - 菜鸟教程
2 - 菜鸟工具
{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])
''' 
  1. 构造方法-----空对象
dict= {}
  1. 运用dict() 构造函数
sss=dict([('runnob',1),('google',2)])
print(sss)

ddd=dict(key1=1,key2=2,key3=3)
print(ddd)

!注意:

  • 1、字典是一种映射类型,它的元素是键值对。
  • 2、字典的关键字必须为不可变类型,且不能重复。
  • 3、创建空字典使用 { }

2. Python3 运算符:

2.1 Python逻辑运算符:

在这里插入图片描述

2.2 Python成员运算符:

在这里插入图片描述

2.3 Python身份运算符:

在这里插入图片描述

在这里插入图片描述

2.4 数学函数:

在这里插入图片描述

2.5 随机数:

  1. choice(seq)

此处的 seq 必须是有序的序列,返回序列中的一个随机项。

from random import *

c1 = choice([1, 2, 3, 4, 5])
c2 = choice((1, 2, 3, 4, 5))
c3 = choice(range(1, 11))
print(c1, c2, c3)
  1. randint(start,end)

返回 [start, end] 之间的一个随机整数。包头又包尾。

from random import *

r = randint(1, 5)
print(r)
  1. random()

返回一个 [0, 1) 的随机浮点数。

from random import *

print(random())
print(round(random(), 3))
  1. uniform(a,b)

返回 [a, b] 之间的一个随机浮点数。

注:a和b接受的数据大小随意。例如:random.uniform(10,20) 和 random.uniform(20,10)

from random import *

print(uniform(10, 20))
print(uniform(20, 10))
print(uniform(30, 30))
  1. randrange(start,end,step)

从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为

print(randrange(0, 10, 2))
  1. sample(seq,number)

从 seq 中随机取出 number 个元素,以列表的形式返回。此处 seq 可以是有序,也可以是无序。

print(sample({1, 2, 3, 4, 5}, 3))
print(sample('abcdefg', 3)) # ['f', 'c', 'd']
  1. shuffle(lt)

将 lt (列表对象) 中的元素打乱。

lt = ['a', 'b', 'c', 'd', 'e', 'f']
shuffle(lt) # 类似洗牌
print(lt)

2.6 三角函数:

在这里插入图片描述

3. Python数据格式与JSON数据格式的互相转化:

3.1 JSON数据格式介绍:

JSON 值可以是:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在中括号中)

对象(在大括号中)

null

JSON 使用 JavaScript 语法

因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

实例:

var sites = [

{ “name”:“百度” , “url”:“www.baidu.com” },

{ “name”:“淘宝” , “url”:“www.taobao.com” },

];

可以像这样访问 JavaScript 对象数组中的第一项(索引从 0 开始):

sites[0].name;

返回的内容是:

百度

可以像这样修改数据:

sites[0].name=“baidu”;

JSON 文件

JSON 文件的文件类型是 “.json”

JSON 文本的 MIME 类型是 “application/json”

3.2 JSON编码与解码:

Python3 JSON 数据解析:

json.dumps(python_value,ensure_ascii=False): 对数据进行编码,将python数据格式转化为JSON 格式,不使用ascii码格式。

json.loads(): 对数据进行解码,将JSON数据格式转化为python格式。

实例:

import json

data = [ { ‘a’ : 4, ‘b’ : 5, ‘c’ : 6, ‘d’ : 7, ‘e’ : 8 } ]

json = json.dumps(data)

print json

以上代码执行结果为:

[{“a”: 4, “c”: 5, “b”: 6, “e”: 7, “d”: 8}]

以下实例展示了Python 如何解码 JSON 对象:

import json

jsonData = ‘{“a”:4,“b”:5,“c”:6,“d”:7,“e”:8}’;

text = json.loads(jsonData)

print text

以上代码执行结果为:

中的第一项(索引从 0 开始):

sites[0].name;

返回的内容是:

百度

可以像这样修改数据:

sites[0].name=“baidu”;

JSON 文件

JSON 文件的文件类型是 “.json”

JSON 文本的 MIME 类型是 “application/json”

3.2 JSON编码与解码:

Python3 JSON 数据解析:

json.dumps(python_value,ensure_ascii=False): 对数据进行编码,将python数据格式转化为JSON 格式,不使用ascii码格式。

json.loads(): 对数据进行解码,将JSON数据格式转化为python格式。

实例:

import json

data = [ { ‘a’ : 4, ‘b’ : 5, ‘c’ : 6, ‘d’ : 7, ‘e’ : 8 } ]

json = json.dumps(data)

print json

以上代码执行结果为:

[{“a”: 4, “c”: 5, “b”: 6, “e”: 7, “d”: 8}]

以下实例展示了Python 如何解码 JSON 对象:

import json

jsonData = ‘{“a”:4,“b”:5,“c”:6,“d”:7,“e”:8}’;

text = json.loads(jsonData)

print text

以上代码执行结果为:

{u’a’: 4, u’c’: 5, u’b’: 6, u’e’: 7, u’d’: 8}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值