python的入门基础知识和一些小技巧

简介: python的入门基础知识和一些小技巧

1 变量和简单数据类型
变量命名格式:变量名 = “赋值”

1.1 变量使用规范
使用变量时,需要遵守一些规则。违反这些规则将引发错误。

~变量名只能包含数字、字母、下划线。变量名不能以数字开头以及不能包含空格。

~变量名不能将Python保留字和函数名作为变量名。如print等

如下是python3的33个保留字列表:

~变量名要简单又具有描述性。如name比n好,user_name比u_n好。

~慎用大写字母I和O,避免看错成数字1和0。

1.2 字符串
字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中引号包括单引号和双引号。这种灵活性能够在字符串中包含引号和撇号,如:

str = "I'm David"
str1 = 'I told my friend,"i love Python"'
常用字符串操作方法

以首字母大写的方式显示每个单词:

name = "hello python world"
print(name.title())
Hello Python World
将字符串改为全部大写或全部小写:

str1 = "I love python"
print(str1.upper()) #将字符串改为全部大写
I LOVE PYTHON
print(str1.lower()) #将字符串改为全部小写
i love python
字符串合拼(拼接)

Python使用加号(+)来合拼字符串,如:

first_name = "Guido"
last_name = "van Rossum"
full_name = first_name + " " + last_name
print(full_name)
Guido van Rossum
使用制表符\t或换行符\n添加空白:

print("Languages:\n\tPython\n\tC++\n\tPHP")
Languages:
Python
C++
PHP
删除字符串的空格:

name = " p y t h o n "
print(name.rstrip()) #删除字符串右端空格
p y t h o n
print(name.lstrip()) #删除字符串左端空格
p y t h o n
print(name.strip()) #删除字符串两端空格
p y t h o n
print(name.replace(' ','')) #删除字符串全部空格包括制表符和换行符
python
字符串的序号

字符串是字符的序列,可以按照单个字符或字符片段进行索引。

name = "Hello World"
print(name[0])
H
print(name[0:-1])
Hello Worl
print(name[-1])
d
print(name[::])
Hello World
print(name[0:11])
Hello World
找到字符串中最低字符索引号:S.find(sub [,start [,end]]) -> int

失败时返回-1

name = "hello world"
print(name.find('d'))
10
返回某些字符出现的次数:S.count(sub[, start[, end]]) -> int

name = "hello world"
print(name.count('l'))
3
把字符串由分隔符返回一个列表:S.split([sep [,maxsplit]]) -> list of strings,如果给定maxsplit,则最多为maxsplit

name = "hello world"
print(name.split(' '))
['hello', 'world']
print(name.split(' ',0))
['hello world']
字符串格式化输出(format和%用法)

%方法格式代码

"{}:计算机{}的CPU占用率为{}%".format('2019-03-25','python',10) #S.format(args, *kwargs) -> string
'2019-03-25:计算机python的CPU占用率为10%'
"%s:计算机%s的CPU占用率为%d%%" % ('2019-03-25','python',10) #%用法
'2019-03-25:计算机python的CPU占用率为10%
小结:可以用help函数查看字符串的相关操作,比如help(str.find)

2 组合数据类型
2.1 集合类型
集合的定义及操作

~集合用大括号{}表示,元素间用逗号分隔;

~建立集合类型用{}或set();

~建立空集合类型,必须用set();

~集合元素之间无序;

~集合中每个元素唯一,不存在相同元素

A = {"python",'666',("wenwei-blog",666)}
{'python', '666', ('wenwei-blog', 666)}
B = set("pypy")
{'y', 'p'}
C = {"python",123,"python",123}
{'python', 123}
集合操作符

6个操作符

4个增强操作符

集合操作方法

集合应用场景

包含关系比较;数据去重。

2.1 序列类型定义
~序列是具有先后关系的一组元素

~序列是一个基类类型(基本数据类型)

~序列类型分为字符串、列表、元组类型

2.2 序列类型之列表
列表由一系列按特定顺序排列的元素组成,用方括号[]来表示列表。

列表的增删改查相关操作

函数或方法

描述

实例

L[i]=x

替换列表L第i数据项为x

L = ['Python','PHP','JavaScript','C++']

L[1] = 'Java'

L

['Python', 'Java', 'JavaScript', 'C++']

L[i:j]=L1

用列表L1替换列表L中第i到j项数据

L
['Python', 'Java', 'JavaScript', 'C++']
L1 = ['C','Go']
L[0:2]=L1
L
['C', 'Go', 'JavaScript', 'C++']

del L[i:j:k]

删除列表L第i到第j项以k为步数的数据

L
['C', 'Go', 'JavaScript', 'C++', 'Java', 'C#', 'Ruby', 'Lua']
del L[1:6:2]
L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua']

L+=L1或L.extend(L1)

将列表L1元素增加到列表L中

L;L1

['C', 'JavaScript', 'Java', 'Ruby', 'Lua']
['C', 'Go']

L+=L1
L;L1
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go']
['C', 'Go']

L*=n

将L列表的元素重复n次

L1*=2
L1
['C', 'Go', 'C', 'Go']

L.append(x)

在L列表最好添加元素x

L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go']
L.append('Python')
L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']

L.clear()

删除列表L的所有元素

L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']
L.clear()
L
[]

L1 = L.copy()

