Python全栈开发【第二篇】:运算符、基本类型与字符串
上一篇补充:
1、编码:一个字节为8位二进制,编码方式最初为ASCII,然后出现Unicode,后来出现Unicode的压缩版--Utf-8,之后又Gbk编码方式。一个汉字,以Utf-8编码是3个字节,以Gbk编码是2个字节。
2、while循环:a.while else
b.continue break
continue,跳出当前循环,进入下一次循环
break,跳出所有循环
3、上一篇习题最后一道比较难处理:
1 count = 0 2 while count < 3: 3 user = input('>>>') 4 pwd = input('>>>') 5 if user == 'alex' and pwd == '123': 6 print('欢迎登陆') 7 print('..........') 8 break 9 else: 10 print('用户名或者密码错误') 11 count = count + 1
python开发IDE:pycharm、eclipse,二者选一个安装使用即可,前几天做毕设重装系统,导致我现在的pycharm打不开了,试了几种方法也不好用,打算过几天装个eclipse尝尝,现在写的都是单个文件执行,使用python自带的IDE也是可以的,后期多个文件不知道能不能继续用python自带的IDE,如果使用python自带的IDE,则添加注释为Alt + 3,消除注释为Alt + 4,如果使用pycharm记得要是专业版,不要汉化,具体安装和激活参考其他互联网文章,ctrl + ? 为注释快捷键。
1、运算符
结果是数值
算数运算
1 a = 10 * 10 2 print(a)
赋值运算
1 a = a + 1 #亦可写为 a+=1 2 print(a)
结果是布尔值 True 真 假 False
比较运算
1 a = 1 > 2 2 print(a)
输出结果为False
逻辑运算 与 and 、或 or 、非 !
1 a = 1>2 or 1==1 2 print(a)
输出结果为True
成员计算 in
1 a = "饭" in "不吃饭" #in 或者 not in 2 print(a)
输出结果为True
2、基本数据类型
1、数字 int ,所有的功能,都放在int里,在pycharm中,按一下Enter,新起一行,输入int,长按Ctrl,鼠标由箭头变成小手,然后用小手点一下 之前输入的 int ,就会弹出一个文件,文件中就是int的所有功能。(其他数据类型也同样操作)
1 a1 = 123
#将字符串转换为数字
1 a = "123" 2 print(type(a),a) 3 4 b = int(a) 5 print(type(b),b) 6 7 num = "0011" 8 v = int(num, base=16) 9 print(v)
输出结果为
<class 'str'> 123
<class 'int'> 123
17
第八行的语句base=16表示变量num为16进制编码 ,转换为10进制输出结果。
#当前数字的二进制,至少用n位表示
1 a = 12 2 r = a.bit_length() 3 print(r)
输出结果为 4
2、字符串 str
1 s1 = "asdf"
#首字母大写
1 test = "aLex" 2 v = test.capitalize() 3 print(v)
输出结果为 Alex
#所有变小写,casefold更牛一些:很多未知的对相应变小写
1 test = "aLex" 2 v1 = test.casefold() 3 print(v1) 4 v2 = test.lower() 5 print(v2)
输出结果为alex alex
#设置宽度,并将内容居中
#20代指总长度
#*空白未知填充,一个字符,可有可无
1 test = "aLex" 2 v = test.center(20,"*") 3 print(v)
输出结果为 ********aLex********
#去字符串中寻找,寻找子序列的出现次数
1 test = "aLexalexr" 2 v = test.count('ex') 3 print(v)
输出结果为 2
#定区间寻找子序列的出现次数
1 test = "aLexalexr" 2 v = test.count('ex',5,6) 3 print(v)
输出结果为 0 ,表示在第五个字符和第六个字符之间没有对应子序列
#以什么开始,以什么结尾
1 test = "alex" 2 v1 = test.endswith('ex') 3 v2 = test.startswith('ex') 4 print(v1) 5 print(v2)
输出结果为 True False
#从开始往后找,找到第一个之后,获取其位置,未找到则为-1
1 test = "alexalex" 2 v = test.find('ex') 3 print(v)
输出结果为 2
#index找到对应字符的第一个位置并输出,找不到,报错 忽略
1 test = "alexalex" 2 v = test.index('x') 3 print(v)
输出结果为 3
#格式化,将一个字符串中的占位符替换为指定的值
1 test = 'i am {name}, age {a}' 2 print(test) 3 v = test.format(name='alex',a=19) 4 print(v)
输出结果为
i am {name}, age {a}
i am alex, age 19
亦可用下面代码代替,实现同样输出结果
1 test = 'i am {0}, age {1}' 2 print(test) 3 v = test.format('alex',19) 4 print(v)
#格式化,传入的值{“name”:"alxe","a":19}
1 test = 'i am {name}, age {a}' 2 v1 = test.format(name='df',a=10) 3 v2 = test.format_map({"name": 'alex', "a": 19}) 4 print(v1) 5 print(v2)
输出结果为
i am df, age 10
i am alex, age 19
#判断字符串中是否只包含字母和数字
1 test = "123" 2 v = test.isalnum() 3 print(v)
输出结果为 True

浙公网安备 33010602011771号