python入门
一、控制台输出
1.1print()函数可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:
>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
输出结果(print()会依次打印每个字符串,遇到逗号“,”会输出一个空格)
The quick brown fox jumps over the lazy dog
1.2输入交互
name = input()
print('hello,', name)
可以增加提示词
name = input('please enter your name: ')
二、python语法
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进;
在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。
a = 100
if a >= 0:
print(a)
else:
print(-a)
2.1注释
# print absolute value of an integer
2.2数据类型
2.2.1字符串
字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。
如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识
'I\'m \"OK\"!'
表示的字符串内容是:I'm "OK"!
2.2.2格式化
在Python中,采用的格式化方式和C语言是一致的,用%实现
'Hello, %s' % 'world' 'Hello, world'
%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
| 占位符 | 替换内容 |
|---|---|
| %d | 整数 |
| %f | 浮点数 |
| %s | 字符串 |
| %x | 十六进制整数 |
format()
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……
'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
f-string
以f开头的字符串,称之为f-string,它和普通字符串不同之处在于,字符串如果包含{xxx},就会以对应的变量替换
r = 2.5
s = 3.14 * r ** 2
>>> print(f'The area of a circle with radius {r} is {s:.2f}')
The area of a circle with radius 2.5 is 19.62
:后面的.2f指定了格式化参数(即保留两位小数)
2.2.3布尔值(True、False)
布尔值可以用and、or和not运算
2.3list和tuple
2.3.1 list
是一种有序的集合,可以随时添加和删除其中的元素
classmates = ['Michael', 'Bob', 'Tracy']
查看长度:len(classmates),最后一个元素的索引是len(classmates) - 1
追加元素到末尾:classmates.append('Adam')
插入到指定的位置:classmates.insert(i, 'Jack')
删除指定位置的元素:用pop(i)方法
2.3.2 tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
classmates = ('Michael', 'Bob', 'Tracy')
空的tuple:t = ()
1个元素的tuple:t = (1,)
2.4条件判断
2.4.1 if else
区别于java,这里是elif
age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
2.4.2 match
score = 'B'
match score:
case 'A':
print('score is A.')
case 'B':
print('score is B.')
case 'C':
print('score is C.')
case _: # _表示匹配到其他任何情况
print('score is ???.')
在最后(且仅能在最后)加一个case _表示“任意值”
复杂match支持条件判断
case x if x < 10:
print(f'< 10 years old: {x}')
点击查看代码
age = 15
match age:
case x if x < 10:
print(f'< 10 years old: {x}')
case 10:
print('10 years old.')
case 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18:
print('11~18 years old.')
case 19:
print('19 years old.')
case _:
print('not sure.')
2.5循环
与java一致,在循环中,break语句可以提前退出循环。也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。
2.5.1for
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
2.5.2while
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
2.6 字典
2.6.1dict
dict是用空间来换取时间的一种方法。dict可以用在需要高速查找的很多地方。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
注意:返回None的时候Python的交互环境不显示结果。
要删除一个key,用pop(key)方法,对应的value也会从dict中删除
2.6.1set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
set可以看成数学意义上的无序和无重复元素的集合
通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通过remove(key)方法可以删除元素
该学6
https://liaoxuefeng.com/books/python/function/index.html
浙公网安备 33010602011771号