复制L列表生成新的L1列表

L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']
L1 = L.copy()
L1
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']

L.insert(i,x)
//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjYyODE0OA==.html

在列表L的第i位置增加元素x

L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']
L.insert(2,'PHP');L
['C', 'JavaScript', 'PHP', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']

L.pop(i)

将列表L中的第i项元素删除

L;L.pop(2);
['C', 'JavaScript', 'PHP', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']
'PHP'
L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']

L.remove(x)

将列表的第一个x元素删除

L
['C', 'JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']
L.remove('C')
L
['JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']

L.reverse(x)

将列表L中的元素反转

L;L.reverse();L
['JavaScript', 'Java', 'Ruby', 'Lua', 'C', 'Go', 'Python']
['Python', 'Go', 'C', 'Lua', 'Ruby', 'Java', 'JavaScript']

L.sort()

将列表L的元素按首字母顺序排序

L.sort()
L
['C', 'Go', 'Java', 'JavaScript', 'Lua', 'Python', 'Ruby']

L.index(x)

获取列表L的x元素的索引号

L.index('Python')
5
L
['C', 'Go', 'Java', 'JavaScript', 'Lua', 'Python', 'Ruby']

对列表数字执行简单统计计算

digits = [1,23,434,55,44,67]
min(digits)
1
max(digits)
434
sum(digits)
624
列表相关练习

练习1:创建一个列表,其中包含数字1-100并打印出来然后计算列表数字的总值。

digits = [value for value in range(1,101)];sum(digits)
5050
练习2:求1-20的奇数

for i in range(1,21,2):
print(i)

1
3
5
7
9
11
13
15
17
19
练习3: 输出3-30以内能被3整除的数字

lists = [n for n in range(3,31)]
lists
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
for i in lists:
if i % 3 == 0:
print(i)

3
6
9
12
15
18
21
24
27
30
2.3 序列类型之元组
元组其实跟列表差不多,也是存一组数据,只不过它一旦创建便不能修改,所以又叫只读列表
它只有两个方法,一个是count(统计元组某个元素出现的次数tuple.count('str')),一个是index(查看某个元素的索引号tuple.index('str'))

names = ('zhiwenwei','zhouyouxian')
names.index('zhiwenwei')
0
names.count('zhiwenwei')
1

//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDE4Mjk3Ng==.html
元组练习题

有如下变量,请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 请问tu变量中的第一个元素 “alex” 是否可被修改?
  元组不可直接被修改,需要转换成列表或字典
b. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
  k2是字典的键,对应的值是列表可修改:tu[1][2]['k2']='Seven'
c. 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
  k3是字典的键,对应的值是元组不可修改
2.4 字典类型
字典是包含0个或多个键值对的集合,没有长度限制,可以根据键索引值的内容。

Python语言中通过字典实现映射,通过大括号{}建立,建立模型如下:

{键1:值1,键2:值2,...}

city = {'中国':'北京','美国':'纽约','法国':'巴黎'}
city
{'中国': '北京', '美国': '纽约', '法国': '巴黎'}
拓展:字典是无序的。python语言中,字符串、列表、元组都是采用数字索引,字典采用字符索引。

字典的函数和方法

字典的基本原则

字典是一个键值对的集合,该集合以键为索引,一个键对应一个值信息

字典中的元素以键信息为索引访问

字典长度是可变的,可以通过对键信息赋值实现增加或修改键值对。

2.5 jieba库基本介绍
jieba库提供三种分词模式,最简单只需要掌握一个函数;

jieba是优秀的中文分词第三方库,需额外安装

jieba库的安装方法

pip install jieba

相关文章
|
2天前
|
数据挖掘 数据处理 Python
Python编程入门:从基础到实践
【6月更文挑战第26天】这篇文章引导读者逐步学习Python编程,从基础语法如变量、数据类型(整数、浮点数、字符串)到条件语句、循环(if/for/while),再到函数定义和模块导入。通过实例展示了Python在文本处理、数据分析(使用pandas)和Web开发(使用Flask)的应用。学习Python能为初学者开启更广阔的技术领域,如面向对象编程、并发和网络编程等。
|
1天前
|
自然语言处理 编译器 PHP
Python入门
【6月更文挑战第27天】Python入门。
7 3
|
10天前
|
索引 Python
Python考试基础知识
Python考试基础知识
11 1
|
2天前
|
Python
python3 入门学习笔记
python3 入门学习笔记
3 0
|
3天前
|
分布式计算 数据挖掘 索引
26段简短代码入门Python
26段简短代码入门Python
|
4天前
|
Python
Python一些实用小技巧
Python一些实用小技巧
|
8天前
|
算法 Python
Python 基础入门
Python 基础入门
|
9天前
|
Python
python正则表达式入门
python正则表达式入门
|
9天前
|
数据采集 数据可视化 数据挖掘
Python数据分析入门指南
Python数据分析涉及环境搭建(推荐Anaconda,含pandas和matplotlib库)。使用`pandas`读取CSV数据,如`data = pd.read_csv('data.csv')`。数据清洗包括检查缺失值(`data.isnull().sum()`)和处理异常值。然后进行数据处理,如创建新列、选择特定列及分组。利用`matplotlib`进行数据可视化,绘制直方图和散点图,以`plt.hist()`和`plt.scatter()`展示数据。

热门文章

最新文章