疯狂python讲义 笔记 第二章

本文深入探讨Python的弱类型特性,解析变量声明、数据类型转换、注释的重要性,以及数值类型、字符串操作、输入输出控制等核心概念。通过实例演示字符串格式化、序列方法和运算符的使用,适合Python初学者快速掌握语言基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2 变量和简单类型

Python 是一门弱类型语言,弱类型包含两方面的含义:

  • 所有变量无需声明即可使用,或者对没有用过的变量赋值就是声明了该变量。
  • 变量的数据类型可以随时改变,同一个变量可以一会儿是数值型,一会儿说字符型

2.1 注释

  • 给人看
  • 控制范围修bug

2.2 变量

print() 函数默认以空格隔开多个变量(空格是默认分隔符), 想要改变默认分隔符,可通过sep参数进行设置
例如:

first_name = 'AAA'
last_name = 'BBB'
print('fullname =', first_name, last_name, sep='#')
# print outcome: fullname =#AAA#BBB

一般情况下 print()函数输出之后总会换行,这是因为print()函数的end参数默认值是
‘\n’ 不换行只要修改参数就好

num_1 = 30
num_2 = 40
num_3 = 50
print(num_1, '\t', end='@')
print(num_2, '\t', end='')
print(num_3, '\t')
#print outcome: 30      @40     50(下一个命令行不在后面而是换行了)

file参数指定print()函数的输出目标,file参数的默认值为sys.stdout, 该默认值代表了标准输出,也就是屏幕,因此print()函数默认输出到屏幕上。实际上可以改变参数改变输出位置

f = open('test1.txt', 'w')
print('Hello World!', file=f)
print('欢迎加入python大家庭', file=f)
f.close()

print()函数的flush参数用于控制输出和缓存,一般保持为False 来保持高性能

2.3 数值类型

2.3.1 整型

python没有long, short, int

a = 114514114514114514
print(type(a))

对于这段代码,3.x的答案是 int 2.x的答案是long

python的整形数值有四种表示形式

  • 十进制
  • 二进制 0b 或 0B开头
  • 八进制形式 0o 或 0O开头的整数
  • 十六进制形式 0x或0X的整数

python3 不支持八进制 但是支持 数值划线

my_price = 114_514
print(my_price)
#print outcome: 114514

2.3.2 浮点型

  • 十进制形式: 浮点数必须包含一个小数点 否则会被当成整数处理
  • 科学计数形式: 5.12E2也是浮点数 python认为它是512.0

2.4.3 rear 和字符串

age = 20
print('I am' + age + 'years old')
# 报错:TypeError: can only concatenate str (not "int") to str

这里用str()或者repr() 都行

2.4.4 使用input 和 raw_input获取用户输入信息

raw_input()函数是python2的
input()是python3的
无论输入那种内容,input()函数始终返回字符串

目前觉得没什么用的长字符串和原始字符串还有bytes

2.5.2 字符串格式化

age = 20
print('I am %s years old' % age)

2.5.3 序列相关方法

在这里插入图片描述

2.5.4大小写相关方法

python 字符串由内建的str类代表
dir(): 列出指定类或模块包含的全部内容(包括函数、方法、类、变量)
help(): 查看某个函数或方法的帮助文档

str类中与大小写相关的常用方法如下:
title(): 将每个单词的首字母改为大写
lower(): 将整个字符串改为小写
upper(): 将整个字符串改为大写

str1 = 'I am Your brother!'
print(str1.title())
print(str1.lower())
print(str1.upper())

'''
print outcome:
I Am Your Brother!
i am your brother!
I AM YOUR BROTHER!
'''

2.5.5 删除空白

  • strip():删除字符串前后的空白
  • lstrip():删除字符串(左边)的空白
  • rstrip():删除字符串(右边)的空白

默认值是空白,还可以传参数

在这里插入图片描述

查找、替换相关方法

  • startswith():是否以指定子串开头
  • endswith():是否以指定子串结尾
  • find(): 查找指定子串在字符串中出现的位置,如果没有找到指定子串,返回-1
  • index():查找指定子串在字符串中出现的位置,如果没有找到指定子串,则引发ValueError 错误
  • replace(): 使用指定子串替换字符串中的目标子串。
  • translate():使用指定的翻译映射表对字符串执行替换
s = 'crazyit.org is a good site'
print(s.startswith('crazyit'))
print(s.endswith('site'))
print(s.find('org'))
print(s.find('org', 9))
print(s.index('org', 8))
print(s.replace('it', 'xxx'))
print(s.replace('it', 'xxx', 1))

'''
True
True
8
-1
8
crazyxxx.org is a good sxxxe
crazyxxx.org is a good site
'''

翻译映射表我现在这个懒狗真的懒得学,回头说(等等

2.5.7 分割、连接方法

split()按指定分隔符分隔成多个关于
join()连接成字符串

2.6 运算符

  • python支持连续赋值

a=b=c=20

  • == 只比较两个变量的值,但is要求两个变量引用同一个对象
    python 用id()找到变量引用的内存地址 如果所在地址相同则是同一个对象

python的三目运算符为什么看着这么笨比?

a = 3
b = 4
print('a大于b') if a > b else print('a不大于b')
# 人家JS a > b? print('a大于b'):print('a不大于b')

in 运算符
用来判断某个成员是否位于序列中,python中str就是一个序列

python之中的运算符是有优先级的
但是要注意:

  • 不要把一个表达式写的过于复杂,如果一个表达式过于复杂,可读性差,请分成几步完成
  • 不要过度地依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,应该尽量使用“()” 来控制表达式的执行顺序
世界地图矢量数据可以通过多种网站进行下载。以下是一些提供免费下载世界地图矢量数据的网站: 1. Open Street Map (https://www.openstreetmap.org/): 这个网站可以根据输入的经纬度或手动选定范围来导出目标区域的矢量图。导出的数据格式为osm格式,但只支持矩形范围的地图下载。 2. Geofabrik (http://download.geofabrik.de/): Geofabrik提供按洲际和国家快速下载全国范围的地图数据数据格式支持shape文件格式,包含多个独立图层,如道路、建筑、水域、交通、土地利用分类、自然景观等。数据每天更新一次。 3. bbbike (https://download.bbbike.org/osm/): bbbike提供全球主要的200多个城市的地图数据下载,也可以按照bbox进行下载。该网站还提供全球数据数据格式种类齐全,包括geojson、shp等。 4. GADM (https://gadm.org/index.html): GADM提供按国家或全球下载地图数据的服务。该网站提供多种格式的数据下载。 5. L7 AntV (https://l7.antv.antgroup.com/custom/tools/worldmap): L7 AntV是一个提供标准世界地图矢量数据免费下载的网站。支持多种数据格式下载,包括GeoJSON、KML、JSON、TopJSON、CSV和高清SVG格式等。可以下载中国省、市、县的矢量边界和世界各个国家的矢量边界数据。 以上这些网站都提供了世界地图矢量数据免费下载服务,你可以根据自己的需求选择合适的网站进行下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值