python语言概述及基础部分

Python语言概述及基础部分

1、Python下载

Python下载:https://www.python.org/downloads/windows/
Pycharm下载:https://www.jetbrains.com/pycharm/download/#section=windows

2、了解语言:

  • python 是一种解释型语言:即意味着不用编译可以直接执行。
  • Python是交互式语言 : 即在python提示符>>>后直接执行代码
  • Python是面向对象语言 :即意味着python支持面向对象的风格或代码封装在对象里的编程技术。
  • 标识符:
    • 字母、数字、下划线组成,对大小写敏感。
    • 第一个字符必须是字母表中字母或下划线_.
  • 保留字:
import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

3、基础语法与命令

  • 查看版本: python -v

  • 查看基本参数信息: python -h

  • 单行注释 :#

  • 多行注释:```或 " " "

行缩进,就是python的基本语法,缩进的空格数是可变的。缩进不一致会导致程序运行错误。

多行语句,可以通过反斜杠 \ ,在[],{}或()中不需要用到反斜杠。

  • 查询函数库
import sys
dir(sys)
  • 设置字体

Options —>Config IDLE

  • 运算直接输入

4、数字和表达式

表达式:由运算符和操作数按照语法形式组成的字符序列。

+加,-减,/除,*乘,%取模,**求幂

0X表示16进制,0表示8进制

数值的除法包含两个运算符: /返回一个浮点数,// 返回一个整数

print(3+2)# 5
print(4/2)# 2.0
print(5-2)# 3
print(3*2)# 6
print(5%3)# 2
print(2**3)# 8

5、变量语句与函数

  • 变量:就是一个能存储数据的容器。变量命名:不能数字开头,中间不能有空格。

input输入函数,raw_input输入一行

x = 3
y = 6
print(x)# 3
print(y)# 6
#  input接收从终端输入的字符串
z = input("请输入z的值")# 请输入z的值8
print(z)# 8

6、模块及其运行

  • import导入整个函数库,from导入某个指定的函数
import math
print(math.pow(2,3))# 8.0
print(math.floor(8.12))# 8
from math import sqrt
print(sqrt(9))# 3.0
import cmath
print(cmath.sqrt(-1))# 1j
  • 运行模块即调用外文件

调用外文件时先运行文件,然后在Python 3.6.5 Shell窗口中调用外文件的函数。

7、String字符串

字符串,一旦定义不允许修改,一切改变都会生成新的字符串,可通过str()方法将容器转换为字符串。
注意字符串的索引值以0为开始值,-1为从末尾的开始值。

  • 单引号与双引号都可以同时存在,如果在字符串中用到’ '就用" "包裹在外面,如果非要用到可以通过转义。
str = "Let‘s go!"
print("数据内容:",str)# 数据内容: Let‘s go!
  • 字符串的拼接+

repr显示其状态,str就是显示该字符串

a = "Hello "
b = "world!"
print(a+b)# Hello world!
print(repr(a))# 'Hello '
print(str(b))# world!
  • 星号*表示赋值当前字符串,与之结合的数字为复制次数。
str = "Let‘s go!"
print(str*2)# Let‘s go!Let‘s go!
  • print长字符串以及字符转义,r可以访问到原字符串,转义’’
print('''This is a very long string
It continues here.
And it's not over yet.
"Hello word"
still here.''')# 进行换行,原样输出
print("D:\nacde\\")# 进行换行
print(r"D:\nacde\\")# 对\n进行转义,不换行

print默认输入时换行的,如果要实现不换行需要在变量末尾加上end=" ";也可以添加指定的结尾end=“,”且不换行等等

print("wenhua",end=",")# wenhua,
  • 字符串占位及格式化
# 字符串占位及格式化
name = "wenhua"
age = 23
print(f"姓名:{name},年龄:{age}")# 姓名:wenhua,年龄:23
print("姓名:%s" % name)# 姓名:wenhua
print("姓名:%s,年龄:%d" % (name,age))# 姓名:wenhua,年龄:23

字符串内建函数:

  • find(str,beg=0,end=len(string)):检测str是否包含中字符串中,指定范围beg和end
title = "My name is wenhuaDeng!"
print(title.find("name"))# 3
print(title.find("Name"))# 没有找到返回-1 
print(title.find("wenhua"))# 11
  • join(seq):以指定字符串作为分割符,将seq中所有的元素合并为一个新的字符串。
seq = ['1','2','3','4','5']
str = "+"
print(str.join(seq))# 1+2+3+4+5
  • lower()转换字符串中所有的大写字符为小写。
  • replace(old,new[,max]):把字符串中str1,替换为str2,如果max指定,则替换不超过max次。
  • split(str=“”,num=string,count(str)):以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个字符串
  • strip()在字符串上执行lstrip()和rstrip()
  • translate(table,deletechars=“”):根据str给出的表转换string的字符,要过滤掉的字符放到deletecahsrs参数中

字符串小结

  • 反斜杠可以用来转义,使用r可以让反斜杠不发生转义
  • 字符串可以通过+运算符连接起来,用*运算符重复
  • Python中的字符串中有两种索引,从左向右以0开始,从右向左以-1开始
  • Python中的字符串不能改变

8、List列表

列表:通过中括号定义,可修改,支持重复元素且有序,可以通过list()方法将容器转换为列表,数据元素没有定义,可以嵌套,可以通过下标(从零开始)索取。

age = [23,12,12,"wenhua"]
name = ["Jack","wenhua",age,"sanrui"]
# 列表长度
print(len(name))# 4
# 通过下标索取
print(name[2][1])# 12
# 查看元素下标索引,如果元素不存在就保错
print(name.index(age))# 2
# 改变列表中指定下标的元素
name[1] = "wenhua"
print(name)# ['Jack', 'wenhua', [23, 12, 12, 'wenhua'], 'sanrui']
# insert插入元素
name.insert(1,"weiji")
print(name)# ['Jack', 'weiji', 'wenhua', [23, 12, 12, 'wenhua'], 'sanrui']
# append追加"单一“元素
name.append("wen")
# extend追加批量元素
name.extend(["we","hua"])
# 删除元素 1.del 2.pop取出并删除 3.remove指定元素进行删除
print(name)
del name[1]
print(name)
element = name.pop(1)
print(element)
# 指定元素进行删除
name.remove("we")
# 清空列表
name.clear()
  • 列表的循环编列
student = ["Jim","Jack","Jimu","Danny"]
# for循环遍历列表
for i in student:
    print(i)
# while循环遍历列表
index = 0
while index < len(student):
    print(student[index])
    index += 1
  • 列表的排序
data = [["c",55],["a",33],["l",23],["s",78]]
# 函数定义排序规则
def my_sort(element):
    return element[1]
# key是函数,指排序的规则 ,reverse为True指降序,为False为升序
data.sort(key=my_sort,reverse=True)
print(data)
# 通过lambda匿名函数进行排序
data.sort(key=lambda element:element[1],reverse=False)
print(data)
  • 列表切片输出
list = [ 'abcd', 786 , 2.23, 'wenhua', 70.2 ]
tinylist = [123, 'wenhua']
print (list)            # 输出完整列表 ['abcd', 786, 2.23, 'wenhua', 70.2]
print (list[0])         # 输出列表第一个元素 abcd
print (list[1:3])       # 输出从第二个到第三个元素之间的元素 [786, 2.23]
print (list[2:])        # 输出从第三个元素开始的所有元素 [2.23, 'wenhua', 70.2]
print (tinylist * 2)    # 输出两次列表 [123, 'wenhua', 123, 'wenhua']
print (list + tinylist) # 连接列表  ['abcd', 786, 2.23, 'wenhua', 70.2, 123, 'wenhua']

List列表小结

  • list写在方括号中,元素用逗号隔开。
  • 和字符串一样,list可以被索引和切片。
  • list可以使用+操作符进行拼接。
  • list中的元素是可以改变的。

list列表截取可以接受第三个参数即步长。

9、Tuple元组

使用小括号定义一旦定义不能被修改,类型可以不一样,支持重复元素且有序,可通过tuple()方法将容器转换为元组。 通过索引获得指定元素,元素之间用逗号隔开。

  • 构造包含0个或1个元素的元组较为特殊
tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
  • 循环遍历元组
t4 = ("xiaoyin","ruirui","wenhua","sanrui")
for index in t4:
    print(index)
print("while遍历")
index = 0
while index < len(t4):
    print(t4[index])
    index += 1
  • 元组切片输出
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')

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

Tuple元组小结

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

10、Set集合

集合Set是由一个或数个形态各异的大小整体组成的,构成集合的事务或对象称作元素或是成员。集合是一个无序不重复元素的集,不支持下标索引访问,允许修改。

  • 创建: 可以使用大括号{}或者set()函数创建集合,可通过set()方法将容器转换为集合,值得注意的是在创建一个空集合时,必须用set(),而不是{},因为{}是用来创建一个空字典。
# 定义空集合
s1 = set()
print(type(s1))# <class 'set'>
# 定义集合
s2 = {"Google","Wenhua","CSDN","Wenhua"}
print(s2) # {'CSDN', 'Wenhua', 'Google'}
print("集合长度:",len(s2))# 集合长度: 3
# add添加元素
s2.add("Baidu")
print(s2)# {'Wenhua', 'CSDN', 'Baidu', 'Google'}
# remove移除元素
s2.remove("Baidu")
print(s2)# {'Wenhua', 'CSDN', 'Google'}
print(s2.pop()) # Wenhua
# 清空集合(空集合)
s2.clear()

# set可以进行集合运算
a = set('Hello')
b = set('World')

print(a - b) # a和b的差集(difference) {{'H', 'e'}
print(a | b) # a和b的并集(union) {'H', 'o', 'e', 'W', 'r', 'l', 'd'}
print(a & b) # a和b的交集 {'o', 'l'}
print(a ^ b) # a和b中不同时存在的元素{'W', 'r', 'H', 'e', 'd'}
  • 遍历循环集合
# 集合的遍历 注:集合不支持下标索引,不能用while循环遍历
s8 = {1,2,3,4,5,6,7,8,9}
for element in s8:
    print(element,end=",") # 1,2,3,4,5,6,7,8,9,

11、Dictionary字典

字典 键值对 重复的话,后面的会覆盖前面的 可以嵌套 不可以使用索引 不支持while循环。

字典是通过键来存取的,而不是通过偏移存取。字典是一种映射类型,字典用{}标识,它是一个无序的键(key):值(value)的集合。键必须是不可变类型,且唯一的。

# 定义空字典 {}或dict()
my_dic = dict()
print(type(my_dic)) # <class 'dict'>
# 定义字典
tinydict = {'name':'wenhua','sex':'男','age':21,'address':'陕西'}
print(tinydict.keys()) # 输出所有的键 dict_keys(['name', 'sex', 'age', 'address'])
print(tinydict.values()) # 输出所有值 dict_values(['wenhua', '男', 21, '陕西'])

注意事项

d = {x :x**2 for x in (2,4,6)}
print(d)# {2: 4, 4: 16, 6: 36}

12、数据类型转换

函数描述
int(x[,base])将x转换为一个整数
float(x)将x转换到一个浮点数
complex(real[imag])创建一个复数
str(x)将对象x转换为字符串
repr(x)将对象x转换为表达式字符串
eval(str)用来计算在字符串中的有效python表达式,并返回一个对象
tuple(s)将序列s转换为一个元组
list(s)将序列s转换为一个列表
set(s)将序列s转换为一个集合
dict(d)创建一个字典,d必须是一个(key,value)元组序列
frozenset(s)转变为不可变集合
chr(x)将一个整数转换为一个字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
list(s)将序列s转换为一个列表
set(s)将序列s转换为一个集合
dict(d)创建一个字典,d必须是一个(key,value)元组序列
frozenset(s)转变为不可变集合
chr(x)将一个整数转换为一个字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值