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

相关文章
|
3天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从零基础到实战应用
【9月更文挑战第15天】本文将引导读者从零开始学习Python编程,通过简单易懂的语言和实例,帮助初学者掌握Python的基本语法和常用库,最终实现一个简单的实战项目。文章结构清晰,分为基础知识、进阶技巧和实战应用三个部分,逐步深入,让读者在学习过程中不断积累经验,提高编程能力。
|
3天前
|
开发框架 缓存 数据库
探索Python中的装饰器:从入门到实践
【8月更文挑战第48天】本文将引导你进入Python装饰器的奇妙世界。不同于传统的“摘要”格式,我们将通过一段代码的演变,直观展示装饰器的魅力。文章不仅介绍基础概念,还将通过实例演示如何自定义装饰器,并探讨其在实际应用中的强大用途。让我们开始吧,一起深入理解这个改变函数行为的强大工具!
|
2天前
|
Python
全网最适合入门的面向对象编程教程:Python函数方法与接口-函数与方法的区别和lamda匿名函数
【9月更文挑战第15天】在 Python 中,函数与方法有所区别:函数是独立的代码块,可通过函数名直接调用,不依赖特定类或对象;方法则是与类或对象关联的函数,通常在类内部定义并通过对象调用。Lambda 函数是一种简洁的匿名函数定义方式,常用于简单的操作或作为其他函数的参数。根据需求,可选择使用函数、方法或 lambda 函数来实现代码逻辑。
|
3天前
|
存储 机器学习/深度学习 数据挖掘
深入浅出:Python编程入门与实践
【9月更文挑战第16天】本文以“深入浅出”的方式,引领读者步入Python编程的世界。从基础语法到实际应用,我们将一步步探索Python的魅力所在。无论你是编程新手,还是希望拓展技能的老手,这篇文章都将为你提供有价值的信息和指导。通过本文的学习,你将能够编写出简单而实用的Python程序,为进一步深入学习打下坚实的基础。让我们一起开始这段编程之旅吧!
|
3天前
|
机器学习/深度学习 数据挖掘 程序员
Python编程基础:从入门到实践
【9月更文挑战第16天】本文是一篇Python编程的入门教程,旨在帮助初学者理解Python的基本概念和语法。文章首先介绍了Python的历史和特点,然后详细讲解了Python的基本语法,包括变量、数据类型、运算符、控制结构等。接着,文章通过一些实例代码,展示了如何使用Python进行基本的编程操作,如输入输出、条件判断、循环等。最后,文章还提供了一些学习资源和建议,帮助读者进一步学习和掌握Python编程。
|
7天前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【9月更文挑战第13天】在开发Python Web应用时,安全性至关重要。本文通过问答形式,详细介绍如何防范SQL注入、XSS及CSRF等常见威胁。通过使用参数化查询、HTML转义和CSRF令牌等技术,确保应用安全。附带示例代码,帮助读者从入门到精通Python Web安全。
27 6
|
4天前
|
存储 程序员 开发者
Python 编程入门:从零基础到编写实用脚本
【9月更文挑战第15天】本文是一篇面向初学者的Python编程入门指南,通过浅显易懂的语言和实际的代码示例,引导读者逐步掌握Python的基本概念、语法规则以及如何运用Python解决实际问题。文章不仅介绍了Python的基础知识点,还通过实例演示了如何将这些知识应用于日常编程任务中,帮助读者快速上手并能够独立编写简单的Python脚本。
|
7天前
|
机器学习/深度学习 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析的入门指南
【9月更文挑战第11天】本文旨在为初学者提供一条清晰的道路,通过Python探索数据科学的奇妙世界。我们将从基础语法讲起,逐步深入到数据处理、可视化以及机器学习等高级话题。文章不仅分享理论知识,还将通过实际代码示例,展示如何应用这些知识解决实际问题。无论你是编程新手,还是希望扩展技能的数据分析师,这篇文章都将是你宝贵的资源。
|
2天前
|
机器学习/深度学习 数据采集 存储
Python编程入门:从基础到实战
【9月更文挑战第17天】本文将带你进入Python的世界,从最基础的语法开始,逐步深入到实战项目。我们将一起探索Python的强大功能和灵活性,以及如何利用它解决实际问题。无论你是编程新手,还是有一定经验的开发者,都能在这篇文章中找到有价值的内容。让我们一起开启Python的学习之旅吧!
|
2天前
|
存储 程序员 Python
Python编程入门:从零到英雄
【9月更文挑战第16天】本文是一篇针对初学者的Python编程入门指南,旨在帮助读者从零基础开始,通过简单易懂的语言和实例,逐步掌握Python编程的基本知识和技能。文章首先介绍了Python的起源和特点,然后详细讲解了Python的安装、基本语法、数据类型、控制结构、函数、模块等基础知识,最后通过一个简单的项目实例,展示了如何运用所学知识解决实际问题。全文通俗易懂,结构清晰,适合所有对Python感兴趣的读者阅读和学习。