打算系统的复习一下python3的语法,为后续AI相关工具研究和使用打下基础。
先从基本语法开始。知识小树如下。
换行符号就是python语句分隔符,每个语句独占一样。
分号也是语句分隔符,但是代码可读性不好,不符合pep8规范,不推荐使用;
代码要顶格写;否则会报错;
print("hello")
print("lifuchun")
用途: 解释代码,给人看,不会作为代码运行。
注释语法:
#导入模块 单行注释
import datetime
#输出当前日期,并指定格式
print(datetime.datetime.now().strftime("%Y-%m-%d %X"))
"""
多行注释
打印一个10以内的随机数
"""
import random
print(random.randint(1,10))
Python
python官方代码风格。目的是提高代码的可读性和可维护性。8条;
变量:是标识符,用来引用存储在内存中的数据。
print(1 + 2)
print(1 - 2)
print(1 * 2)
print(1 / 2)
print("================")
x = 1
y = 2
z = x + y
print(z)
print(x - y)
print(x * y)
print(x / y)
后面的代码如果要用到计算结果,则定义变量来存储,后续代码可以直接使用变量。
变量值修改:引用发生修改;
变量名的命名规范:
# 1 只能含有 字母,数字,下划线,不能以数字开头;
# xxd$=xx
# 1a="x"
# 2 区分大小写
x=1
X=2print(x)
# 3 不能使用关键字python = 1
# 4 命名有意义;
name = "f6"
li_fu_chun = "aaa"
整型和浮点类型
#整型
x = 10
print(type(x)) # <class 'int'>
#浮点型
y = 3.14
print(type(y)) # <class 'float'>
布尔类型
基本数据类型,表示真和假两种状态。
#布尔类型 比较得到
z = (x > y)
print(z)
# 直接申明
a = True
b = False
print("a type is : ",type(a)) # <class 'bool'>
print("a= ",a)
print("b= ",b)
# 用在分支条件中
if a:
print("a is True")
else:
print("a is False")
#所有的数据都有布尔值 ,整型和浮点型的0都是False ,其它的都是 True
print("x bool value is :",bool(x))
print("0 bool value is :",bool(0))
print("0.0 bool value is : ",bool(0.0))
# 字符串 “” ,列表 [] ,字典 {} 都是False,其它的都是 True
print(" "" bool value is :",bool(""))
print(" [] bool value is :",bool([]))
print(" {} bool value is :",bool({}))
字符串类型
表示文本数,字符组成的序列,每个字符可以是字母,数字,符号和其它字符;一般使用 单引号,和 双引号括起来。
展示文字:
存储:
传输:
# 构造字符串有4种方式,单引号,双引号,三引号
s1 = 'hello'
s2 = "你好啊"
# 跟多行注释是同一个东西
s3 = """hello
我很好"""
s4 ='''我要买道具,
python相关的;
1.电脑
2.显卡
3.书
'''
print(s1,"\n",s2,"\n",s3 ,"\n",s4)
转义:
# 转义符号:# 1)普通符号给与特殊的功能# 2)特殊符号普通化s1="\\n"
print(s1)
# 特殊符号普通处理s2='let\'s go'
print(s2)
# windows路径转义s3="d:\\data"
print(s3)
格式化输出:
name = '李福春'
age = 20
hobby="编程"
s1 = '''我的名字叫 %s
我的年龄是 %d
我喜欢 %s'''
# 方式1 占位符
print(s1 % (name,age,hobby))
print("====\n")
# 方式2 名称占位符
print(f'''我的名字叫 {name}我的年龄是 {age}我喜欢 {hobby}''')
序列操作:
字符串属于序列类型,所谓序列是一块可以存放多个值的连续内存空间,这些值按照一定的顺序排列,可以通过索引访问它们。
索引:
切片:
s="I love AI,this is the develop future of IT industry! "
print(s)
# 索引操作 正索引从0开 负索引从-1结束
print("s index 2 is :",s[2])
print("s last index 3 is : ",s[-3])
# 切片 索引开始位置:索引结束位置 ,缺省是 0,-1 怎么方便怎么来
sa = s[2:6]print("s 2:6 切片是:",sa) # love
sb = s[6:]print("s 6:-1 切片是:",sb)
sc = s[:6]print("s 0:6 切片是:",sc)
# 步长参数
sd = s[0:6:1]
print("s 0:6 1 步长切片是:",sd)
se = s[:]print("s 0:-1 全切是:",se)
sf = s[::-1]print("s 0:-1 反转是:",sf)
in:
拼接:
# 字符串拼接使用 +
s1 = "hello"
s2 = "world"
s3 = s1 + " " + s2
print(s3)
name = "李福春"
age = 20
s4= "我的名字:"+name +"\n我的年龄是:"+ str(age) + "**"*10print(s4)
#计算字符串长度
len1 = len(s4)
print("len1 is : ",len1)
s5="my name is 李福春"
len2 = len(s5)
print("len2 is : ",len2)
# in 是否存在,连续的字符串
b1 = "李" in s5
print("b1 is : ",b1)
内置方法:
输入输出函数。
input()读取得到的是用户输入的字符串。
# 输入展示信息
s = input("请输入姓名:")
s1 = input("请输入年龄:")
print(f"用户输入的是:{s} ,年龄:{s1}")
# 加法求和
n1 = int(input("number 1: "))
n2 = int(input("number 2: "))
print(f"{n1} + {n2} = {n1 + n2}")
# 输出函数
print("hello world",1,"carter")
print("hello world",1,"carter",sep=",")
内置方法:
upper , lower ,startswith,endswith , isdigit , strip
s = "I am Chinese!"
ss = " I am Chinese! "
# 内置方法 ,转成大写
s1 = s.upper()
b1 = s.isupper()
print(s, "upper:", s1 ," s is upper :",b1)
# 内置方法 ,转成小写
s2= s.lower()
b2=s.islower()
print(s, "lower:", s2 ," s is lower :",b2)
#开始和结束
b33 = s.startswith("I")
b44 = s.endswith("!")
print("s startswith I:",b33," s endswith !:",b44)
#是不是数字
b5 = s.isdigit()
b6 = s.isalpha()
b7= s.isalnum()
b8 = s.isnumeric()
print("s isdigit:",b5," s isalpha:",b6," s isalnum:",b7," s isnumeric:",b8)
# 去掉两边的空格或者换行符
s9 = ss.strip()
print("ss strip: ",s9)
判断是不是数字:
s = input("请输入一个数字:")
if s.isnumeric():
n = int(s)
print(f"{n} 的绝对值是:{abs(n)}")
else:
print("这是一个非数字")
链接和分割字符串:
# split分割成列表
s = "深圳,广州,北京,杭州,衡阳"
list = s.split(",")
print( list)
print(type(list))
n = len(list)
print(s, "城市数量:",n,sep="\n")
# 拼接字符串
s2 = "|".join(list)
print(s2)
查找和索引:
# find找不到返回-1 ,index找不到会报错 找到了则返回索引值
s = "语文:110,数学:100,英语:115"
r1 = s.find("100")print(r1)
r2 = s.index("115")print(r2)
计数和替换:
# count统计出现的数量
# replace: 替换字符串
s = "语文:110,数学:100,英语:115"
r1 = s.count(":")print(r1)
r2 = s.replace(",","|")print(r2)
r3 = s.replace(",","|",1)print(r3)
计算运算符:加减乘除 求余数
比较运算符:大于 小于 等于 不等
赋值:=
逻辑:and or not
成员: in
a = 1 + 1
b = 100 - 50
c = 5 * 20
d = 10 / 2
e = 10 % 3
print(a,b,c,d,e,sep="\n")
a = 2 > 1
b = 3 >=3
c = 1 < 5
d = 1 <=100
e = 20 == 20
f = 30 !=20
print(a,b,c,d,e,f,sep="\n")
a = 100b = a +1
c = 10000c +=1
d = 500d *=2
e = 100e /=2
print(a,b,c,d,e,sep="\n")
yu = 150
shu = 130
r1 = (yu ==150 and shu ==150)
if r1:
print("拿到奖品A")else: print("没拿到奖品A")
r2 = (yu ==150 or shu ==150)
if r2:
print("拿到奖品B")
else:
print("没拿到奖品B")
age = 20
hire = ( 20 <= age <=35)
print(hire)
本节复习了Python基础语法的核心内容,包括:
strip()
、replace()
)。如何利用Python字符串操作和运算符,设计一个简单的用户输入验证程序?
(例如:检查用户输入的邮箱格式是否合法,或密码是否包含数字和字母的组合。)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。