Python初识以及变量:
变量名:——字母 ——数字 ——下划线【见名识意】
(PS:数字不能开头;不能是关键字;最好不能和python内置的东西重复)
##########################################################################################################
——基础:
【1】第一句python,虽然后缀名可以任意?但是导入模块时,如果不是.py文件会出错。
python文件的后缀名是.py。
【2】两种执行方式:python解释器py文件路径
python进入解释器:实时输入并获取到执行结果。
【3】解释器路径: #!/user/bin/env python
【4】编码:#-*-coding:utf8-*-
【5】输入,输出(Python解释器是从上到下一行一行解释)
1 n=input('请输入用户名') 2 #永远等待,直到用户输入了值,就会将输入的值赋值给n,n代指输入的用户名(n即为变量) 3 print(n)
【6】注释:单行注释#,多行注释“”“三引号 多行全部注释,选中Ctrl+?
#########################################################################################################################################
——条件语句:
【1】条件语句结构:(代码块之前一定要缩进,一般缩进是4个缩进,即Tab键)
1 if 条件 : 2 print('OK') #内部代码块 3 else: 4 print('Error')
if 条件1: print('1') elif 条件2: print('2') elif 条件3: print('3') else: print('0')
【2】if 条件语句支持嵌套
【3】pass关键字,表示什么都不执行,直接过
1 #pass 2 if 1==1: 3 pass #不执行任何的语句,直接过 4 else: 5 print('我想吃烧饼')
###########################################################################################################################################
——while循环:
【1】while 条件: #条件不满足时跳出循环
代码块
【2】四个小例子:
1 使用while循环输出1,2,3,4,5,6,8,9,10 2 n=1 3 while n<11: 4 if n==7: 5 pass 6 else: 7 print(n) 8 n=n+1
1 求1-100的所有数的和 2 i=1 3 s=0 4 while i<=100: 5 s=s+i 6 i=i+1 7 print(s)
1 输出1-100内的所有奇数 2 n=1 3 while n<101: 4 temp=n%2 5 if temp==0: 6 pass 7 else: 8 print(n) 9 n=n+1
1 求1-2+3-4+5....99所有数的和 2 n=1 3 s=0 4 while n<100: 5 if n%2==1: 6 s=s+n 7 else: 8 s=s-n 9 n=n+1 10 print(s)
############################################################################################################################################
——运算符:
几个基本且常用的运算符:+,-,* ,/ ,%(取余) , //(相除取整)
in(判断是否在某某内) not in(不在) 结果:布尔值
==(等于) , > , < , >= , <= ,!=(不等于),<> (不等于)
补充:先计算括号内
一般的执行顺序:从前到后,结果
True OR ==》True
True AND==》继续走
False OR==》继续走
False AND==》False
#########################################################################################################################################
——基本数据类型:
数字 int (所有的功能都放在int里面,按住Ctrl点int就有所有的int功能,下同)
【1】将字符串转换为数字 int
1 a="123" 2 print(type(a),a) 3 b=int(a) 4 print(type(b),b) 5 6 num="0011" 7 v=int(num,base=2) #按照base二进制,转化为整型二进制数(base=8,10,16) 8 print(v)
【2】bit_length #当前数字的二进制,至少用几位来表示
1 age=5 2 r=age.bit_length()
布尔值 bool
【1】true false
字符串 str (只要是引号里面的都是字符串,单引号,双引号,三单引号,三双引号)
(字符串一旦创建就不可修改)
【1】首字母大写 capitalize()
1 test="aLex" 2 v=test.capitalize() 3 print(v)
【2】所有变成小写,lower(), casefold()都可以(但是casefold()更牛逼)
1 test="aLex" 2 v1=test.casefold() 3 print(v1) 4 v2=test.lower() 5 print(v2)
【3】设置宽度,并将内容居中 center() ljust()
1 test="aLex" 2 v=test.center(20,"*") 3 print(v) 4 #运行结果:***********aLex************ 空白未知填充,一个字符
1 test="aLex" 2 v1=test.ljust(20,"*") 3 print(v1) 4 v2=test.rjust(20,"*") 5 print(v2)
(运行结果)
【4】计算当前个数 count()
1 test="aLexalexr" 2 v=test.count("ex",1,20) 3 print(v) 4 #运行结果:2 5 #表示ex在test中出现过的次数,从1开始到20结束
【5】以什么结尾 endswith();以什么开头startswith();
1 test="aLex" 2 v=test.endswith('ex') 3 v1=test.startswith('ex') 4 print(v) 5 print(v1) 6 # 运行结果:True 7 False
【6】从开始往后找,找指定字符的位置 find()
1 test="alexalex" 2 v=test.find('ex',5,8) #起始位置5,终止位置为8(不包含) 3 print(v) 4 #运行结果:6
【7】字符串格式化, format() (占位符) format_map()
1 test="i am {name},age {age}" 2 v=test.format(name="aLex",age="20") 3 print(v)
运行结果:i am aLex,age 20
1 test="i am {name},age {age}" 2 v1=test.format_map( {'name':'aLex ' , 'age':'20' } ) #字典 3 print(v1) #同上
【8】字符串中是否只包含 数字和字母 isalnum()
1 test="123" 2 v=test.isalnum() 3 print(v) 4 #运行结果:True
【9】制表 expandtabs()
1 test="username \t email \t passward \n zy \t zy.@qq.com \t 123" 2 v=test.expandtabs(20) 3 print(v)
(实现截图)
【10】字符串是否只包含字母和数字 isalnum()
1 test="123" 2 v=test.isalnum() 3 print(v) 4 #运行结果:True
【11】字符串是否只包含字母 isalpha()
1 test="ahcu" 2 v=test.isalpha() 3 print(v) 4 #True
【12】判断当前输入是否是数字 isdecimal() (判断是否是小数) isdigit() isnumeric()(更加牛逼)
1 test="123" 2 v1=test.isdecimal() 3 v2=test.isdigit()
v3=test.isnumeric() 4 print(v1,v2,v3) 5 #运行结果:True True True
【13】是否存在不可显示的字符 (\t,\n )isprintable()
1 test="uisdnkjvn\tnvd" 2 v=test.isprintable() 3 print(v) 4 #运行结果:False
【14】判断是否全部是空格 isspace()
1 test=" " 2 v=test.isspace() 3 print(v) 4 #运行结果 True
【15】判断是否是标题 istitle() 全部转换成标题 title()(标题首字母全部大写)
1 test="I love you" 2 v=test.istitle() 3 print(v) 4 #运行结果:False 5 v1=test.title() 6 print(v1) 7 #运行结果:I Love You
【16】将字符串中的每一个元素按照指定分隔符进行拼接 join()
1 test="你是风儿我是沙" 2 print(test) 3 t="_" 4 v=t.join(test) 5 print(v)
(运行结果)
【17】判断是否是小写 islower() 变成小写 lower()
1 test="Alex" 2 v1=test.islower() 3 v2=test.lower() 4 print(v1,v2) 5 #运行结果:False alex
【18】判断是否是大写 isupper() 变成大写 upper()
1 test="Alex" 2 v1=test.isupper() 3 v2=test.upper() 4 print(v1,v2) 5 #运行结果:False ALEX
【19】去除左右空白 strip() 去除左边空白 lstrip() 去除右边空白rstrip()
1 test=" zhouyuan " 2 print(test) 3 v1=test.strip() 4 v2=test.lstrip() 5 v3=test.rstrip() 6 print(v1) 7 print(v2) 8 print(v3)
( 运行结果)
【20】分割字符串(分割成三份) partition()(从左开始第一个) rpartition()(从右边开始第一个)
1 test="aaasbbbsccc" 2 v1=test.partition('s') #不传参数 3 v2=test.rpartition('s') #从右边开始的s分割成包括s在内的三份 4 print(v1) 5 print(v2)
(运行结果)
【21】分割字符串(全部分割,也可以传递参数分割,但是不能保留分割的字符) split() rsplit()(右往左)
1 test="aaasbbbsccc" 2 v1=test.split('s',1) 3 v2=test.split('s',2) 4 v3=test.rsplit('s',1) 5 print(v1) 6 print(v2) 7 print(v3)
(运行结果)
【22】分割,只能根据,true,false分辨是否保留换行符\n splitlines()
1 test="aaa\nbbb\nccc" 2 v1=test.splitlines(False) 3 v2=test.splitlines(True) 4 print(v1) 5 print(v2)
(运行结果)
【23】大小写互相转换 swapcase()
1 test="ZHouYUan" 2 v=test.swapcase() 3 print(v) 4 #运行结果:zhOUyuAN
【24】替换字符串 replace()
1 test="zhouyuanzhouyuan" 2 v1=test.replace("yuan","tao") 3 print(v1) 4 v2=test.replace("yuan","tao",1) 5 print(v2)
——字符串黑魔法:
【1】索引(下标,获取字符串中某一个字符)
1 test="alex" 2 v1=test[3] 3 print(v1) 4 #运行结果:x
【2】切片
1 test="alex" 2 v=test[0:-1] 3 print(v) 4 #运行结果:ale
【3】len(字符串长度)
1 test="alex" 2 v=len(test) 3 print(v) 4 #运行结果:4
【4】for循环(格式:for 变量名 in 字符串:)
1 test="周圆最美" 2 for i in test: 3 print(i) 4 #运行结果: 周 5 # 圆 6 # 最 7 # 美
【5】range范围(帮助创建连续数字)
1 v=range(0,10,2) 2 for i in v: 3 print(i) 4 #运行结果: 0 5 # 2 6 # 4 7 # 6 8 # 8