最近花时间整理了一下以前学过的python基础知识,语言最多的是使用。

1.1 开发模式

交互模式:简单的调试或者测试

开发流程

创建以.py结尾的python文件

在python文件中输入打印“hello world”的代码

运行编写完的python代码文件

使用pycharm创建python项目

注释作用:描述一段代码的实现逻辑和功能,增强代码的可读性,易于维护

单行注释:以#开头,注释一行,多行注释需在注释的内容开头分别添加#

多行注释:'''注释内容'''或者 ''''''注释内容'''''' 可以对多行内容整体进行注释

注释在代码执行过程中不会被执行,注释数量没有限制

注释快捷键:“Ctrl”+ “/”

1.2 注释

注释作用:描述一段代码的实现逻辑和功能,增强代码的可读性,易于维护

单行注释:以#开头,注释一行,多行注释需在注释的内容开头分别添加#

多行注释:'''注释内容'''或者 ''''''注释内容'''''' 可以对多行内容整体进行注释

注释在代码执行过程中不会被执行,注释数量没有限制

注释快捷键:“Ctrl”+ “/”

1.3 变量

变量指向各种类型值的名字,当使用该类型值时,直接使用变量,不需要再写具体的值。

格式:变量名 = 数值

变量的类型不需要显示指定,python解释器会自动判断数据类型。可将任意数据类型赋值给变量。

变量名词命名简洁明了,见名知意

module_name, package_name, ClassName, method_name, ExceptionName, function_name, GLOBAL_VAR_NAME, instance_var_name, function_parameter_name, local_var_name

使用type(变量)查看变量类型

1.4 数据类型

*** eval(str)根据str的值来自动判断转换为哪一种数据类型:

