python入门语法
python语法入门
1、与用户交互
输入(input())
python3
input()会将输入的内容全部转换成字符串类型
>>> input('输入你的名字')
输入你的名字shen#直接输入
'shen'#输出均为字符串类型
python2
python2中input要声明具体的数据类型,输入什么类型输出什么类型,或者用raw_input()和python3的input相同
input(">>:")
>>:sean#未知指明变量类型
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'sean' is not defined
input(">>:")
>>:"sean"#输入字符串类型
'sean'#输出字符串类型
input(">>:")
>>:1#输入数字类型
1#输出数字类型
input(">>:")
>>:[1,2]#输入列表类型
[1, 2]#输出列表类型
-------------------------------------------
raw_input(">>:")
>>:sean#直接输入不用声明变量类型
'sean'#输出都是字符串类型
raw_input(">>:")
>>:12
'12'
输出(print())
- 输出一个值和多个值(输出多个值用逗号分开,逗号后加一个空格规范)
print("a")#单个输出
print("a", "b", "c")#一次性输出多个值,用逗号分开,逗号后加空格规范
- 默认print有一个end='\n'功能,是打印换行的意思,可以修改成其他的,择不换行换成其他的符号连接
换行符"\n",在同一位置循环"\r"
# print("输入",end='\n')#默认end="\n",换行符的意思
print("输入名字:",end='')#用空格代替\n用空格连接后面一条打印的打印不换行
print("您的名字:",end='#')#用#代替\n用#连接后面一条打印的不换行
print('aaa',end="\r")#用\r代替\n在后面一条打印同一位置循环覆盖
>>>输入名字: 您的名字:#aaa
print("名字:",'12234')
>>>名字:12234
print("领导名字:",'14')
2、格式化输出
1、%s和%d
%s可以接收任意字符,%d只能接收数字类型并且输出转换成整型
name = input("输入名字:")
age = input("输入年龄:")
#age = int(age)#%d只能接收数字类型,故需要转换成数字类型
age = eval(age)#%d只能接收数字类型,故需要转换成数字类型
print("my name is %s" % name)
print("my name is %s , my age is %d" % (name, age))
print("my name is %s , my age is %s" % (name, age))
2、.format()
三种玩法
- “{}”.format(xxx,yyy)#按照顺序往花括号里放值
- "{1}".format(xxx,yyy,zzz)#按照索引往花括号里放值
- "{name}".format(name=xxx)#指定放值
name = "shen"
age = 18
hobby = "study"
#按顺序往{}里放值
print("我的名字是{}我的年龄{}".format(name, age, hobby))
#按索引放值
print("我的名字是{0}我的年龄{2}".format(name, hobby, age))
#按指定放值
print("我的名字是{mz}我的年龄{nn}".format(mz=name, nn=age))
3、f-string (python3.6版本之后才有的功能)
f"{xxx}"
name = "shen"
age = 18
habby = "study"
print(f"我的名字是{name},我的年龄是:{age}我的爱好是{hobby}")
3、基本数据类型
1、数字类型(不加引号)
整型 int
定义:手机号,身份证号,年龄等整数
a=123#a = int(123)
b="78"#字符串
c=int(b)#将b转换为整型
- python2中有长整型long,在[-24xxxxxxxx,24xxxxxxxx]范围内为整型,超过这个范围是长整型(10位数)
- python3中无长整型
浮点型 float
定义:带有小数的,如身高,体重等
a=12.5#a = float(12.5)
b="12.5"#字符串
c=float(b)#将b转换成浮点型
d=int(c)#将浮点型转换成整型去除小数部分,不会四舍五入(浮点型字符串转换成整型必须先转换成浮点型,再转换成整型)
2、字符串类型 str (加引号的都是字符串类型)
定义:存一些描述性信息,个人信息,姓名等
用单引号,双引号,三引号,引号没有区别,但不能混用
字符串内还有字符串就要不同的引号嵌套
name = “shen” # name = str(”shen“)
python2中str本质是8个bit位序列
python3中str本质是unicode序列
1024G=1T
1024M=1G
1024KB=1M
1024B=1KB
8bit=1b
字符串的拼接是开辟一个新的内存空间,然后将值存进去
3、列表类型 list
定义:存放一个或者多个不同类型的值
s = [1,2"shen",[2,"name"]]
索引
s = [1,2"shen",[2,"name"]]
print(s[0])>>>1
print(s[2])>>>shen
print(s[3][1])>>>name
4、字典类型 dict
定义:通过大括号来存数据,通过key:value这种映射关系来定义键值对,每个键值对通过逗号分隔
d = {"name":"shen", "age":18}
索引
d = {"name": "shen", "age": 18, "hobby": ['study', 'play', '读书']}
print(d["name"])>>>shen
print(d["hobby"][2])>>>读书
5、布尔类型 bool
定义:判断事物的对错
一般布尔类型不单独使用
is比较的是id,==比较的是值
4、运算符
1、算术运算
+、—、*、/、//(取整)、%(取余)、**(幂次方)
2、赋值运算
增量赋值
=、+=、-=、*=、/=、//=、%=、**=
链式赋值
x=y=z=1
交叉赋值
n = 1
m =2
n,m = m,n
》》n=2,m=1
解压赋值
l1 = [1,2,3,4]
a,b,c,d = l1
print(a,b,c,d)
>>>1,2,3,4
a,b ,*_ = l1
print(a,b)
>>>1,2
*_,a,b = l1
print(a,b)
>>>3,4
3、比较运算
print(a == b) # 判断运算符左右两边的值是否相等
print(a != b) # 判断运算符左右两边的值是否不相等
print(a > b)
print(a >= b)
print(a < b)
print(a <= b)
4、逻辑运算
and 、 or 、 not
与 、 或 、 非
a = 1
b = 2
c = 3
print(a > b and b > c)
print(a < b and b < c)# and连接两个全部为真才为真
print(a > b or b < c) # or连接两个有一个为真就为真
print(not a>b)
print(a<b and a>c or b<c)
print(a>b or b<c and a>c)#顺序判断真假
v1 = 1 or 3
print(v1)
v2 = 1 and 3
print(v2)
v3 = 0 and 2 and 1
print(v3)
v4 = 0 and 2 or 1
print(v4)
v5 = 0 and 2 or 1 or 4
print(v5)
v6 = 0 or False and 1
print(v6)
#两边都不是0的情况下and 直接取后面的值 or 直接取前面的值
#如果存在0的情况and 直接取0 or 直接取非0
#正常开发中混用and,or用括号区分优先级,增强程序可读性