一,基础
1,注释
- 用法1:
# 打印出ab
print('ab',12)
print('ab',12) # 打印出ab
- 用法2:
'''
注释1
注释2
注释3
'''
print('注释1', '注释2','注释3')
2,变量
三大组成部分
(1)变量名: 用来访问值
(2)赋值符号:把变量值的内存地址绑定给变量名
(3)变量值:就是我们记录的事物的状态,或者说存的数据
==========================
变量命名规规范:
1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 关键字不能声明为变量名['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']
==========================
变量名的命名风格:
(1) 驼峰体
AgeOfMz = 18
(2) 纯小写加下划线(推荐)
age_of_mz = 18
==========================
变量值有两大特征:
1)类型type
# age = 18
# print(type(age))
2)身份id:反映的是内存地址
# age = 18
# print(id(age))
3, 常量
# 常量就是不变的量(常以全大写定义)
AGE = 18
print(AGE)
4, 基本数据类型
1) int,整数型(录人的年龄\等级\号码等)
age=18
print(age,type(age))
18 <class 'int'>
2) float,浮点型(记录人的薪资\身高\体重等)
salary=23.8
print(salary,type(salary))
23.8 <class 'float'>
3) str字符符串(记录描述性值的状态)
name='mz'
print(name,type(name))
mz <class 'str'>
4) list列表: 按照位置存放多个任意类型的值,例如记录一个人多个爱好
# 例1
info="mz 16 sing"
print(info)
print(info[0])
mz 16 sing
m
# 例2
hobbies=["sing","dance","sleeping"]
print(hobbies[0])
sing
# 例3
info=[111,"info1",["aa",22],"bb"]
print(info)
print(info[1])
print(info[2][0])
[111, 'info1', ['aa', 22], 'bb']
info1
aa
5) dict,字典类型( 在{ }内用逗号分割开多个元素,每个元素 )
# 例1
info={"name":"mz","age":16,"hobby":["sing","dance"]}
print(info)
print(info["name"])
print(info["hobby"][0])
{'name': 'mz', 'age': 16, 'hobby': ['sing', 'dance']}
mz
sing
# 例2:
dic={
"k1":"lili",
"k2":"pipi",
"k3":[11,"aa"],
"k4":{
"a1":"apple",
"b1":"banana",
}
}
print(dic["k4"]["a1"])
apple
6) bool,布尔类型(记录的是真假两种状态)
x=True
print(x,type(x))
True <class 'bool'>
布尔类型分为显式布尔值与隐式布尔值
1.显式布尔值: 结果明确为True或者False
# x = True
# print(10 > 3)
2.隐式布尔值:字面上看不是布尔值,但是python解释器会私下将其转成布尔值
# 所有类型的值都可以放在条件中当布尔值用,其中0\空\None对应的布尔值为False,其余都为True
if None:
print("ok")
else:
print("no")
二,基本运算符
1)算术运算符
# print(4 + 4) # 4+4
# print(4 * 4) # 4x4
# print(4 ** 4) # 4的4次方
# print(4 / 4) # 4除以4
# print(4 // 4) # 整除
# print(4 % 4) # 余数(4除以4的余数)
print('abc'+'bcd')
print('abc' * 3)
print(["a","b",3] * 2)
2)比较运算符
# 例
a='abc'
b='abcd'
print(a<b)
# 例
print('abc' == 'abc')
print(9 > 7)
# 例
l1 = ["a",20,30]
l2 = ["b",10,40]
print(l2 > l1)
True
3)赋值运算符
age=9
age+=1 # 等同于age=age+1
print(age)
age=8
age*=2 # 等同于age=age * 2
print(age)
age=8
age/=2 # 等同于age=age / 2
print(age)
# 链式赋值
# x = y = z = 10
# 交叉赋值
x=10
y=22
x,y=y,x
print(x)
print(y)
22
10
# 解压赋值
## 例
info=[11,22,33,44]
k1=info[0]
k2=info[1]
print(k1)
11
## 例
info=[11,22,33,44]
# 少一个/多一个变量名都不行
a,b,c,d=info
## 例
info=[11,22,33,44]
# 只取前两个的值,用*_代替剩下的
k1,k2,*_=info
print(k1)
print(k2)
11
22
## 例
info=[11,22,33,44]
a1,*_last=info
*_first,a4=info
print(a1)
print(a4)
11
44
4) 逻辑运算符
逻辑运算符
# 储备知识:只要结果为布尔值的语句都可以当作条件
1, not:将后面的条件取反
print(not True)
print(not 4 < 9)
print(not 'a' == 'b')
False
False
True
2, and. 条件1 and 条件2,左右两个条件同时成立才算成立
print(4 > 3 and 1 == 1)
print(True and 0)
print(False and 4 > 3)
True
0
False
3, or 条件1 and 条件2,左右两个条件但凡成立一个就算成立
print(1>3 or 4==4 or False)
True
PS:
# 短路运算->偷懒原则
# not > and > or
res = 10 and 0 or '' and 0 or 'abc' or not 'egon' == 'dsb' and 333 or 10 > 4
print(res)
# (10 and 0) or ('' and 0) or 'abc' or (not 'egon' == 'dsb' and 333) or 10 > 4
abc
5) 身份运算符 is
is: 判断的是id是否相同,如果id相同,值一定相同
# 例
x = y = 10
print(id(x))
print(id(y))
print(x is y)
print(x == y)
4315947568
4315947568
True
True
==: 判断是值是否相同,如果值相同,id可能不同
# 例
la=[11,22,33]
lb=[11,22,33]
print(id(la))
print(id(lb))
print(la is lb)
print(la == lb)
4310927424
4311214656
False
True
PS:
is: 判断的是id是否相同,如果id相同,值一定相同
==: 判断是值是否相同,如果值相同,id可能不同
# 例
x=len('hello')
print(x)
print(x == None)
print(x is None)
print(x is not None)
5
False
False
True
三,与用户交互
1)接收用户输入
# 在python3中,input会把用户输入的内容转存为字符串类型 (如下,不管输入的是“字符串”还是“数字”,都会以字符串类型保存)
name=input("your name: ")
print(name,type(name))
age=input("your age:")
print(age,type(age))
your name: mz
mz <class 'str'>
your age:8
8 <class 'str'>
# 场景1:输入的数字指定数字类型,比大小
age=input("your age:")
age=int(age)
print(age,type(age))
print(age>3)
your age:8
8 <class 'int'>
True
示例:
name=input('Name:')
age=input('Age:')
sex=input('Sex:')
job=input('Job:')
info='''
=======info of zx======
Name:%s
Age:%s
Sex:%s
Job:%s
=========end======
'''%(name,age,sex,job)
print(info)
PS:
# 在python2中与用户交互的功能有两种
# 1、raw_input(),与python3的input功能一模一样
# 2、input(): 必须输入明确的数据类型,输入什么类型,就存成什么类型(没有引号)
2)输出
# 默认输入“换行”
print('aaa')
print('bbb')
print('ccc')
print('ddd',end='\n')
aaa
bbb
ccc
ddd
# 指定输出的结尾
print('aaa',end='---')
print('bbb',end='***\n')
print('ccc')
aaa---bbb***
ccc
======================================================
# 输出赋值
res = "my name is %s my age is %s" % ("mz",18)
print(res)
# 可以赋值列表
rres = "my name is %s my age is %s" % ("mz",[1,2,3])
print(rres)
my name is mz my age is 18
my name is mz my age is [1, 2, 3]
网友评论