目录
-
标准输出
print('hello, world') print("hello, world") print('''hello, world''')
字符串的三种形式:单引号,双引号和三个单引号(内部可换行)
语句后面不需要分号结尾
-
赋值语句
age = 25
type(age)
age = True
type(age)
作用是 创建变量 + 赋值
同一变量可以多次赋值为不同类型
type函数可以判断变量当前的类型
-
注释
# 分两次打hello, world
print('hello,') #先打hello
print('world!') #再打world
类似shell脚本的注释风格
-
标准输入
name = input("What's your name")
type(name)
input函数可给出提示,并接受标准输入,返回结果为字符串
可以在上面的提示字符串结尾处,即name的后面引号的前面加上\n,这样提示能够换行
-
数据类型转换
value = int("32")
value = float("3.14159")
int函数把参数转成int,float把参数转成float
-
数学运算符
5 + 2
5 - 2
5 * 2
5 / 2
5 // 2
-5 % 2
5 ** 2
5 // 2.1
5.1 // 2
5.1 // 2.1
加减乘看起来没什么特别的。
但增加了 //(整数除) 和 **(指数)两个运算符。
注意,不能除尽的情况下,会发现除号 / 的结果其实是浮点数。其实能除尽的情况下 / 的结果也一样是浮点数,用type函数可以检查出来。
要用整数除号 // 才能得到和C、java等语言类似的效果,甚至 // 还支持浮点数,如果有浮点数的话,结果会是浮点数,只是小数位是0。
另外,负数的取余结果和java不一样
-
混合类型运算
5 + 2
5.0 + 2.0
5 + 2.0
如果都是整数,或者都是浮点数,就不需要提升。
否则会把整数提升成浮点数,然后再进行计算,即第三种情况。
-
字符串连接
print('hello, ' + 'world')
print('hello, ' 'world')
用加号可以连接,这个和java类似。
不用加号也可以连接,这个和C语言类似。
-
转义字符
print('123\t456')
print('789\n012')
print(' \' \\ \" ')
与C和java类似。
-
f-string占位符
print(f'Hello, world')
name = 'Python'
print(f'Hello, {name}')
print(f'Value is {10 + 2}')
val = 6
print(f'Value is {val + 2}')
f-string是3.6引入的,3.6之前版本要用format函数
-
f-string 格式化输出
print(f'{314159.26535897932384626:^20,.8f}')
冒号后面是指示符,顺序为:对齐方式+宽度+逗号分隔+.精度+类型
这里不展开了,有需要再查文档
-
f-string字符串连接
name = 'world'
print(f'hello, ' + f'{name}')
print(f'hello, ' f'{name}')
和普通string一样,也支持用加号或者不用加号连接
-
if语句
print('1st test')
if True:
print('always Ture!')
print('2nd test')
if 2 > 1 :
print('2 > 1')
if后面的条件判断不需要括号,但需要冒号
必须加缩进,而且缩进必须对齐。缩进取代了C和java用大括号{ }来包含代码段的方式。
(命令行模式下?)缩进块后得有个空行,才能写下一个语句
-
if-else语句
if False:
print('impossible')
else:
print('it is True')
print('I am not in if-else')
else后面也要有冒号,也要注意缩进
-
if-elif-else语句
value = 12345678 // 3
if value == 0:
print(0)
elif value == 1:
print(1)
else:
print(2)
elif 后面也要冒号,注意缩进
等价于C和java的 if + else if + else 写法,只不过按python的缩进规定,else if写起来会变得很难看。而用elif就不会。shell脚本里面也有elif
-
字符串比较
str = "Test"
if str == 'Test':
print('str == Test')
if str != 'test':
print('str != test')
if str < 'test':
print('T < t')
除了数字之外,字符串也可以直接用 == != > < 来比较 。
大于和小于,比的是字符串的编码值。
-
逻辑运算符 and or not
if True and False:
print('impossible')
if True or False:
print('always ture')
if not False:
print('neg false is true')
and 和 or 都是短路求值的,没有惊奇
-
布尔变量
value = 1000
expensive = value > 500
cheap = value < 100
type(expensive)
type(cheap)
布尔变量只有两种取值,True和False,首字母一定要大写
-
while循环
value=0
while value < 10 :
print(f'value is {value}')
value += 1
while循环和C与java类似,不要括号,要冒号,注意缩进
value += 1 是 value = value + 1 的更好写法,其他运算符号如加减乘除等等都支持,如 -= *= /= //= ,可以叫做赋值运算符
-
for循环,在列表内循环
for num in [1,2,3,4,5] :
print(num)
[1,2,3,4,5] 是pthon内置的数据结构,叫做列表list
for .. in 循环可以遍历列表,不要括号,注意冒号和缩进
-
for循环,使用range函数
for num in range(5) :
print(num)
for num in range(1,5) :
print(num)
for num in range(1, 10, 2) :
print(num)
for num in range(10, 1, -1) :
print(num)
通过输出可以得知range函数的参数
1、下限,只带一个参数时,默认0,包含下限
2、上限,只带一个参数时就表示上限,但不包含上限
3、步长,默认1,可以为负数
注意range返回值不是list列表
-
break和continue
for num in range(5):
if num == 3:
break
print(num)
for num in range(5):
if num == 3:
continue
print(num)
与C和java类似,分别是跳出循环或者是提前结束本次循环
下一篇:python基础02——函数