华科python与人工智能实践(公选)教程
python基础
软件下载
1.python下载安装
点击此链接进入官网windows下载地址
点击箭头处链接下载最新版本,进入页面后下拉
根据你的机器下载对应版本,一般人使用的是X86架构windos系统,下载箭头所指即可
若是不知道CPU架构,可见查看cpu架构,x86还是arm
下载后根据指引进行安装即可
2.环境变量配置
3.IDE下载安装(Pychram)
4.Conda下载安装 包管理和环境管理系统
5.jupyter notebook 交互计算应用程序
一、基础语法
1.行与缩进
Python 与 C/C++、Java 这些 C 类语言不同,Python 使用缩进来表示代码块,而不是花括号,缩进的空格数量可以由个人习惯决定,但同一个代码块的缩进空格数必须相同。
if True:
print("true")
print("true")
else:
print("false")
print("false");
上面程序的 if 部分和 else 部分缩进不相同,但是在各自的代码块内缩进是相同的,所以是正确的程序。
if True:
print("true")
print("true")
这个程序的 if 部分缩进不相同,所以是错误的程序。
多行语句
Python 的代码一般是一行一条语句,语句之后的分号 ; 可加可不加。但如果要在一行中写多条语句,则需要用分号 ; 隔开每条语句。
print("hello")
print("world");
print("hello");print("world")
以上三行(四条语句)都是正确的。
2.标识符与保留字
(1)标识符
标识符就是程序中,使用的各种名称,例如:变量名、常量名、类名等等。
在 Python 中,对标识符格式的要求与 C/C++、Java 等差不多:
- 第一个字符必须是字母表中的字母或下划线 _ ;
- 标识符的其他的部分,由字母、数字和下划线组成;
- 标识符对大小写敏感;
- 标识符不能与保留字相同。
比如:
num1 = 1
float1 = 0.5
true = True #这个 true 虽然字面上的意思与值“True”相同,但 python 对大小写敏感,所以也是正确的
str1 = "hello"
这些都是正确的标识符。
而:
1value = 1 #开头不能是数字
value0.1 = 0.1 #标识符中间只能是数字,字母,下划线
if = True #与保留字if重名
都是不正确的标识符。
(2)保留字
保留字即关键字,是 Python 语言中内部使用的单词,代表一定语义。例如:and、class、if、else 等。保留字不能作为标识符,用在变量名、常量名、类名等地方。
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
import keyword
print(keyword.kwlist)
输出:['False', 'None', 'True', 'and', 'as', 'assert', '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 中单行注释以 # 开头:
#这是一个注释1
print("python")
#这是一个注释2
#print("python2")
多行注释可以使用多个#,也可以用一对'''(三个单引号)或者"""(三个双引号)包裹要注释的内容:
#使用多个#
#作注释
'''
用三个单引号
作注释
'''
"""
用三个双引号
作注释
"""
4.输出输出
(1)输出
print的函数的基本使用,在之前的关卡中,已经出现过多次,将要输出的内容放在print()的括号内,就可以输出:
print("hello world")
得到的结果是:hello world
print函数可以同时输出多个内容,只需要将它一起放在print的括号内,并用逗号隔开:
print("hello","world")
得到的结果:hello world
值得注意的是,同时输出的多个内容之间,会有空格隔开。
类似于 C/C++ 的printf,Python 的print也能实现格式化输出,方法是使用%操作符,它会将左边的字符串当做格式字符串,将右边的参数代入格式字符串:
print("100 + 200 = %d" % 300) #左边的%d被替换成右边的300
print("A的小写是%s" % "a") #左边的%s被替换成右边的a
得到的结果是:
100 + 200 = 300
A的小写是a
如果要带入多个参数,则需要用()包裹代入的多个参数,参数与参数之间用逗号隔开,参数的顺序应该对应格式字符串中的顺序:
print("%d + %d = %d" % (100,200,300))
print("%s %s" % ("world","hello"))
得到的结果是:
100 + 200 = 300
world hello
格式字符串中,不同占位符的含义:
占位符 | 含义 |
---|---|
%s |
作为字符串 |
%d |
作为有符号十进制整数 |
%u |
作为无符号十进制整数 |
%o |
作为无符号八进制整数 |
%x |
作为无符号十六进制整数,a~f 采用小写形式 |
%X |
作为无符号十六进制整数,A~F 采用大写形式 |
%f |
作为浮点数 |
%e /%E |
作为浮点数,使用科学计数法 |
%g /%G |
作为浮点数,使用最低有效数位 |
注意: print函数输出数据后会换行,如果不想换行,需要指定end="":
print("hello" , end="")
print("world" , end="")
得到的结果:helloworld
(2)输入
Iinput
使用input函数可以获得用户输入,在控制台窗口上,输入的一行的字符串,使用变量 = input()的形式将其赋值给一个变量:
str1 = input()
print("输入的是%s" % str1)
如果输入hello然后回车,则输出:输入的是hello。
还可以在input()的括号内,加入一些提示信息:
str1=input("请输入:")
print("输入的是%s" % str1)
运行之后,会先显示请输入:,输入数据hello之后回车,则会得到输出:输入的是hello,控制台上显示的全部内容为:
请输入:hello
输入的是hello
II 字符串转换
input函数接收的是用户输入的字符串,此时还不能作为整数或者小数进行数学运算,需要使用函数将字符串转换成想要的类型。
转换成整数,使用int()函数:num1 = int(str)
转换成小数,使用float()函数:f1 = float(str)
str = input()
num1 = int(str)
f1 = float(str)
print("整数%d,小数%f" % (num1,f1))```
如果输入10,得到的输出是:整数10,小数10.000000。
III f-string格式化字符串
f-string是 Python 3.6 引入的一种格式化字符串的方式,它比 % 操作符和 str.format() 更加简洁和高效。f-string 允许直接在字符串内嵌入表达式或变量。基本使用语法如下:
在字符串前加上 f 或 F,并在字符串内部使用 {} 包裹变量或表达式,例如:
name = "Alice"
age = 30
message = f"My name is {name} and I am {age} years old."
print(message)
#输出
#My name is Alice and I am 30 years old.
f-string的特点和用法包括:
- 直接嵌入变量: 可以在 {} 中放置任何变量,它会直接替换为该变量的值。
- 支持表达式: 不仅可以放入变量,还可以放入任意表达式,Python 会计算表达式的值并插入。
- 调用函数: 你可以直接在 {} 中调用函数并输出结果。
- 格式化数字: 可以在 {} 中使用格式化指令,比如浮点数保留小数位、百分比格式等,例如:
pi = 3.1415926535
print(f"Pi to 3 decimal places: {pi:.3f}")
二、字符串处理
1.字符串拼接
Python 中使用+来合并两个字符串,这种合并字符串的方法叫做拼接。其基本语法如下:
result_string = source_string1 + source_string2
其中:
- source_string1:待合并的第一个字符串;
- source_string2:待合并的第二个字符串;
- result_string:合并后的字符串。
注意:如果需要,在两个字符串之间可以增加相应的空格,具体见下面的例子。例如,将姓氏和名字拼接成全名:
# coding=utf-8
# 将姓氏和名字分别保存在两个变量中
first_name = 'Zhang'
last_name = 'san'
# 将姓氏和名字拼接,将结果存储在full_name变量中
full_name = first_name + " " + last_name
print(full_name)
#输出结果:
#Zhang san
2.字符转换
3.字符串查找与替换
(1)字符串查找
Python 提供了内置的字符串查找方法find(),利用该方法可以在一个较长的字符串中查找子字符串。如果该字符串中,有一个或者多个子字符串,则该方法返回第一个子串所在位置的最左端索引,若没有找到符合条件的子串,则返回-1。find()方法的基本使用语法如下:
source_string.find(sub_string)
其中:
- source_string:源字符串;
- sub_string:待查的目标子字符串;
- find:字符串查找方法的语法关键字。
例如,在一个字符串中,查找两个单词的位置:
# coding=utf-8
# 创建一个字符串
source_string = 'The past is gone and static'
# 查看"past"在source_string字符串中的位置
print(source_string.find('past'))
# 查看"love"在source_string字符串中的位置
print(source_string.find('love'))
#输出结果:
#4
#-1
(2)字符串替换
Python 提供了replace()方法,用以替换给定字符串中的子串。其基本使用语法如下:
source_string.replace(old_string, new_string)
其中:
- source_string:待处理的源字符串;
- old_string:被替换的旧字符串;
- new_string:替换的新字符串;
- replace:字符串替换方法的语法关键词。
该操作返回值为转换后的新串,若要直接对原串修改,应写source_string=source_string.replace(old_string, new_string)
例如,在如下字符串中,用small子串替换big子串:
# coding = utf-8
# 创建一个字符串circle
source_string = 'The world is big'
# 利用replace()方法用子串"small"代替子串"big"
print(source_string.replace('big','small'))
#输出结果:
#The world is small
(3)字符串分割
Python 提供了split()()方法实现字符串分割。该方法根据提供的分隔符,将一个字符串分割为字符列表,如果不提供分隔符,则程序会默认把空格(制表、换行等)作为分隔符。其基本使用语法如下:
source_string.split(separator)
其中:
- source_string:待处理的源字符串;
- parator:分隔符;
- split:字符串分割方法的关键词。
例如,用+、/还有空格作为分隔符,分割字符串:
# coding = utf-8
# 待处理字符串source_string
source_string = '1+2+3+4+5'
# 利用split()方法,按照`+`和`/`对source_string字符串进行分割
print(source_string.split('+'))
print(source_string.split('/'))
#输出结果:
#['1', '2', '3', '4', '5']
#['1+2+3+4+5']