print("hello world")
hello world
基础语法
变量、数据类型、运算符、流程控制
函数
java/c/js都是这个套路
代码–》运算
有运算,就得先有数据,先有地方存数据
@1变量:存数据
@2哪些数据:数据的种类、数据类型
@3数据的运算:运算符
@4运算逻辑:流程控制(if while for等)
@5函数,让代码结构更简单
高级应用
集合、异常处理、IO流、网络编程、多线程
语言特性
面向对象
重要应用,熟练掌握
字符串操作、集合操作
#弱数据类型。变量不需要指定数据类型
a = 1;
a = True;
a = 1.0;
#一会是整数,一会是布尔,一会儿又是小数
print(a);
1.0
对照java不能这样写的
java是强数据类型语言,变量必须指定类型,变量的类型不能变化
js,也是弱类型语言
弱数据类型优点是灵活,写法方便,但是不利于构造大型工程
#整数、小数、布尔、字符串、各种集合
#字符串
a = "123";
a = '123'; #一样的
print(a)
123
#三引号,支持换行
a = '''jkfjdk
jfkdj
fkdjk''';
print(a)
jkfjdk
jfkdj
fkdjk
#java中定义字符串,必须使用双引号;单引号表示单个字符char
#python不存在单个字符char的说法,统统都是字符串【类似js】
# str --- int 相互转换
a = '123';
#a = a+1; #报错,字符串拼接时,+号的前后必须都是字符串
a = a+str(1); #str是内置函数,可以将对象转换成字符串
print(a);#1231
a = "123";
a = int(a)+1; #int是内置函数,将数字字符串转为整数,然后整数相加
print(a);# 124
1231
124
a = True; #布尔类型首字符大写 True False
a = str(a); #将布尔转换成字符串
print(a == 'True');
True
#字符串的斜杠问题
#定义一个字符串,内容是单斜杠
a = '\';';
print(a) # ';
# \和后面的字符串连在一起,表示特殊含义。
# \'--->单引号不再是字符串的结束了,而就表示一个单引号的内容
a = '\\';
print(a);
# \\反斜杠和后面的反斜杠结合,表示后面的\就只表示内容,不再具有特殊含义
';
\
特殊的转义字符:
\n 换行
\r 回车
\t tab制表衔
\b \f ’ \‘’ \等
a = 'C:\Users\Administrator\Desktop\cj.txt';
print(a); #请问打印的结果是什么??
#java:没有 \U \q \d \p \a等这些写法, \不能与它们完成组合,所以编译报错
#python:
#python字符串可以写\u,但是\u后面不能乱写
Cell In[8], line 1
a = 'C:\Users\Administrator\Desktop\cj.txt';
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 12-13: truncated \UXXXXXXXX escape
a = 'C:\\Users\\Administrator\\Desktop\\cj.txt';
print(a);
C:\Users\Administrator\Desktop\cj.txt
# python中的\u
# \u后跟4位16进制数字,表示一个字符的Unicode码
# java中也是支持这样的写法
a = '\u4e20'
print(a); #打印出来就是这个字符 '丠'
a = '䎕'
print(a);
丠
䎕
#关于字符串的r [推荐方式]
a = r'C:\Users\Administrator\Desktop\cj.txt'; # 所有字符都不具有特殊含义,都是普通内容
print(a);
C:\Users\Administrator\Desktop\cj.txt
a = r'1\n2\n3';
print(a);
1\n2\n3
运行符
与java大体相同
算术、比较、逻辑、赋值、位、移位等
print(5/2);
print(5//2); #地板除 floor 向下取整
2.5
2
# 与:and
# 或:or
# 非:not
print(5>3 or 3<1)
print(not 3<1)
True
True
a = b = 3;
print(a)
3
# 赋值运算符是有结果值的!!![python有待商榷]
a = (b=3)+1; # 报错,但是java 是可以的
print(a);
Cell In[16], line 2
a = (b=3)+1; # 报错,但是java 是可以的
^
SyntaxError: invalid syntax. Maybe you meant '==' or ':=' instead of '='?
a = 1;
a++; # 不支持自增自减
Cell In[17], line 2
a++; # 不支持自增自减
^
SyntaxError: invalid syntax
a = 5>3?5:3; #三元运算符,不支持这样写【写法后面介绍】
Cell In[18], line 1
a = 5>3?5:3; #三元运算符,不支持这样写【写法后面介绍】
^
SyntaxError: invalid syntax
#流程控制
a = int(input("请输入一个数字"));#获取用户的输入,注意类型转换
print(a)
# 代码块不再通过大括号{}来表示,而是通过 冒号+层级缩进indent表示
# 没有特别限制缩进几个空格或者几个tab ,自身统一即可
if a%2 == 0:
print('偶数');
print('oushu');
print('Ou');
else:
print('奇数');
请输入一个数字 100
100
偶数
oushu
Ou
# else if ---> elif
a = int(input("请输入一个数字"));
if a>0:
print('正')
elif a<0:
print("负")
else:
print("零")
请输入一个数字 0
零
#while
# 1+...+100的和
sum = 0;
i = 1;
while i<=100:
sum+=i; # sum = sum+i;
i = i+1;
print(sum);
5050
#for,与java或js中的for不同
#更像是foreach,遍历某个集合/范围。
#for 变量 in 集合/范围
ay = [1,2,3,4,5,6,7,8,9,10]; # list,相当于java中的list
sum = 0;
for a in ay:
sum+=a;
print(sum);
55
# range 内置函数,可以得到某个范围内的每一个数字
range(100) #[0,99]
range(101) #[0,100]
range(10,20) #[10,19]
sum = 0;
for a in range(100):
sum += a;
print(sum)
4950