运用python筛选平闰年
python笔记1
python基本概念
1.什么是编程?什么是编程语言?
编程:用代码写程序
编程语言:用哪种规则去编写程序
2.编译型、解释型
编译型:执行效率高,平台依赖型极高 c语言
解释型:python语言-------执行效率相对较低,平台依赖性较低
3.python缺点:
python的代码不能加密
执行效率相对较低
python注释
1.单行注释:#
2.多行注释:’’’ ‘’’ “”” “””
python书写规范
1.python缩进非常重要【4个空格=一个tab键】
tab键和空格键不可混用
输出函数
1.print( )
2. print(value, ..., sep=' ', end='\n', file=sys.stdout,flush=False) 这里的灰色部分为print的规定设置
3.要想print输出不换行就要改设定(end='\n')为end=””
print("玩具卡",end="")
print("wjk") 运行结果为:玩具卡wjk
3.print() 可以输出多个字符串,然后用逗号隔开
print("qi,jia,hui") 运行结果为:qi,jia,hui
python的结束符
1.python的结束符为 ;
2.换行就是代替了结束符
输入函数
1.input( “提示词” )----------是字符串 【用int() /float() 把字符串转换成整型或者浮点型】
evel()-----可以把字符串自动转换成整型或者浮点型
input("请输入姓名:") 运行结果:请输入姓名
变量
1.变量是什么?
程序运行时,存储数据的盒子
2.为什么用变量?
代码复用,让代码变得灵活
3.变量名称=变量值【=表示赋值的意思】
把左边的值赋给右边
4.类型—取决于所赋予的变量值
【像javascript、php、python这些弱数据类型语言,变量类型由值确定】
常量:COUNT=1
5.变量可以是英文、数字、下划线、中文(极其不推荐)
6.不以数字开头
7.大小写及其敏感
8.不可以使用关键字、保留字
查看关键字【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'] -----------关键字
9.大驼峰、小驼峰命名、_
MyName myName my_name(推荐)
避免用内置已有的方法名
数据类型
1.基本数据类型
(1)数值型(number)
整型(int) 浮点(float) 复数(a+bi)
(2)布尔类型(bool)
True(真) False(假)
(3)字符串(str)
‘’ “ ” ‘’’ ‘’’ “ ” ” “ ” “
a = '''
karry 0921
''' 此形式为字符串,’’’ 中的形式保留’’’
print (a) 运行结果:karry 0921
(4) None 等价于undefined
(5)NaN not a number
2.复合数据类型
List set dict tuple object
3.查看数据类型:type( )
>>> a = 3
>>> type(a)
<class 'int'>
>>> a = 3.2
>>> type(a)
<class 'float'>
>>> a = input("wjk")
wjk
>>> type(a)
<class 'str'>
计算两数之和
num1 = input('请输入num1:')
num2 = input('请输入num2:')
num3 = num1 +num2
print(num3) 这只是字符串之间的相加,num1和num2均为字符串
num3 = num1 +num2 num =int(num1) +int(num2) int() 强制转换成整型
故num3运行的为数值型
强制数据类型转换
1.int( ) 强制转换成整型
2.float( ) 强制转换成浮点 ---------有小数的精度缺失问题
3.str( ) 强制转换成字符串
>>> type(a)
<class 'int'>
>>> type(str(a))
<class 'str'>
help()
dir()
字符串格式化:把变量和字符串进行拼接
1.用“+”进行拼接
uname = input("请输入用户名:")
pwd = input("请输入密码:")
ds = input("请输入您的地址:")
print("用户"+uname+"的密码是:"+pwd) 运行结果:请输入用户名:karry
请输入密码:0921
请输入您的地址:重庆
用户karry的密码是:0921所在地址重庆
2.只输出一个值时,可以选择用逗号隔开
uname = input("请输入用户名:")
pwd = input("请输入密码:")
ds = input("请输入您的地址:")
#print("用户"+uname+"的密码是:"+pwd+"所在地址"+ds)
print("用户名为",uname) 运行结果为:请输入用户名:karry
请输入密码:0921
请输入您的地址:重庆
用户名为 karry
3.占位符占取位置
uname = input("请输入用户名:")
pwd = input("请输入密码:")
ds = input("请输入您的地址:")
#print("用户"+uname+"的密码是:"+pwd+"所在地址"+ds)
#print("用户名为",uname)
print("用户名为%s的密码为%s 其地址为%s"%(uname,pwd,ds))
运行结果为:
请输入用户名:karry
请输入密码:0921
请输入您的地址:重庆
用户名为karry的密码为0921 其地址为重庆
【%s:将内容转换成字符串,放入占位位置】
【%d:将内容转换成整数,放入占位位置】
【%f:将内容转换成浮点型,放入 占位位置】
格式化的精度控制:
.n:控制小数点精度,要求是数字(会进行小数的四舍五入)
m:控制宽度,要求是数字(很少使用),设置的宽度小于数字本身,不生效
%5d:表示将整数的宽度控制在5位【如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度】
%5.2d:表示将宽度控制在5位,将小数点精确度设置为2
a = float(input("请输出一个浮点数"))
print("输出的数字是:%.2f" % a)
运行结果为:
请输出一个浮点数3.1415926
输出的数字是:3.14
4.format函数
uname = input("请输入用户名:")
pwd = input("请输入密码:")
ds = input("请输入您的地址:")
#print("用户"+uname+"的密码是:"+pwd+"所在地址"+ds)
#print("用户名为",uname)
#print("用户名为%s的密码为%s 其地址为%s"%(uname,pwd,ds))
print("用户名为{}的密码为{} 其地址为{}".format(uname,pwd,ds))
运行的结果为:
请输入用户名:karry
请输入密码:0921
请输入您的地址:重庆
用户名为karry的密码为0921 其地址为重庆
5.format函数的极简方式(极力推荐)
print(f”{变量名}”)
uname = input("请输入用户名:")
pwd = input("请输入密码:")
ds = input("请输入您的地址:")
#print("用户"+uname+"的密码是:"+pwd+"所在地址"+ds)
#print("用户名为",uname)
#print("用户名为%s的密码为%s 其地址为%s"%(uname,pwd,ds))
#print("用户名为{}的密码为{} 其地址为{}".format(uname,pwd,ds))
print(f"用户名为{uname}的密码为{pwd} 其地址为{ds}")
运行结果为: 请输入用户名:karry
请输入密码:0921
请输入您的地址:重庆
用户名为karry的密码为0921 其地址为重庆
算术运算符
1.+ - * /
2.//:整除
3.%求模(求余)
4.**求幂
打开ptyhon解释器运算
关系(比较)运算符
1.> < >= <=
2.== 等于 (=表示赋值)
3.!= 不等于
在python中返还True和False
逻辑运算符
1.&& 与(and)
2.|| 或(or)
3.^ 非(not)
返还True和Flase
所属运算符
1.In
2.not in
>>> a = [1,2,3,4]
>>> 1 in a
True
is运算符【判断的是内存地址是否相同】
==判断的是值是否相同
>>> a = [1,2,3,4]
>>> b = [1,2,3,4]
>>> a==b
True
>>> a is b
Flase
赋值运算符
1.=
2.+= a+=3--a=a+3
3.-=
4.*=
5./=
a=1
a +=3【a=a+3】
a-=3【a=a-3】
字符串对象
客串:dir()函数----看你的对象是有哪些方法的
1.len()---返回字符串长度
>>> s = 'karry'
>>> len(s)
5
2. .capitalize()---首字母大写
>>> s.capitalize()
'Karry'
3. .center()---文本居中
()中所填写的长度指总长【包括字符串的长度】
>>> s.center(21)
' karry '
>>> s.center(21,"#")
'########karry########'
4. .ljust()---居左
>>> s.ljust(21,"*")
'karry****************'
5. .rjust()---居右
>>> s.rjust(21,"*")
'****************karry'
6. .startswith()---以什么起始,用来判断
>>> s.startswith("k")
True
7. .endswith()---以什么结尾,用来判断
>>> s.endswith("y")
True
8. .find()----判断是否存在
-1:表示没有
其他数值:表示索引位置
find索引位置从0开始
>>> s.find("r")
2
9. .index()---找索引位置
不存在:报错
存在:返回索引位置
10. .format()----字符串格式化
>>> a = "karry"
>>> b = int(921)
>>> "a的姓名是{} 其生日为{}".format(a,b)
'a的姓名是karry 其生日为921'
11. .strip()----去除字符串首尾空格
12. .lstrip()---去除字符串左边空格
13. .rstrip()---去除字符串右边空格
14. “”.join()---在字符串中穿插
>>> "@".join(s)
'k@a@r@r@y'
15. .split(分割界线)---字符串分割
【作为分割界限的字符会变成 ’ 最后会返还成列表的形式】
>>> c.split("r")
['ka', '', 'y']
16. .replace(“需要替换的字符”,”替换成什么”)
>>> "wangjunkai".replace("a","i")
'wingjunkii'
17. .count()---统计某个字符在该字符里面出现的次数
>>> "wangjunkai".count("n")
2
18. .upper()---字符串全部大写
19. .lower()---字符串全部小写