python基础

python基础

特殊用法

# 转移字符 ‘\’, 其中\t 表示制表符 \n表示换行
print('I\'m ok')

# Python使用r''表示‘’内部的字符串默认不允许转义
print(r'\n')

# 字符串中的多行内容''' '''
print('''line1
line2''')

# -*- coding: utf-8 -*-  指定当前的编码方式

字符串和编码

ASCII编码1个字节,Unicode编码2个字节,UTF-8编码可变长编码,UTF-8根据不通的数字大小编码成1-6个字节,常用的应为被编码成一个字节,汉字通常编码为3个字节,生僻字被编码为4-6个字符。
在机器内存中,统一使用Unicode编码,当需要保存到硬盘或者传输的时候,就会转化为UTF-8编码

# Python字符串
# 使用ord()获取字符的整数表示,使用chr()函数吧编码转化为字符
print(ord('中'))
print(chr(20013))
#使用16进制表示
print('\u4e2d')
20013
中
中
#python 字符串类型是str,在内存中以Unicode表示,在网络传输和保存到磁盘时,需要将str变为字节为单位的bytes
x = b'abc'
print(x)
print('adc'.encode('ascii'))
b'abc'
b'adc'
#如果从网络或者磁盘上读取字节流,那个需要将bytes转化为str
( b'\xe4\xb8\xad\xe6\x96\x87').decode('utf-8')
'中文'
# 计算str包含多少个字符串,len()函数,如果转化为bytes,len()函数就计算字节数
print(len('abc'))
print(len('中文'))
print(len(('中文').encode('utf-8')))
3
2
6
# 格式化输出字符串, 在字符串内部,%s表示用字符串替换,%d表示用整数替换,%f表示浮点数, %x 表示十六进制
print('hello, %s' % ('world'))
# 对于字符串中的%号,使用%%表示一个%
print('hello, %%')
# 另一种方法是使用format()方法格式化,参数依次替换字符串内的占位符{0}、{1}……
hello, world
hello, %%

list和tuple

# list 是一个可变的有序列表
classmates = ["ming","zhao","li"]
# 使用append往末尾追加数字
classmates.append("sun")
# 使用insert插入数据
classmates.insert(1,'jack')
print(classmates)
print(classmates[0])
print(classmates[-1])
print(classmates[:-1])
print(classmates[:-2])
# 删除list末尾的元素
classmates.pop()
print(classmates)
#删除指定位置的元素
classmates.pop(0)
print(classmates)
# 替换指定位置的元素
classmates[0] = 1
print(classmates)
['ming', 'jack', 'zhao', 'li', 'sun']
ming
sun
['ming', 'jack', 'zhao', 'li']
['ming', 'jack', 'zhao']
['ming', 'jack', 'zhao', 'li']
['jack', 'zhao', 'li']
[1, 'zhao', 'li']
#tuple 元组
# tuple和list非常类似,但是tuple一旦初始化,就不能修改了
classmates = ("1","2","3")
print(classmates)
#当只有一个元素的tuple时,会加一个逗号
classa = (1,)
# 当是有一个括号是,也是tuple类型
a = ()
('1', '2', '3')
d = (3,)
e = (4,5,6)
a = ()
print(d,e,a)
(3,) (4, 5, 6) ()
### 条件判断
print(range(5))
print(list(range(5)))
range(0, 5)
[0, 1, 2, 3, 4]
# 循环
# 计算1-100的和
sum = 0
for i in range(101):
    sum = sum + i
print(sum)
sum = 0
n=0
while n<=100:
    sum = sum + n
    n = n+1
print(sum)
5050
5050

dic和set

# dict
d = {
   'Michael': 95, 'Bob': 75, 'Tracy': 85}
# 从dict中获取,这种方式在获取时,如果key不存在,则抛出异常
print(d['Michael'])
# 使用get时,如果不存在,则返回None,可以通过在后面添加默认值的方式,初始化
print(d.get("666","777"))
# 删除某key时,可以通过pop(key)

#dict 和list相比
# dict查询和插入的速度极快,不会随着key的增加而减慢速度
# 占用大量的内存,内存浪费多
95
777
# set 创建set,需要提供一个list输入作为集合,
s = set([1,2,3])
print(s)
# 添加元素
s.add(4)
# 删除元素
s.remove(1)
print(s)
{1, 2, 3}
{2, 3, 4}

函数

调用函数

# 查看函数信息
help(abs)
Help on built-in function abs in module builtins:

abs(x, /)
    Return the absolute value of the argument.
# 绝对值函数
print(abs(-100))
# 最大值函数
print(max(1,2))
#数据类型转换
print(int('132'))
print(bool(' '))
print(bool(''))
#将整数转化为16进制
print(hex(16))
100
2
132
True
False
0x10

定义函数

# 空函数
def nop():
    pass
# 定义参数类型
def my_abs(x):
    if not isinstance(x,(int,float)):
        raise TypeError("bad oprand type")
    if x > 0:
        return x
    else:
        return -x
print(my_abs(-2))

import math
# 返回多个值,实际上,Python返回的仍为单一值,tuple
def move(x, y, step, angle=0):
    nx = x + math.cos(angle)*step
    ny = y + math.sin(angle)*step
    return nx, ny
print(move(1,2,5,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值