Python学习,常用常记(运算符,优先级,字符串函数,占位符,ASCII)

本文推荐了优快云的人工智能工程师和Python全栈工程师课程,适合希望深入学习Python及其在机器学习和深度学习应用的读者。文章还详细介绍了Python的基础语法,包括位运算符、关系运算符、逻辑运算符等,以及字符串操作方法。

如果大家想要系统的学习和研究python以及在其基础上的常见的机器学习和深度学习框架和工具包, 那么强烈推荐大家学习优快云开设的:

人工智能工程师:https://edu.youkuaiyun.com/topic/ai30?utm_source=ljl

这个课程我实际听了, 老师的讲授水平很好, 条理清晰,思路明确,例子丰富, 非常值得大家学习借鉴, 在此强烈推荐一波, 让我们一起学习进步~

ps: 如果想要系统学习python的朋友,下面这门课是涵盖了python基础语法、web开发、数据挖掘以及机器学习,是优快云强力推荐的课程,有需要的朋友可以看看哈:
Python全栈工程师:https://edu.youkuaiyun.com/topic/python115?utm_source=ljl

 

位运算符:&(按位与), |(按位或), ^(按位异或), ~(按位取反);

                 <<(左移,左移一位就是乘2), >>(右移,右移一位就是除2);

~5 = -6:00000101(5) -> 11111010(取反,补码) -> 10000110(-6);

负数的右移:得到负数的补码,将补码右移相应位数,在返回原码;

原码 -> 补码  和  补码 -> 原码   都是   按位取反,末位加一(神奇);

关系运算符:==, !=, >, <, >=, <=;

(上一节是算术运算符 和 赋值运算符)

逻辑运算符:and(逻辑与), or(逻辑或), not(逻辑非);

成员运算符:in(属于), not in(不属于);

身份运算符:is(两标识符引用同一对象), is not(,,,不,,,);

and(逻辑与) 和 or(逻辑或) 的短路原则:有一个为假(真)则返回结果;

#判断是否是闰年:
if x%400==0 or x%100!=0 and x%4==0:
    print("YES")
else
    print("NO")

字符串连接:相加;输出重复字符串:相乘;可通过下标索引访问;

不可通过下标索引更改字符串内容!!!

字符串截取:str2=str1[start:stop]截取[start, stop)之间的字符;

                     str2=str1[:stop]从头截取到给定下标之前;

                     str2=str1[start:]从给定下标截取到最后;

str1 in str2:返回True, False;(not in)

a, b = 1, 2
print("a =", a)
print("a = %d, b = %d" % (a, b))#使用占位符

浮点数占位符输出 %.3f 保留三位小数,自动四舍五入;

str1 = "Sinhaeng_Hhjian"
floa = 3.1415926535897932384626
print("%s\n%.3f" % (str1, floa))#转义字符,换行输出(将普通字符转换成特殊含义字符)
print("%s \\n %.3f" % (str1, floa))#取消转义,直接输出(将特殊含义字符转换成普通字符)
#当要输出的字符串中含有单引号时,解决方法1:
print("We still have a long 'way' to go!")
#当要输出的字符串中含有单引号时,解决方法2:
print('We still have a long \'way\' to go!')

#当需要输出的字符串中换行比较多时:
print('''
We
still
have
a
long
way
to 
go
''')

#当需要输出的字符串中 将 特殊含义字符 转回 普通字符 比较多时:
print(r"We \t still \\\ go")#默认不进行转义

#可打印路径
print(r"C:\Users\Administrator\Desktop\Python-Turtle")
print("C:\\Users\\Administrator\\Desktop\\Python-Turtle")
'''
windows
C:\Users\Administrator\Desktop\Python-Turtle
1inux
/root/user/Sinhaeng_Hhjian/Desktop/Python-Turtle
'''

eval(str):将字符串str当作有效表达式 求值并返回结果(这就很秀了);

ans = eval("1+2")#ans = 3
ans = eval("1 + 2")#ans = 3
ans = eval("1 + 3/3")#ans = 2.0
ans = eval("1 + 3//3")#ans = 2

