jupyter 默认使用8888 的端口 通过web 访问即可
注释—— # 标注的文本
数字
整数,不区分long和int
进制0xa、0o10、0b10
bool,2个值True、False
浮点数
1.2、3.1415、-0.12,1.46e9等价于1.46*109
复数,1+2j
字符串
使用 ' " 单双引号引用的字符的序列
'''和""" 单双三引号,可以跨行、可以在其中自由的使用单双引号
在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
转义序列
\\ \t \r \n \' \"
前缀r,把里面的所有字符当普通字符对待
缩进
未使用C等语言的花括号,而是采用缩进的方式表示层次关系
约定使用4个空格缩进
续行
在行尾使用 \
如果使用各种括号,认为括号内是一个整体,内部跨行不用 \
。
。
。
(好烦,记不住)
几个简单函数的使用:
input 函数获取键盘输入
print 打印
range
a = int(input('>>>'))
b = int(input('>>>'))
if a > b:
print(a)
else:
print(b)
# 注意input 输入的为字符串,要与0 进行比较,注意类型转换
a = int(input('>>>'))
if a < 10:
print('1')
elif a < 100:
print('2')
elif a < 1000:
print('3')
elif a < 10000:
print('4')
elif a < 100000:
print('5')
#多分支结构的简单使用
a = int(input('>>>'))
if a < 1000:
if a < 10:
print('1')
elif a < 100:
print('2')
else:
print('3')
else:
if a < 10000:
print('4')
else:
print('5')
# 小代码,新玩法,简单二分法的应用,是不是效率会提高点
a = int(input('>>>'))
if a < 1000:
if a < 10:
num = 1
elif a < 100:
num = 2
else:
num = 3
else:
if a < 10000:
num = 4
else:
num = 5
print(num)
c = a
for i in range(num):
n = c//10
print(c-n*10)
c = n
# 你以为的你以为?,注意变量的赋值
python 为弱类型语言,变量的覆盖,加以使用
a = int(input('>>>'))
if a < 1000:
if a < 10:
num = 1
elif a < 100:
num = 2
else:
num = 3
else:
if a < 10000:
num = 4
else:
num = 5
print(num)
c = 0
for i in range(num,0,-1):
n = a//(10**(i-1))
print(n-c*10)
c = n
int()
只取整数部分
round()
四舍六入五取偶
//
整除向下取整
floor 向下取整,ceil 向上取整(注意负号,负数的使用)
type() 返回对象类型
isinstance() 返回布尔值
一个队列,一个排列整齐的队伍
列表内的个体称作元素,由若干元素组成列表
元素可以是任意对象(数字、字符串、对象、列表等)
列表内元素有顺序,可以使用索引
线性的数据结构
使用 [ ] 表示
列表是可变的
lst = list()
lst = []
lst = [2, 6, 9, 'ab']
lst = list(range(5))
# 求一百以内的质素
n = 100
primenumber = []
for x in range(2,n):
for i in primenumber:
if x%i == 0:
break
else:
primenumber.append(x)
print(primenumber)
一个有序的元素组成的集合
使用小括号 ( ) 表示
元组是不可变对象
nums = [9,8,7,6,5,4,3,2,1]
length = len(nums)
for i in range(length):
for j in range(length-i-1):
if nums[j] > nums[j+1]:
nums[j],nums[j+1] = nums[j+1],nums[j]
print(nums)
一个个字符组成的有序的序列,是字符的集合
使用单引号、双引号、三引号引住的字符序列
字符串是不可变对象
bytes 不可变字节序列
bytearray 字节数组 可变
通过索引区间访问线性结构的一段数据
sequence[start:stop] 表示返回[start, stop)区间的子序列
支持负索引
start为0,可以省略 p stop为末尾,可以省略
超过上界(右边界),就取到末尾;超过下界(左边界),取到开头
start一定要在stop的左边
[:] 表示从头至尾,全部元素被取出,等效于copy()方法
lst = [1,(2,3,4),5]
a,(b,c,d),e = lst
print(a,b,c,d)
# 不仅可以使用索引
_,[*_,val],*_ = lst
print(val)
_,(*_,val),*_ = lst
print(val)
key, _ , val = "JAVA_HOME=/usr/bin".partition('=')
print(key)
print(val
key,val = "JAVA_HOME=/usr/bin".split('=')
print(key)
print(val)
可变的、无序的、不重复的元素的集合
set的元素要求必须可以hash
目前学过的不可hash的类型有list、set
元素不可以索引
set可以迭代
key-value键值对的数据的集合
可变的、无序的、key不重复
d = dict(a=1,b=2,c='abc')
keys = []
for k,v in d.items():
if isinstance(v,str):
keys.append(k)
for k in keys:
d.pop(k)
print(d)
#字典的删除
[x**2 for x in range(1,11)]
# 下面for 循环的简单写法
d = []
for x in range(1,11):
d.append(x**2)
print(d)
列表解析式简单应用:
相邻两项求和
lst = [1,4,9,16,2,5,10,15]
[lst[i] + lst[i+1] for i in range(len(lst)-1)]
打印九九乘法表
[print('{}*{}={:2}{}'.format(j,i,i*j,'\n' if i == j else ''),end="") for i in range(1,10) for j in range(1,i+1)]
[print('{}*{}={:2}{}'.format(j,i,i*j,'\n' if i == j else ''),end="") for i in range(1,10) for j in range(1,i+1)]
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。