eval("123”) 转换为int

eval(“3.25”)转换为float

1.5 输入、输出

input()用于在程序执行过程中接收用户输入的内容,默认接收的输入内容为字符串类型

print()用于在程序执行过程中输出内容:

直接输出内容

输出单个和多个变量

格式化输出

1.6 格式化输出

格式化输出应用示例:

print("你输入的名字是:%s" %name)

print(“你输入的名字是:%s,你输入的年龄是:%d” %(name, age))

print(“你的身高是:%.2f” %height)

占位符

意义

占位符

意义

%c

字符

%X

十六进制整数

%s

通过str()字符串转换来格式化

%x

十六进制整数

%e

索引符号

%o

八进制整数

%E

索引符号

%i

有符号十进制整数

%f

浮点实数,默认保留6位小数;

指定精度:

%.f, 代表保留的小数位数

%d

有符号十进制整数

%g

%f和%e的简写

%u

无符号十进制整数

%G

%f和%e的简写

格式化输出时,若打印%,需使用%%表示是字符串而不是转化说明符

print无换行输出:

print(“hello”, end=””)

print(“world”)

简洁格式化:format

print(“你的名字是:{},你的年龄是{}”.format(name, age)

1.7 标识符、命名规则、关键字

标识符:

在python程序开发过程中,自定义的一些符号、名称

由字母、数字、下划线组成,不能以数字开头

标识符区分大小写

命名规则:

见名知意

module_name, package_name, ClassName, method_name, ExceptionName, function_name, GLOBAL_VAR_NAME, instance_var_name, function_parameter_name, local_var_name

不能使用关键字

关键字:

在Python内部具有特殊功能的标识符

通过keyword模块的kwlist函数查看

1.8 运算符

算术运算符:

符号

意义

+

加:两个对象相加

-

减:得到负数或者一个数减去另外一个数

*

乘:两个数相乘或是返回一个被重复若干次的字符串

/

除:x除以y

%

取模:返回除法的余数

**

幂:返回x的y次幂

//

取整除:返回商的整数部分

赋值运算符:

符号

意义

=

简单的赋值运算符

+=

加法赋值运算符

-=

减法赋值运算符

*=

乘法赋值运算符

/=

除法赋值运算符

%=

取模赋值运算符

**=

幂赋值运算符

//=

取整除赋值运算符

比较运算符:

符号

意义

==

等于:比较对象是否相等

!=

不等于:比较两个对象是否不相等

>

大于:返回x是否大于y

<

小于:返回x是否小于y

>=

大于等于:返回x是否大于等于y

<=

小于等于:返回x是否小于等于y

逻辑运算符:

符号

意义

and

x and y:如果表达式x和y同时为True,则返回True,否则返回False

or

x or y:如果x或y中某一表达式为True,则返回True,否则返回False

not

not x:如果表达式x为True,则返回False,否则返回True

运算符优先级:

2 条件判断、循环

2.1 条件判断

条件判断语法格式:

if条件:

逻辑代码

else:

其他逻辑代码

多条件判断语法格式:

if 条件1:

逻辑代码1

elif 条件2:

逻辑代码2

elif 条件3:

逻辑代码3

else:

其他逻辑代码

If嵌套语法格式:

if 条件1:

if 内部条件1:

内部逻辑代码1

elif 内部条件2:

内部逻辑代码2

else:

内部其他逻辑代码

elif 条件2:

逻辑代码2

else:

其他逻辑代码

2.2 循环

2.2.1 while循环

语法格式

while 判断条件:

条件满足,执行语句

执行流程

首先对while条件判断,当条件为true时,执行循环体内语句块,然后再判断while条件,仍然为true则继续执行语句块,直到条件为false循环结束,执行循环后的代码

应用场景

对于满足某种条件,重复调用实现相同功能的代码

2.2.2 for循环

语法格式

for 临时变量 in 序列:

序列中存在待处理元素则进入循环体执行代码

for i in range(0, 10, 1)

range(0,10): [0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

执行流程

每次循环判断for中的条件,从序列的零脚标开始,将序列中的元素赋值给临时变量,进入循环体执行代码,执行完所有判断for中序列是否存在下一个元素,如果存在则继续进入循环体,依次类推,直到序列中最后一个位置的元素被处理完,循环结束。

2.2.3 Break跳出循环

跳出break所在的整个循环,结束循环,继续执行循环外的语句。

while循环中使用break

while 条件:

break # 整个循环结束

while循环嵌套中使用break

while 条件:

代码

while条件:

break # 只结束内层整个循环

代码

for 循环中使用break

for 变量 in 序列:

break #整个循环结束

for嵌套循环中使用break

for 变量in序列:

代码

For变量in序列:

break #只结束内层整个循环

代码

总结:break的作用范围值作用与它所在的循环,不影响其他外部循环

2.2.4 continue跳出本次循环

continue跳出本次循环,当次循环中continue后的语句将不会被执行,继续执行下一次循环

while循环中使用continue

while 条件:

if条件:

continue #本次循环结束,后边的代码语句不执行

代码语句 #不会不执行

代码语句 #不会不执行

for循环中使用continue

for变量in序列:

if条件:

continue #本次循环结束,后边的代码语句不执行

代码语句 #不会不执行

2.3 项目实践

计算器功能:

根据用户输入的数字和运算符,自动计算结果

能够支持大部分运算符的计算

对程序可能产生的异常,优化处理

2.4 代码作业

小美奶茶馆盛大开业了!今天,门店前立出了以下招牌:

小美奶茶馆售卖宇宙无敌奶茶,奶茶虽好,可不要贪杯哦!每次限尝一种口味:

1)原味冰奶茶 3元 2)香蕉冰奶茶 5元 3)草莓冰奶茶 5元 4)芒果冰奶茶 7元

5)珍珠冰奶茶 7元

请您帮助小美奶茶馆的收银小妹设计一款价格结算系统,要求:

顾客可输入1-5来选择奶茶口味,输入其他数字则输出:"Woops!我们只售卖以上五种奶茶哦!新口味敬请期待!’

顾客可输入购买数量,根据奶茶口味和数量计算总价。

顾客可输入是否为本馆会员,会员可以享受9折优惠。