len(str):返回字符串的长度;

str1.lower():将字符串str1中所有英文字母转化为小写;

str1.upper():将字符串str1中所有英文字母转化为大写;

str1.swapcase():将字符串str1中英文字母大写转小写,小写转大写;

str1.capitalize():将字符串str1首字母大写,其他小写;

str1.title():将字符串str1中每个单词首字母大写,其他小写;

str1.center(width[, fillchar]):将字符串居中,两遍用fillchar填充,总共width长度;

str1.ljust(width[, fillchar]):将字符串左对齐;

str1.rjust(width[, fillchar]):将字符串右对齐;

str1.zfill(width):右对齐,前边补零;

str1.count(str2[, start][, end]):str1在[start, end)区间内str2出现的次数;

str1.find(str2[, start][, end]):str1在[start, end)区间内第一次str2出现的下标;

str1.rfind(str2[, start][, end]):从右向左找……;

str1.index(str2[, start][, end]):跟find一样,找不到时异常(find是-1);

str1.rindex(str2[, start][, end]):跟rfind一样,找不到时异常(find是-1);

str1.lstrip([char]):截取字符串str1左侧指定字符, 默认为空格;

str1.rstrip([char]):截取字符串str1右侧指定字符, 默认为空格;

str1.strip([char]):截取字符串str1左侧和右侧指定字符,默认为空格;

#求1 + 2 + 3 + …… + 100
sum = 0
num = 1
while num <=100:
    sum += num
    num += 1
print("sum = %d" % (sum))

ASCII:a(97);A(65);0(48);

ord(char):查询char的ASCII值;

chr(num):将ASCII值为num的字符输出;

### 李清照知识库的JSON数据结构设计 为了构建与李清照相关的知识库,可以采用一种层次化的JSON数据结构来存储她的生平、作品和其他相关信息。这种结构能够方便地扩展和查询。 #### 基本JSON数据模型 以下是可能用于表示李清照及其相关内容的一个基本JSON数据模型: ```json { "id": "li-qingzhao", "name": "李清照", "birth_year": "1084", "death_year": "约1155", "dynasty": "宋朝", "description": "宋代著名女词人,婉约派代表。", "categories": ["文学", "诗词"], "works": [ { "title": "如梦令·常记溪亭日暮", "year_written": "未知", "content": "常记溪亭日暮,沉醉不知归路……" }, { "title": "声声慢·寻寻觅觅", "year_written": "未知", "content": "寻寻觅觅,冷冷清清,凄凄惨惨戚戚……" } ], "related_people": [ { "name": "赵明诚", "relationship": "丈夫", "description": "金石学家,收藏家。" } ] } ``` 此JSON对象包含了多个字段,分别描述了李清照的基本信息、所属时代、主要成就以及其创作的作品列表等[^1]。通过这种方式,可以轻松实现对特定条目的检索或更新操作。 #### 动态生成JSON数据的方法 (Python示例) 如果希望通过编程方式动态创建类似的JSON文件,则可利用Python脚本来完成这一过程。下面是一个简单的例子展示如何构造上述提到的那种形式的数据集并保存到本地磁盘上: ```python import json data = { "id": "li-qingzhao", "name": "李清照", "birth_year": "1084", "death_year": "约1155", "dynasty": "宋朝", "description": "宋代著名女词人,婉约派代表。", "categories": ["文学", "诗词"], "works": [ {"title": "如梦令·常记溪亭日暮", "year_written": "未知", "content": "常记溪亭日暮,沉醉不知归路……"}, {"title": "声声慢·寻寻觅觅", "year_written": "未知", "content": "寻寻觅觅,冷冷清清,凄凄惨惨戚戚……"} ], "related_people": [{"name": "赵明诚", "relationship": "丈夫", "description": "金石学家,收藏家."}] } with open('li_qingzhao.json', 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False, indent=4) ``` 该段代码首先定义了一个字典变量`data`, 它按照之前讨论过的模式填充有关于李清照的信息;接着使用内置模块`json`中的方法将其序列化成字符串,并写入名为`li_qingzhao.json`的新文档中[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhjian6666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值