print("hello world")
"""
pycharm中三种波浪号:红色 - 语法错误! 灰色 - 格式错误 绿色 - 单词错误!
"""
1.python是解释性语言
2.变量 例如:n = 1, age, sex = 17, '男', a = b = 10
3.运算符
数学运算符,逻辑运算符(and, or not),赋值运算符,比较运算符(结果都是布尔值)
4.if分支结构
"""
if 条件语句:
代码块
elif 条件语句
代码块2
"""
5.循环结构
"""
for 变量 in 序列:
循环体
while 条件语句:
循环体
"""
6.数字类型:int, float, bool, complex
0b010101(二进制),0o23424(八进制),0x324234sadad(十六进制)
bin()转换成二进制,oct()转换成八进制,hex()转换成十六进制
1e2 = 1 * 10 **2 = 100 1e-2 = 0.01
True == 1, False == 0
1+10j
for i in range(1, 10):
for j in range(1, i + 1):
print(j, "*", i, "= ", j * i, end='')
print(end='\n')
for i in range(1, 10):
for j in range(1, i + 1):
print("%s*%s=%s\t" % (j, i, i * j), end="") # \t == tab
print()
1.什么事字符串(str)
字符串是python提供的容器型数据类型(序列), 不可变、有序
不可变 - 不支持增删改;有序 - 支持下标操作
2)
python中的字符串是用单引号或者双引号引起来的字符集;引号里面的每个基本单元叫字符
str1 = 'hello'
print(str1)
2.字符
python中只有字符概念,没有字符类型
1)普通字符:数字、字母、普通符号,中文、日语...
str2 = "123 a and 你好!"
print(str2)
2)转义字符:
在特定的符号前加\来表示特殊功能或者特殊意义的字符,
\n - 换行(相当于回车)
' - 单引号字符(不是字符串开头/结尾标志)
" - 双引号本身(不是字符串开头/结尾标志)
\ - 反斜杠本身(让反斜杠失去转义的功能)
\t - 制表符(相当于tab)
str3 = "12'3\na"bc\no\r111"
print(str3)
阻止转义:在字符串的最前面加r/R,能够阻止字符串中所有的转义字符转义
str4 = r"\t1, \n2, \n3, 4, 5, 6, 7"
print(str4)
'\tabc\n123' # 长度:8
r'\tabc\n123' # 长度:10
3)编码字符: 在字符串中'\u四位的十六进制数'来表示一个字符
\n字符编码值的16进制数
a - 97
b - 98
print("==============")
str5 = 'abc\u1234'
print(str5)
3.1)字符编码:
"""
计算机本身只有直接存储数字的能力(存数字的二进制的补码),为了能够存储数字以外的符号,
开发人员给每个字符对应一个固定的数字用来对字符进行存储,每个字符对应的固定的数字就是字符的编码
每个字符和数字的一一对应关系就是字符编码表,常见的编码表有两种:ASCII,Unicode编码表
ASCII码表采用一个字节对字符进行编码:0-127
Unicode编码表采用2个字节对字符进行编码,包含了ASCII码表
chr函数:char(编码值) - 获取编码值对应的字符
ord函数:ord(字符) - 获取指定字符对应的编码
"""
print('---------')
print(chr(100))
a-97 b-98 c-99 d-100
print(chr(0x5e00))
print(ord('刘'), ord('畅'))
练习:查看日语所有的片假名
print("-----11-----")
for code in range(0x30A0, 0x30FF):
print(chr(code), end="")
2.字符串操作:查
1)获取字符字符
"""
语法:字符串[下标] - 获取指定下标对应的字符
说明:字符串 - 结果是字符串的表达式(字符串值、字符串变量、运算结果是字符串)
[] - 固定写法
下标 - 又叫索引,字符串确定后,字符串中的每个字符都有一个确定的下标/索引表示这个字符在字符串中的位置
python中下标有两种,位置从前往后是0 ~ 字符串长度-1;位置从后往前是 -1 ~ 字符串的长度
注意:获取单个字符的时候下标不能越界
"""
str1 = 'hello'
print(str1[-1]) # o
print(str1[0], str1[3]) # h l
str2 = '\tabc 123'
print(str2[2], str2[5]) # b 1
print(str2[100]) IndexError: string index out of range
print(str2[-20]) IndexError: string index out of range
2)获取部分字符(字符串切片)
"""
语法:字符串[开始下标:结束下标:步长] - 从开始下标获取,每次增加步长取到结束下标前为止(结束下标对应的值取不到)
说明:字符串 - 结果是字符串的表达式(字符串值、字符串变量、运算结果是字符串)
[] - 固定写法
开始下标 - 下标,整数。能取到对应的字符
结束下标 - 下标,整数。对应的字符取不到
步长 - 整数。如果步长是正数,从前往后取;如果步长是负数,从后往前取
注意:1.字符串切片的结果都是字符串
2.如果步长是正数,那么开始下标对应字符要在结束下标对应的字符的前面,才能取到值
如果步长是负数,那么开始下标对应的字符要在结束下标对应的字符的后面,才能取到值
3.切片的时候下标可以越界
"""
str3 = 'abc+123'
print(str3[0:3:1]) # abc
print(str3[0:3:2]) # ac
print('hao are you'[2])
print(str3[2:-2:1]) # c+1
print("结果:", str3[2:2:-1], '结束') # 结果: '' 结束
print(str3[0:-1:1]) # abc+12
print(str3[-1: 2:-1]) # 321+
print(str3[-1:1:-2]) # 31c
print(str3[2:100:1]) # c+123
print(str3[-100:100:1]) # abc+123
3)获取部分字符的简写
"""
1.省略步长 - 步长为1
语法:字符串[开始下标:结束下标] <==>字符串[开始下标:结束下标:1]
"""
str4 = 'hello world'
print(str4[3:-2]) # lo wor
"""
2.省略开始下标和结束下标 - 步长为正从字符串开头往后获取;步长为负从字符串最后往前获取
语法:字符串[:结束下标:步长]、字符串[:结束下标:]
"""
print(str4[:5]) # hello
print(str4[:5:-1]) #dlrow
"""
3.省略结束下标 - 步长为正,取到字符串最后一个字符;步长为负取到第一个字符为止
语法: 字符串[开始下标::步长]、字符串[开始下标:]
"""
str4 = 'hello world'
print(str4[1:]) # ello world
print(str4[1::-1]) # eh
print(str4[:]) # hello world
print(str4[::-1]) # dlrow olleh
print(str4[:-5:-1]) #dlro
4)便利字符串 - 将字符串中的字符一个一个的取出来
"""
for 变量 in 字符串:
循环体
"""
直接遍历,变量取到的就是字符
for char in str4:
print(char, end="")
间接遍历,通过遍历下标遍历字符
for index in range(11):
print(str4[index])
print("--------")
for index in range(-1, -11, -1):
print(index, str4[index])
练习:统计输入的字符串中,字母'a'出现的次数
例如:输入'how are you! fine, thanks. and you' 打印:3
str5 = "how are you! fine, thanks. and you"
i = 0
for a in str5:
if a == "a":
i += 1
print(i)
字符的对象方法
字符串.函数名()
1.capitalize() - 将字符串中的第一个字符转换成大写字母
str1 = 'abc'
print(str1.capitalize()) # Abc
print(str1)
2.设置对齐方式
"""
字符串.center(width, filchar) - 让字符串在新字符串中居中,width控制新字符串中的宽度,fillchar是填充字符
字符串.rjust(width, filchar)
字符串.ljust(width, filchar)
字符串.zfill(width) <==> 字符串.rjust(widh, '0')
"""
str1 = 'abc'
print(str1.center(7, '*'))
print(str1.ljust(7, '%'))
print(str1.rjust(7, "="))
num = 5 # 005
print(str(num).rjust(3, "0"))# py1902 py1902013 py1902101
print(str(str1.rjust(7, "=")))