输出顾客购买的详细信息,包括奶茶口味、购买数量、总价。若是会员输出会员价。

建议大家使用格式化输出。

3 字符串、列表、元组、字典

3.1 字符串

字符串类型变量定义

S=”hello”或者’hello’

组成字符串的方式

使用"+’号将两个字符串连接成一个新的字符串

使用字符串格式化符号

下标

通过下标获取指定位置的字符:string_name[index]

切片

语法:string_name[起始:结束:步长]

常用内置方法

方法

说明

find(str[, start,end])

在字符串中查找制定的字符串是否存在,如果存在则返回第一个子字符串的起始下标,如果不存在则返回-1

start、end是可选参数,表示查找子字符串的起始和结束范围

count(str[, start, end])

在字符串中统计包含的子字符串的个数

replace(old, new[, count])

使用新的子字符串替换指定的旧子字符串,返回新的字符串

count是可选参数,可以指定替换的字符串个数,默认全部替换

split(sep[, maxsplit])

按照指定的分隔符分割字符串,返回分割之后所有元素的列表

maxsplit 是可选参数,指定对几个分隔符进行分割

startswith(prefix[, start, end])

判断字符串是否以指定前缀开头,返回值为True或False

start、end是可选参数,表示查找前缀的起始和结束范围

endswith(suffix[, start, end])

判断字符串是否以制度后缀结束,返回值为True或False

start、end是可选参数,表示查找后缀的起始和结束范围

upper()

字符串所有字符大写

lower()

字符串所有字符小写

3.2 列表

可以存储相同或者不同类型数据的集合。通常是相同类型。

列表定义

