python基础编程(1)
一、变量
1、定义变量
#定义变量
name='zhangli'
age=18
salary=1000.1
isBoy=True
print('name','age','salary','isBoy')
#运行结果
name age salary isBoy
2、查看变量数据类型
#查看数据类型
print(type(name))
print(type(age))
print(type(salary))
print(type(isBoy))
#运行结果
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
3、查看变量内存地址
#查看变量内存地址
name1='zhangli'
name2='zhangli'
print(id(name1))
print(id(name2))
#运行结果
1525455308400
1525455308400
4、引号功能(python语法)
#单引号等价与双引号
name1="zhangli"
name2='zhangli'
print(name1)
print(name2)
#运行结果
zhangli
zhangli
#多引号可以多行表示
language='''
c++
python
jave
'''
print(language)
#运行结果
c++
python
jave
二、常用数据转换
1、字符串转整型(int)
#字符串转整型(int)
age1='10'
print(type(age1))
age=int(age1)
print(type(age))
#运行结果
<class 'str'>
<class 'int'>
2、字符串转float类型
#字符串转float类型
salary1='1000.1'
print(type(salary1))
salary=float(salary1)
print(type(salary))
#运行结果
<class 'str'>
<class 'float'>
三、输入与输出
1、换行与空格(python语法)
\n:换行
\t:空格
2、输出与输入
#输入与输出
username=input('请输入你的名字:\n')
age=int(input('请输入你的年龄:\n'))
salary=float(input('请输入你的工资:\n'))
isBoy=input('请输入你的性别:\n')
print(input(username))
print(input(age))
print(input(salary))
print(input(isBoy))
print('%s,%d,%f,%s'%(username,age,salary,isBoy))
#运行结果
请输入你的名字:
zhangli
请输入你的年龄:
18
请输入你的工资:
1000.5
请输入你的性别:
boy
zhangli
18
1000.5
boy
zhangli,181000.500000,boy
3、字符串的格式化输出
#字符串的格式化输出
username=input('请输入你的名字:\n')
age=int(input('请输入你的年龄:\n'))
salary=float(input('请输入你的工资:\n'))
isBoy=input('请输入你的性别:\n')
print('my name is %s,and my age is %d,and my salary is %f,and my isBoy is %s'
%(username,age,salary,isBoy))
#运行结果
请输入你的名字:
zhangli
请输入你的年龄:
18
请输入你的工资:
1000.5
请输入你的性别:
boy
my name is zhangli,and my age is 18,and my salary is 1000.500000,and my isBoy is boy
四、编码与解码
1、编码
#把str的数据类型转为bytes的数据类型
str1="张荔"
str_bytes=str1.encode('utf-8')
print(str_bytes)
#运行结果
b'\xe5\xbc\xa0\xe8\x8d\x94'
2、解码
#把bytes的数据类型转为str的数据类型
bytes_str=str_bytes.decode('utf-8')
print(bytes_str)
#运行结果
张荔
3、网路爬虫
#网络爬虫
import requests
r=requests.get('https://so.gushiwen.cn/gushi/sanbai.aspx')
print(r.content.decode('utf-8'))
#运行结果部分)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" id="html">
<head><meta http-equiv="Cache-Control" content="no-siteapp" /><meta http-equiv="Cache-Control" content="no-transform " /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>
古诗三百首_古诗文网
</title>
<script type="text/javascript">
if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
window.location.href = "https://m.gushiwen.cn/gushi/sanbai.aspx";
} else {
}
五、字符串
1、查询对象有那些方法?
#查看对象有那些方法
str='hello world'
print(dir(str))
#运行结果
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
2、字母大小写转换与判断
#字母小写转大写
str1='hello'
print(str1.upper())
#判断字母是否为大写
print('判断字母是否为大写:',str1.upper().isupper())
#运行结果
HELLO
判断字母是否为大写: True
#字母大写转小写
str2='HELLO'
print(str2.lower())
#判断字母是否为小写
print('判断字母是否为小写:',str2.lower().islower())
#运行结果
hello
判断字母是否为小写: True
3、判断字符串是以什么字符开头或结尾
#判断字符串是以什么字符开头
str1='hello'
print('判断字符串以什么开头:',str1.startswith('h'))
#判断字符串是以什么字符结尾
print('判断字符串以什么结尾:',str1.endswith('h'))
#运行结果
判断字符串以什么开头: True
判断字符串以什么结尾: False
4、查找指定字符索引
#查看指定字母的索引
str='hello world'
print(str.find('o'))
print(str.find('i'))
#运行结果
4
-1
5、查询字符段长度
#查询字符段长度
str='hello world'
print(len(str))
#运行结果
11
6、查看对象个数
#查看字符(对象)个数
str='hello world'
print(str.count('o'))
#运行结果
2
7、查询字符串中指定索引的字符
#查询字符串索引
str='hello world'
print(str.index('w'))
#运行结果
6
#注意
find与index的区别:
find查询不到,运行结果会显示“-1”
index查询不到,运行结果会报错
8、字符串的替换
#字符串的替换
str3='acd'
print(str3.replace('c','d'))
#运行结果
add
9、取消字符串的空格(开头与结尾)
#取消字符串的空格(开头与结尾)
str4='hello '
print(str4.strip())
#运行结果
hello
10、字符串的循环
#字符串的循环
str='hello world'
for acd in str:
print(acd)
#运行结果
h
e
l
l
o
w
o
r
l
d
11、拆分字符串
#拆分字符串
str='hello world'
print(str.split( ))
#运行结果
['hello', 'world']
12、合并字符串
#合并字符串
str5=['python','java','c++']
print(' '.join(str5))
#运行结果
python java c++
六、字符串格式化方法
username=input('请输入你的名字:\n')
age=int(input('请输入你的年龄:\n'))
salary=float(input('请输入你的薪酬:\n'))
#字符串格式化的第一种方式
print('my name is %s,and my age is %d,and my salary is %f'%(
username,age,salary))
#字符串格式化的第二种方式
print('my name is {username},and my age is {age},my salary is {salary}'.format(
username=username,age=age,salary=salary
))
#字符串格式化的第三种方式
print('my name is {0},and my age is {1},my salary is {2}'.format(
username,age,salary
))
#运行结果
请输入你的名字:
zhangli
请输入你的年龄:
18
请输入你的薪酬:
1000.5
my name is zhangli,and my age is 18,and my salary is 1000.500000
my name is zhangli,and my age is 18,my salary is 1000.5
my name is zhangli,and my age is 18,my salary is 1000.5
七、逻辑判断
1、逻辑判断关键字
if、elif(esle if)、else
#逻辑判断if,elif(else if),else
score=int(input('请输入学生成绩:\n'))
if score<60:
print('差劲')
elif score>=60 and score<80:
print('成绩良好')
elif score>=80 and score<90:
print('成绩优秀')
elif score>=90 and score<100:
print('成绩优秀')
else:
print('不成立')
2、for循环
#字符串的循环
str='hello world'
for acd in str:
print(acd)
#运行结果
h
e
l
l
o
w
o
r
l
d
3、while True:死循环
while True:
score = int(input('请输入学生成绩:\n'))
if score < 60:
print('差劲')
elif score >= 60 and score < 80:
print('成绩良好')
elif score >= 80 and score < 90:
print('成绩优秀')
elif score >= 90 and score < 100:
print('成绩优秀')
elif score==100:
print('满分')
elif score == 150:break
else:
break
八、列表
1、查看列表的方法
增加:append、insert
删除:pop、remove
两个列表合并:extend
获取元素的个数:count
获取元素的索引:index
反转:reverse
排序:sort
清除:clear
复制:copy
1)增加
append:把新增的元素默认放在最后一位
insert:按照索引位置添加元素
如果是数字,则:
列表.sort():从小到大顺序排序
列表.sort(reverse=True)
#创建列表
list1=[1,2,3,4,5]
#新增元素,其默认放在最后一位
list1.append(6)
#新增元素,按照索引位置添加元素
list1.insert(2,9)
print(list1)
2)删除
pop:删除最后一位并且返回(在计算机里,所有的返回必须有输出才能够看到)
remove:指定要删除的元素
#创建列表
list2=[1,2,3,4,5]
#删除最后一位元素,且返回显示删除元素
print(list2.pop())
#删除指定元素
print(list2.remove(4))
#查看当前元素
print(list2)
3)查看
print(列表)
#查看列表
list3=[1,2,3,4,5]
print(list3[4])
4)修改
列表[索引]=修改后的元素
#根据索引修改元素
list3=[1,2,3,4,5]
list3[1]=777
print(list3)
5)查看索引
print(列表.index(元素))
#查询索引
list3=[1,2,3,4,5]
print(list3.index(3))
6)查看元素个数
print(列表.count(元素))
#查看元素个数
list3=[1,2,3,4,5]
print(list1.count(4))
7)清空
元素.clear()
#清空元素
list3=[1,2,3,4,5]
list3.clear()
print(list3)
8)合并
列表1.extend(列表2)
#两列表合并
list4=[1,2,3,4]
list5=['a','b','c','d']
list4.extend(list5)
print(list4)
9)反转
列表.reverse()
#反转
list6=[1,2,3,4,5,'a','b']
list6.reverse()
print(list6)
10)排序
sort()
注意:
如果是字母,则按照ascill码进行排序(内部把字母转换成数字进行从小到大排序)
元素的排序(倒序):sort(reverse=True)
元素的排序(正序):sort()
#字母排序
list7=['a','z','h']
list7.sort(reverse=True)
print(list7)
#数字排序
list8=[100,27,89,345,67]
list8.sort()
print(list8)
list8.sort(reverse=True)
print(list8)