python基础一
1、变量
a:必须由数字,字母,下划线任意组合,且不能数字开头。
b:不能是python中的关键字。
['and', 'as', 'assert', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try', 'while', 'with', 'yield']
c:变量具有可描述性。
d:不能是中文,也不能用拼音。
2、常量:python中没有常量,只不过约定俗称,一直不变的量。常量全大写。
3、注释:方便自己方便他人理解代码。
单行注释:#
多行注释:'''被注释内容'''
"""被注释内容"""
单双引号木有任何区别,多引号作用就是多行字符串必须用多引号
4、用户交互:input
a:等待输入,
b:将你输入的内容赋值给了前面变量。
c:input出来的数据类型全部是str
name = input('请输入您的名字:') age = input('请输入您的年龄:') print('我叫'+name,'年龄'+age+'岁')
5、基础数据类型
数字:int 5
注意:在Python3里不再有long类型了,全都是int
运算符: + - * /
** (取指) 如:5**2 = 25 5**3 = 125
type() 可以获取类型
字符串转化成数字:int(str) 条件:str必须是数字组成的。
数字转化成字符串:str(int)
字符串:str,python当中凡是用引号引起来的都是字符串。
可相加:字符串的拼接。
可相乘:str * int 相乘其实就是复制自己多少次,再拼接在一起
bool:布尔值。 True False。
6、缩进原则:
顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
同一级别的代码,缩进必须一致
官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。
7 、流程控制之--if
单分支:
if 条件:
满足条件后要执行的代码
如:
if 5 > 3: print('成立')
双分支:
if 条件:
满足条件后要执行的代码
else:
if条件不满足就会走这里
if 5 > 3: print('成立') else: print('不成立')
多分支:
if 条件:
满足条件后要执行的代码
elif 条件:
上面的条件不满足就会走这里
elif 条件:
上面的条件不满足就会走这里
elif 条件:
上面的条件不满足就会走这里
else:
上面的条件不满足就会走这里
x = 5 if x == 1: print('今天星期一') elif x == 2: print('今天星期二') elif x == 3: print('今天星期三') elif x == 4: print('今天星期四') elif x == 5: print('今天星期五') elif x == 6: print('今天星期六') elif x == 7: print('今天星期日') else: print('输入有误')
循环嵌套:
8 、流程控制之--while循环
while 条件:
循环体
如果条件为真,那么循环体则执行,反之相反
break用于完全结束一个循环,它会完全跳出循环体执行后面的语句
continue则是只中止本次循环,执行下次循环
count = 0 while count <= 10: print(count) if count == 5: break count += 1 #0,1,2,3,4,5
count = 0 while count <= 10: count += 1 if count == 5: continue print(count) #1,2,3,4,6,7,8,9,10,11
while ... else ...
与其他语言else一般只与if搭配不同,在python中还有个while...else语句。它这个else的作用是指:当while循环正常执行完,中间如果没有被break中止的话,就会执行else后面的语句
count = 1 while count <= 5: print(count) count += 1 else: print('循环正常执行完了') #1,2,3,4,5,循环正常执行完了
count = 0 while count < 5: if count == 3: break print(count) count += 1 else: print('循环正常执行完了') #0 1 2
9、基本运算符
运算符按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算等
算数运算 + - * / % ** //
a = 2 b = 3 c = 4 print(a + b) # a+b = 5 print(a - b) # a-b = -1 print(a * b) # a*b = 6 print(a / b) # a/b = 0.6666666666666666 print(a % b) # a%b = 2 取模-返回除法的余数 print(a ** b) # a**b = 8 幂-返回a的b次幂 print(a // b) # a//b = 0 取整除,返回商的整数部分 print(c // b) # c//b = 1
比较运算: == != <> > < >= <=
赋值运算: = += -= *= /= %= **= //=
a = 2 b = 5 c = 7 b **= a print(b) #25 b **= a 等效于 b = b ** a c //= a print(c) #3 c //= a 等效于 c = c // a
逻辑运算: and or not
and : 布尔“与” 同真为真,其余为假
or: 布尔“或” 同假为假,其余为真
not: 布尔“非” 取反
优先级: () > not > and > or
print(True and False) #False print(True and True) #True print(True or False) #True print(False or False) #False print(not True) #False #x or y x 为非零,则返回x #x and y x 为true,则返回y #ps int ---> bool 非零转换成bool值是True 0转换成bool值是False #ps bool ---> int Ture转换成数字为1 False转换成数字为0 print(1 or 2) #1 print(0 or 2) #2 print(3 or 2) #3 print(0 or 100) #100 print(2 or 3) #2
print(2 or 1 < 3) #2 print(3 > 1 or 2 and 2) #True print(1 > 2 and 3 or 4 and 3 < 2) #False
10、格式化输出
%占位符, s-字符串, d-digit数字
%% 只是单纯的显示%
name = input('请输入姓名:') age = input('请输入年龄:') height = input('请输入身高:') msg = '我叫%s,今天%d,身高%s 学习进度为3%%' %(name,int(age),height) print(msg) ''' 请输入姓名:张三 请输入年龄:15 请输入身高:172 我叫张三,今天15,身高172 学习进度为3% '''
11、内容编码
python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8。
最早的’密码本‘ ascii 涵盖了英文大小写,特殊字符,数字。但是,ascii最多只能用8位来表示,也就是2**8=256种可能,太少...
于是,创办了万国码 unicode。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由16位来表示(2个字节),即2**16 = 65536. (注:此处说的是最少2个字节,可能更多) 但还算是太少了
unicode一个中文用四个字节表示
unicode 升级 utf-8 utf-16 utf-32
8位 = 1字节bytes
utf-8 一个字符最少用8位去表示,英文用8位 一个字节
欧洲文字用16位去表示 两个字节
中文用24位去表示 三个字节
utf-16 一个字符最少用16位去表示
1bit 8bit = 1byte
1byte 1024byte = 1KB
1KB 1024KB = 1MB
1MB 1024MB = 1GB
1GB 1024GB = 1TB
gbk 国内使用,一个中文用2个字节表示。但包含的比较少。
所以,通常用utf-8来表示字符编码