name_list = ["zhangsan”, “lisi”, “wangwu”]

顺序存储,可通过下标获取内部元素

name_list[0]

name_list[1]

内容可变,可通过下标修改元素值

name_list[0] = “xiaobai”

使用循环遍历列表

嵌套列表

常用内置方法

方法

说明

例子

添加元素:append()

insert()

append()列表末尾条件元素

insert()在列表指定的下标位置添加元素

list.append(element)

insert(index, element)

组合列表:

+

extend()

+组合两个列表生成新的列表

extend()向调用它的列表中添加另外一个列表的元素

list1 = list2 + list3

list1.extend(list2)

删除元素:

del

pop()

remove()

del删除列表某下标位置的元素

remove删除某名称的元素

pop删除列表末尾元素

del list[index]

list.remove(element)

list.pop()

判断元素在列表中是否存在:

in

not in

可作为条件判断中的条件

排序:

sort()

列表内元素重排序:

sort() 升序

sort(reverse=True)倒序

num_list.sort()

num_list.sort(reverse=True)

内容倒置:

reverse

将列表内容倒置

list.reverse()

统计元素个数:

count

统计列表内指定元素个数

List.count(element)

3.3 元组

顺序存储相同/不同类型的元素

元组定义,使用()将元素括起来,元素之间用“,”隔开

特性:不可变,不支持添加、修改、删除元素操作

查询:通过下标查询 元组指定位置的元素

空元组定义:none_tuple = ()

只包含一个元素的元组:one_tuple = (“one”,)

循环遍历元组

存储Key-Value键值对类型的数据

字典定义:{key1:value1, key2:value2, …}

查询:根据key查找value

创建空字典:dic = {}

内置方法

3.4 字典

方法

说明

dic[key] = value

添加/修改键值对

del dic[key]

删除键值对

len(dic)

键值对个数

dic.get(key)

查找某键(不管是否存在)

若键存在于字典中,则返回该键对应值

若键不存在,则返回null

dic.get(key, default_value)

若键不存在,则添加键并设置默认值为default_value,并返回default_value

for key in dic.keys()

遍历字典所有键

for value in dic.values()

遍历字典所有值

for item in dic.items()

遍历字典所有键值对,返回元组,即type(item)为元组

for key,value in dic.items()

遍历字典所有键值对,返回key和value

dic.clear()

清空字典

3.5 集合set

无序存储不同数据类型不重复元素的序列

集合定义:set = {"value1”, “value2”, “value3”, …}

使set(序列)中对序列中元素去重,同时创建集合

例如:name_set = set(list)

创建空集合:none_set = set()

使用in和not in判断一个元素在集合中是否存在

内置方法

方法

说明

len(set)

集合元素个数

set = set(list)

set = set(str)

将list的元素去重,并存储到set中

将字符串中的字符去重,并存储到set中

set.add(ele)

添加元素至集合

set.update(序列)

set.update([ele3, ele4], [ele5, ele6])

添加序列中的元素至集合,并且去重

set.remove(ele)

删除集合中的元素

删除不存在的元素时会报错

set.discard(ele)

删除集合中的元素

删除不存在的元素时不会报错

set.pop()

随机删除集合中的某个元素,同时返回被删除的元素

set.clear()

清空集合

交集intersection(&)

set1 = {1,2,3,4}

set2 = {2,6,7,8}

set3 = set1 & set2

set3 = set1.intersection(set2)

并集union(|)

set1 = {1,2,3,4}

set2 = {2,6,7,8}

set3 = set1 | set2

set3 = set.union(set2)

差集difference(-)

set1 = {1,2,3,4}

set2 = {2,6,7,8}

set3 = set1 - set2

set3 = set1.difference(set2)

对称差集(^)

set1 = {1,2,3,4}

set2 = {2,6,7,8}

set3 = set1 ^ set2

4 函数

4.1 基本概念

对实现某一功能的封装

函数定义

def 函数名称(参数):

函数体代码

return 返回值

函数调用:函数名(参数)

带参函数注意:调用函数时传入的参数个数与函数定义参数个数相同;

参数顺序要相同

函数参数

形参:定义函数时设置的参数

实参:调用函数时传入的参数

4.2 函数类型

无参无返回值函数

无参有返回值函数

有参无返回值函数

有参有返回值函数

***返回多个值时用逗号”,”隔开

4.3 变量

局部变量

函数内部定义的变量

不同函数内的局部变量可以定义相同的名字,互不影响

作用范围:函数体内有效,其他函数不能直接使用

全局变量

函数外部定义的变量

作用范围:可以在不同函数中使用

在函数内使用global关键字实现修改全局变量的值(字典、列表除外,全局变量的字典 / 列表可在任意函数直接修改,不需使用global关键字)

全局变量命名建议以g_开头,如:g_name

4.4 函数参数

4.4.1 缺省参数

函数定义带有初始值的形参

函数调用时,缺省参数可传,也可不传

缺省参数一定要位于参数列表的最后

缺省参数数量没有限制

调用带有参数的函数时,通过指定参数名称传入参数的值

可以不按函数定义的参数顺序传入

函数可以接收不定个数的参数传入

def function([formal_args, ]*args)函数调用时,传入的不定参数会被封装成元组

def function([formal_args, ]**args)函数调用时,如果传入key=value形式的不定长参数,会被封装成字典

4.4.2 命名参数

4.4.3 不定长参数

4.4.4 拆包

对于定义了不定长参数的函数,在函数调用时需要把已定义好的元组或者列表传入到函数中,需要使用拆包方法

4.5 递归函数及应用

函数调用自身

注意:递归过程中要有 用于结束递归的判断

4.6 匿名函数及应用

用lambda关键字创建匿名函数

定义:lambda [参数列表]:表达式

匿名函数可以作为参数被传入其他函数

5 文件操作

5.1 日期和时间

5.1.1 time模块

time()函数获取当前时间戳

localtime([seconds])格式化时间戳为本地时间,返回时间元组

字段

属性

tm_year

2018

tm_mon

1到12

tm_mday

1到31

tm_hour

0到23

tm_min

0到59

tm_sec

0到61(60或61是润秒)

一周的第几日

tm_wday

0到6(0是周一)

一年的第几日

tm_yday

1到366,一年中的第几天

夏令时

tm_isdst

是否为夏令时,值为1时是夏令时,值为0 时不是夏令时

time.strftime(format[, time_tuple])格式化日期函数

格式化符号

说明

%y

两位数的年份表示(00-99)

%Y

四位数的年份表示(000-9999)

%m

月份(01-12)

%d

月份中的一天(0-31)

%H

24小时制小时数(0-23)

%I

12小时制小时数(01-12)

%M

分钟数(00=59)

%s

秒(00-59)

%a

本地简化星期名称

%A

本地完整星期名称

%b

本地简化的月份名称

%B

本地完整的月份名称

%c

本地相应的日期表示和时间表示

%j

年内的一天(001-366)

%p

本地A.M.或者P.M.的等价符

%U

一年中的星期数(00-53)星期天为星期的开始

%w

星期(0-6),星期天为星期的开始

%W

一年中的星期数(00-53)星期一为星期的开始

%x

本地相应的日期表示

%X

本地相应的时间表示

%Z

当前时区的名称

time.strptime(string, format)将日期时间字符串转换为时间元

time.mktime(time_tuple)将时间元组转换为时间戳

time.sleep(seconds)程序睡眠等待几秒钟

5.1.2 datetime模块

datetime.datetime.now()获取当前日期和时间

strftime(format)日期时间格式化

datetime.datetime.fromtimestamp(timestamp)将时间戳转换为日期时间

datetime.timedelta(时间间隔)返回一个时间间隔对象,通过时间间隔可以对时间进行加减法得到新的时间

5.2 文件与文件夹操作

5.2.1 文件操作

open(文件路径,访问模式,encoding=编码格式)

r:只读模式

w:只写模式

a:追加模式

打开一个已存在的文件,或者创建新的文件

r模式打开不存在的文件会报错

w模式代开不存在的文件会创建新的文件

close()

关闭已打开的文件

write(data)

向文件中写入字符串

read()

读取文件全部内容

readlines()

读取文件全部内容,返回一个列表,每行数据是列表中的一个元素

readline()

按行读取文件数据

writelines(字符串序列)

将一个字符串序列(如字符串列表等)的元素写入到文件中

os.rename(oldname, newname)

文件重命名

os.remove(filepath)

删除文件

with open(文件路径,访问模式) as f:

f.write(“hello python”)

自动调用close方法

read和readlines一次性读取,并将内容保存在内存中

readline逐行读取

5.2.2 文件夹操作

os.mkdir(path)

创建文件夹

os.getcwd()

获取程序运行的当前目录

os.listdir(path)

获取指定目录下的文件列表

os.rmdir(path)

删除文件夹

shutil.rmtree(path)

删除非空文件夹

os.chdir(path)

切换目录

5.3 JSON文件、CSV文件操作

5.3.1 JSON文件

引入json模块:import json

dumps(python_data):将Python数据转为JSON编码的字符串

loads(json_data):将json编码的字符串转换为python的数据结构

dump(python_data, file):将python数据转换为JSON编码的字符串,并写入文件

load(json_file):将JSON数据文件中读取数据,并将json编码的字符串转换为python的数据结构

python数据类型与JSON类型对比

5.3.2 CSV格式文件

csv格式文件默认以逗号分隔

引入csv模块:import_csv

writerow([row_data])一次写入一行数据

writerows([[rowdata], [rowdata], …])一次写入多行数据

reader(file_object)根据打开的文件对象返回一个可迭代的reader对象

可以使用next(reader)遍历reader对象,获取每一行数据

DictWriter和DictReader对象处理Python字典类型的数据

python语言入门w-python基础知识(一)相关推荐

  1. python语言入门m-Python学习基础篇 -1

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 第一篇:Python中的输入与输出 ...

  2. python语言入门自学-Python入门

    如果你想选择一种语言来入门编程,那么Python绝对是首选!Python非常接近自然语言,精简了很多不必要的分号和括号,非常容易阅读理解.编程简单直接,更适合初学编程者,让其专注于编程逻辑,而不是困惑 ...

  3. python语言入门电子版-python从入门到精通pdf

    pythonpdf是一款专注于python的电子图书,python一种面向对象的解释型计算机程序设计语言,而这款电子书就详细讲解了python相关知识,由浅入深,对初学者来说非常的实用.感兴趣的朋友欢 ...

  4. python语言入门w-1Python开发——基础入门

    基础入门 变量 命名规则 变量名通常由字母,数字,下划线组成; 数字不能作为变量名开头; 不能以python中的关键字命名; 变量名要有意义; 不要用汉字和拼音去命名; 变量名要区分大小写; 推荐使用 ...

  5. python语言入门w-Python算法基础

    有穷性:算法的有穷性是指算法必须能在执行有限个步骤之后终止: 确切性:算法的每一步骤必须有确切的定义: 输入项:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条 ...

  6. python语言入门教程-Python语言十分钟快速入门

    [简介] Python(蟒蛇)是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. python logo [ ...

  7. python语言入门全集-Python语言入门(一)

    Python,是一种面向对象的解释型语言,也有一种说法,说它是一种先编译后解释的语言,先将代码转成中间编码,用时再用解释器将中间编码转成机器码执行.先来解释一下提到的几个概念.面向对象是对某对象进行操 ...

  8. python向量计算库教程_NumPy库入门教程:基础知识总结

    原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...

  9. python语言编程基础-Python语言入门详解!快速学成Python!

    原标题:Python语言入门详解!快速学成Python! 很多技能是被职场所需要的,但很可惜... 这些技能在大学中并学习不到. 大学和职场现实存在的横沟对大部分同学来说难以跨越或碰得头破血流... ...

  10. Python语言学习:python语言的特点、入门、基础用法之详细攻略

    Python语言学习:python语言的特点.入门.基础用法之详细攻略 相关内容 Python 基础教程 目录 python语言的特点 python语言的入门 python语言的基础用法 python ...

最新文章

  1. FPGA中block ram和distributed ram的区别
  2. 不断前行的SD-WAN如何使现代企业受益—Vecloud微云
  3. 成功解决ValueError: Shape of passed values is (33, 1), indices imply (33, 2)
  4. iphone 如何实现全屏截图
  5. rdd转换成java数据结构_Spark RDD转换成其他数据结构
  6. Bootstrap 表格的可选样式
  7. Github | 标星 1W+ 清华大学计算机系课程攻略!
  8. 对OMAP-L138的PSC模块的理解
  9. html桂花酿网页,桂花酒的做法
  10. 大学计算机基础与实训教程第,大学计算机基础与实训教程
  11. 斗鱼直播Android开发二面被刷,真香!
  12. 2015美国大学计算机科学专业排名,USNews2015美国大学计算机科学专业研究生排名...
  13. SWFObject参数,SWFObject使用方法
  14. BAT + 程序员校招指南
  15. Mac OS 系统用不了Origin怎么办?
  16. 如何转换音频格式?建议收藏这几个方法
  17. 广州大学计算机考研资料汇总
  18. 中国黑客群体的真实收入
  19. Echarts 根据页面宽度自适应
  20. 医院检验管理系统lis系统源码

热门文章

  1. 中南大学计算机辅助工艺设计,中南大学计算机辅助制造大作业.doc
  2. plsql 查询存储过程死锁语句_SQL2005查看死锁存储过程sp_who_lock
  3. 混凝土地坪机器人_创新引领 快速建造丨临时设施大项目部使用机器人等五项技术刷新建设新效率...
  4. macOS 的头文件隐藏这么深
  5. 开发日记-20190820 关键词 读书笔记《Unix环境高级编程(第二版)》DAY 1
  6. SSH-Auditor:一款SSH弱密码探测工具
  7. Privoxy shadowscocks代理
  8. 程序猿老公去米国参加 WWDC,顺便想带渡老婆蜜月,如何办签证?
  9. 【Maven学习】定制库到Maven本地资源库
  10. 解决thinkphp在开发环境下文件模块找不到的问题